@peculiar/certificates-viewer 4.2.1 → 4.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/components/attribute-certificate-viewer.js +17 -14
  2. package/components/attribute-certificate-viewer.js.map +1 -1
  3. package/components/attribute.js +53 -0
  4. package/components/attribute.js.map +1 -0
  5. package/components/certificate-viewer.js +15 -13
  6. package/components/certificate-viewer.js.map +1 -1
  7. package/components/crl-viewer.js +20 -18
  8. package/components/crl-viewer.js.map +1 -1
  9. package/components/csr-viewer.js +9 -99
  10. package/components/csr-viewer.js.map +1 -1
  11. package/components/download.js +12515 -1
  12. package/components/download.js.map +1 -1
  13. package/components/index.js +2 -0
  14. package/components/index.js.map +1 -1
  15. package/components/index2.js +3 -48
  16. package/components/index2.js.map +1 -1
  17. package/components/issuer_name.js +2 -2
  18. package/components/miscellaneous.js +41 -12555
  19. package/components/miscellaneous.js.map +1 -1
  20. package/components/peculiar-certificate-decoder.js +12 -43
  21. package/components/peculiar-certificate-decoder.js.map +1 -1
  22. package/components/peculiar-certificates-viewer.js +1 -2
  23. package/components/peculiar-certificates-viewer.js.map +1 -1
  24. package/components/peculiar-crl-viewer.js +1 -1
  25. package/components/peculiar-csr-viewer.js +1 -1
  26. package/components/pkcs10_certificate_request.js +102 -0
  27. package/components/pkcs10_certificate_request.js.map +1 -0
  28. package/components/read_file.js +110 -0
  29. package/components/read_file.js.map +1 -0
  30. package/components/subject_name.js +2 -2
  31. package/dist/cjs/{certification_request-b0d72620.js → certification_request-815ec558.js} +3271 -2805
  32. package/dist/cjs/certification_request-815ec558.js.map +1 -0
  33. package/dist/cjs/index.cjs.js +12 -5
  34. package/dist/cjs/index.cjs.js.map +1 -1
  35. package/dist/cjs/{miscellaneous-dcb93a5b.js → miscellaneous-9a573276.js} +22 -23
  36. package/dist/cjs/miscellaneous-9a573276.js.map +1 -0
  37. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +20 -20
  38. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +16 -47
  40. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
  41. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +3 -4
  42. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
  43. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -3
  44. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/pkcs10_certificate_request-0ebc0023.js +149 -0
  46. package/dist/cjs/pkcs10_certificate_request-0ebc0023.js.map +1 -0
  47. package/dist/cjs/read_file-2e22a97e.js +115 -0
  48. package/dist/cjs/read_file-2e22a97e.js.map +1 -0
  49. package/dist/cjs/{x509_certificate-ebf4cbd4.js → x509_certificate-9914b149.js} +17 -16
  50. package/dist/cjs/x509_certificate-9914b149.js.map +1 -0
  51. package/dist/cjs/x509_crl-86b6e71d.js +179 -0
  52. package/dist/cjs/x509_crl-86b6e71d.js.map +1 -0
  53. package/dist/collection/components/certificate-decoder/certificate-decoder.js +8 -8
  54. package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
  55. package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
  56. package/dist/collection/components/crl-viewer/crl-viewer.js +6 -6
  57. package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
  58. package/dist/collection/components/csr-viewer/csr-viewer.js +6 -6
  59. package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
  60. package/dist/collection/crypto/index.js +2 -2
  61. package/dist/collection/crypto/index.js.map +1 -1
  62. package/dist/collection/crypto/{csr.js → pkcs10_certificate_request.js} +14 -12
  63. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -0
  64. package/dist/collection/crypto/x509_attribute_certificate.js +13 -11
  65. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  66. package/dist/collection/crypto/x509_certificate.js +13 -11
  67. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  68. package/dist/collection/crypto/{crl.js → x509_crl.js} +14 -12
  69. package/dist/collection/crypto/x509_crl.js.map +1 -0
  70. package/dist/collection/index.js +2 -0
  71. package/dist/collection/index.js.map +1 -1
  72. package/dist/esm/{certification_request-2c054ece.js → certification_request-08b4deb8.js} +3207 -2745
  73. package/dist/esm/certification_request-08b4deb8.js.map +1 -0
  74. package/dist/esm/index.js +3 -1
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/{miscellaneous-0e98b5bc.js → miscellaneous-d4bbc6f2.js} +2 -3
  77. package/dist/esm/miscellaneous-d4bbc6f2.js.map +1 -0
  78. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +12 -12
  79. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  80. package/dist/esm/peculiar-certificate-decoder.entry.js +12 -43
  81. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  82. package/dist/esm/peculiar-certificate-viewer.entry.js +3 -4
  83. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  84. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -3
  85. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  86. package/dist/esm/pkcs10_certificate_request-3763c2af.js +146 -0
  87. package/dist/esm/pkcs10_certificate_request-3763c2af.js.map +1 -0
  88. package/dist/esm/read_file-bb0b1450.js +110 -0
  89. package/dist/esm/read_file-bb0b1450.js.map +1 -0
  90. package/dist/esm/{x509_certificate-ad568d3a.js → x509_certificate-47b4c5ee.js} +15 -14
  91. package/dist/esm/x509_certificate-47b4c5ee.js.map +1 -0
  92. package/dist/esm/x509_crl-ba76d3ed.js +176 -0
  93. package/dist/esm/x509_crl-ba76d3ed.js.map +1 -0
  94. package/dist/esm-es5/{certification_request-2c054ece.js → certification_request-08b4deb8.js} +61 -23
  95. package/dist/esm-es5/certification_request-08b4deb8.js.map +1 -0
  96. package/dist/esm-es5/index.js +1 -1
  97. package/dist/esm-es5/{miscellaneous-0e98b5bc.js → miscellaneous-d4bbc6f2.js} +2 -2
  98. package/dist/esm-es5/{miscellaneous-0e98b5bc.js.map → miscellaneous-d4bbc6f2.js.map} +1 -1
  99. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +2 -2
  100. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  101. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -9
  102. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  103. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  104. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  105. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  106. package/dist/esm-es5/pkcs10_certificate_request-3763c2af.js +19 -0
  107. package/dist/esm-es5/pkcs10_certificate_request-3763c2af.js.map +1 -0
  108. package/dist/esm-es5/read_file-bb0b1450.js +12 -0
  109. package/dist/esm-es5/read_file-bb0b1450.js.map +1 -0
  110. package/dist/esm-es5/x509_certificate-47b4c5ee.js +12 -0
  111. package/dist/esm-es5/x509_certificate-47b4c5ee.js.map +1 -0
  112. package/dist/esm-es5/x509_crl-ba76d3ed.js +19 -0
  113. package/dist/esm-es5/x509_crl-ba76d3ed.js.map +1 -0
  114. package/dist/peculiar/index.esm.js +1 -1
  115. package/dist/peculiar/{p-496449cf.system.entry.js → p-0f3787cf.system.entry.js} +2 -2
  116. package/dist/peculiar/p-1818204e.system.js +13 -0
  117. package/dist/peculiar/p-1818204e.system.js.map +1 -0
  118. package/dist/peculiar/p-25a532a3.js +12 -0
  119. package/dist/peculiar/p-25a532a3.js.map +1 -0
  120. package/dist/peculiar/p-28b4d316.system.js +5 -0
  121. package/dist/peculiar/p-30e18f2d.system.js +20 -0
  122. package/dist/peculiar/p-30e18f2d.system.js.map +1 -0
  123. package/dist/peculiar/p-31d5da39.js +12 -0
  124. package/dist/peculiar/p-31d5da39.js.map +1 -0
  125. package/dist/peculiar/{p-5cf4562f.system.entry.js → p-364df80d.system.entry.js} +16 -16
  126. package/dist/peculiar/p-364df80d.system.entry.js.map +1 -0
  127. package/dist/peculiar/p-4ee5140c.system.js +19 -0
  128. package/dist/peculiar/p-4ee5140c.system.js.map +1 -0
  129. package/dist/peculiar/p-55303453.system.js +12 -0
  130. package/dist/peculiar/p-55303453.system.js.map +1 -0
  131. package/dist/peculiar/p-6acca6ea.js +135 -0
  132. package/dist/peculiar/p-6acca6ea.js.map +1 -0
  133. package/dist/peculiar/p-78a6b479.js +19 -0
  134. package/dist/peculiar/p-78a6b479.js.map +1 -0
  135. package/dist/peculiar/p-82005297.system.entry.js +5 -0
  136. package/dist/peculiar/p-82005297.system.entry.js.map +1 -0
  137. package/dist/peculiar/p-82e4faf0.js +19 -0
  138. package/dist/peculiar/p-82e4faf0.js.map +1 -0
  139. package/dist/peculiar/p-8393399a.system.js +1 -1
  140. package/dist/peculiar/{p-c23fd001.entry.js → p-84e3e94a.entry.js} +16 -16
  141. package/dist/peculiar/p-84e3e94a.entry.js.map +1 -0
  142. package/dist/peculiar/p-8db3e1fd.system.entry.js +5 -0
  143. package/dist/peculiar/{p-00302a20.system.entry.js.map → p-8db3e1fd.system.entry.js.map} +1 -1
  144. package/dist/peculiar/p-9c8dc738.entry.js +5 -0
  145. package/dist/peculiar/{p-54b37ef9.entry.js.map → p-9c8dc738.entry.js.map} +1 -1
  146. package/dist/peculiar/{p-75166532.js → p-b0c963b1.js} +23 -23
  147. package/dist/peculiar/{p-75166532.js.map → p-b0c963b1.js.map} +1 -1
  148. package/dist/peculiar/{p-ff3ced3c.system.js → p-c10bfa6a.system.js} +45 -45
  149. package/dist/peculiar/{p-ff3ced3c.system.js.map → p-c10bfa6a.system.js.map} +1 -1
  150. package/dist/peculiar/p-c3fce3f5.entry.js +5 -0
  151. package/dist/peculiar/p-c3fce3f5.entry.js.map +1 -0
  152. package/dist/peculiar/p-df2c8826.system.js +135 -0
  153. package/dist/peculiar/p-df2c8826.system.js.map +1 -0
  154. package/dist/peculiar/{p-5f3b0fc7.entry.js → p-f8efbe93.entry.js} +3 -3
  155. package/dist/peculiar/peculiar.esm.js +1 -1
  156. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
  157. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  158. package/dist/types/components/crl-viewer/crl-viewer.d.ts +2 -2
  159. package/dist/types/components/csr-viewer/csr-viewer.d.ts +2 -2
  160. package/dist/types/crypto/index.d.ts +2 -2
  161. package/dist/types/crypto/{csr.d.ts → pkcs10_certificate_request.d.ts} +4 -5
  162. package/dist/types/crypto/x509_attribute_certificate.d.ts +3 -4
  163. package/dist/types/crypto/x509_certificate.d.ts +3 -4
  164. package/dist/types/crypto/{crl.d.ts → x509_crl.d.ts} +4 -5
  165. package/dist/types/index.d.ts +2 -0
  166. package/hydrate/index.js +67 -59
  167. package/package.json +3 -3
  168. package/dist/cjs/certification_request-b0d72620.js.map +0 -1
  169. package/dist/cjs/crl-812dd7a1.js +0 -312
  170. package/dist/cjs/crl-812dd7a1.js.map +0 -1
  171. package/dist/cjs/download-6f550549.js +0 -476
  172. package/dist/cjs/download-6f550549.js.map +0 -1
  173. package/dist/cjs/miscellaneous-dcb93a5b.js.map +0 -1
  174. package/dist/cjs/x509_certificate-ebf4cbd4.js.map +0 -1
  175. package/dist/collection/crypto/crl.js.map +0 -1
  176. package/dist/collection/crypto/csr.js.map +0 -1
  177. package/dist/esm/certification_request-2c054ece.js.map +0 -1
  178. package/dist/esm/crl-a7318483.js +0 -308
  179. package/dist/esm/crl-a7318483.js.map +0 -1
  180. package/dist/esm/download-8c128e2e.js +0 -470
  181. package/dist/esm/download-8c128e2e.js.map +0 -1
  182. package/dist/esm/miscellaneous-0e98b5bc.js.map +0 -1
  183. package/dist/esm/x509_certificate-ad568d3a.js.map +0 -1
  184. package/dist/esm-es5/certification_request-2c054ece.js.map +0 -1
  185. package/dist/esm-es5/crl-a7318483.js +0 -33
  186. package/dist/esm-es5/crl-a7318483.js.map +0 -1
  187. package/dist/esm-es5/download-8c128e2e.js +0 -43
  188. package/dist/esm-es5/download-8c128e2e.js.map +0 -1
  189. package/dist/esm-es5/x509_certificate-ad568d3a.js +0 -12
  190. package/dist/esm-es5/x509_certificate-ad568d3a.js.map +0 -1
  191. package/dist/peculiar/p-00302a20.system.entry.js +0 -5
  192. package/dist/peculiar/p-0dbc8238.system.js +0 -13
  193. package/dist/peculiar/p-0dbc8238.system.js.map +0 -1
  194. package/dist/peculiar/p-1302bd67.js +0 -97
  195. package/dist/peculiar/p-1302bd67.js.map +0 -1
  196. package/dist/peculiar/p-1f766dd5.js +0 -43
  197. package/dist/peculiar/p-1f766dd5.js.map +0 -1
  198. package/dist/peculiar/p-3d44cbd2.js +0 -12
  199. package/dist/peculiar/p-3d44cbd2.js.map +0 -1
  200. package/dist/peculiar/p-3f9af5f5.system.js +0 -97
  201. package/dist/peculiar/p-3f9af5f5.system.js.map +0 -1
  202. package/dist/peculiar/p-54b37ef9.entry.js +0 -5
  203. package/dist/peculiar/p-5c6f9a14.entry.js +0 -12
  204. package/dist/peculiar/p-5c6f9a14.entry.js.map +0 -1
  205. package/dist/peculiar/p-5cf4562f.system.entry.js.map +0 -1
  206. package/dist/peculiar/p-6680f277.system.entry.js +0 -13
  207. package/dist/peculiar/p-6680f277.system.entry.js.map +0 -1
  208. package/dist/peculiar/p-924790f5.js +0 -33
  209. package/dist/peculiar/p-924790f5.js.map +0 -1
  210. package/dist/peculiar/p-b2890eb8.system.js +0 -5
  211. package/dist/peculiar/p-c156b495.system.js +0 -33
  212. package/dist/peculiar/p-c156b495.system.js.map +0 -1
  213. package/dist/peculiar/p-c23fd001.entry.js.map +0 -1
  214. package/dist/peculiar/p-dde511c8.system.js +0 -43
  215. package/dist/peculiar/p-dde511c8.system.js.map +0 -1
  216. /package/dist/peculiar/{p-496449cf.system.entry.js.map → p-0f3787cf.system.entry.js.map} +0 -0
  217. /package/dist/peculiar/{p-b2890eb8.system.js.map → p-28b4d316.system.js.map} +0 -0
  218. /package/dist/peculiar/{p-5f3b0fc7.entry.js.map → p-f8efbe93.entry.js.map} +0 -0
@@ -1,312 +0,0 @@
1
- /*!
2
- * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
- */
4
- 'use strict';
5
-
6
- const certification_request = require('./certification_request-b0d72620.js');
7
- const download = require('./download-6f550549.js');
8
-
9
- /**
10
- * @license
11
- * Copyright (c) Peculiar Ventures, LLC.
12
- *
13
- * This source code is licensed under the MIT license found in the
14
- * LICENSE file in the root directory of this source tree.
15
- */
16
- const attributesParsers = {
17
- [certification_request.id_DomainNameBeneficiary]: certification_request.DomainNameBeneficiary,
18
- [certification_request.id_DomainNameLegalRepresentative]: certification_request.DomainNameLegalRepresentative,
19
- [certification_request.id_DomainNameOwner]: certification_request.DomainNameOwner,
20
- [certification_request.id_DomainNameTechnicalOperator]: certification_request.DomainNameTechnicalOperator,
21
- [certification_request.id_TypeRelationship]: certification_request.TypeRelationship,
22
- [certification_request.id_ActivityDescription]: certification_request.ActivityDescription,
23
- [certification_request.id_WebGDPR]: certification_request.WebGDPR,
24
- [certification_request.id_InsuranceValue]: certification_request.InsuranceValue,
25
- [certification_request.id_ValuationRanking]: certification_request.ValuationRanking,
26
- [certification_request.id_pkcs9_at_challengePassword]: certification_request.ChallengePassword,
27
- [certification_request.id_pkcs9_at_unstructuredName]: certification_request.UnstructuredName,
28
- [certification_request.id_pkcs9_at_extensionRequest]: certification_request.ExtensionRequest,
29
- };
30
- class Attribute extends certification_request.AsnData {
31
- getAsnExtnValue() {
32
- return this.asn.values[0];
33
- }
34
- constructor(raw) {
35
- super(raw, certification_request.Attribute);
36
- const asnExtnValue = this.getAsnExtnValue();
37
- try {
38
- const target = attributesParsers[this.asn.type];
39
- if (target) {
40
- this.value = certification_request.AsnParser.parse(asnExtnValue, target);
41
- }
42
- else {
43
- console.warn(`Didn't detect parser for "${this.asn.type}" attribute.`);
44
- this.value = download.Convert_1.ToHex(asnExtnValue);
45
- }
46
- }
47
- catch (error) {
48
- console.error(`Error parse "${this.asn.type}" attribute:`, error.message);
49
- this.value = download.Convert_1.ToHex(asnExtnValue);
50
- }
51
- }
52
- }
53
-
54
- /**
55
- * @license
56
- * Copyright (c) Peculiar Ventures, LLC.
57
- *
58
- * This source code is licensed under the MIT license found in the
59
- * LICENSE file in the root directory of this source tree.
60
- */
61
- class X509AttributeCertificate extends certification_request.AsnData {
62
- constructor(raw) {
63
- var _a;
64
- super(certification_request.certificateRawToBuffer(raw), certification_request.AttributeCertificate);
65
- this.thumbprints = {};
66
- this.type = 'X.509 Attribute Certificate';
67
- const { acinfo } = this.asn;
68
- this.serialNumber = download.Convert_1.ToHex(acinfo.serialNumber);
69
- this.version = acinfo.version;
70
- const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;
71
- if (!notBefore) {
72
- throw new Error("Cannot get 'notBefore' value");
73
- }
74
- this.notBefore = notBefore;
75
- const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;
76
- if (!notAfter) {
77
- throw new Error("Cannot get 'notAfter' value");
78
- }
79
- this.notAfter = notAfter;
80
- this.validity = certification_request.dateDiff(this.notBefore, this.notAfter);
81
- this.issuer = acinfo.issuer.v1Form || ((_a = acinfo.issuer.v2Form) === null || _a === void 0 ? void 0 : _a.issuerName);
82
- this.holder = acinfo.holder;
83
- }
84
- get signature() {
85
- const { signatureValue, signatureAlgorithm } = this.asn;
86
- return {
87
- value: signatureValue,
88
- algorithm: signatureAlgorithm.algorithm,
89
- };
90
- }
91
- parseExtensions() {
92
- const { acinfo } = this.asn;
93
- if (acinfo.extensions) {
94
- this.extensions = acinfo.extensions
95
- .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
96
- }
97
- }
98
- parseAttributes() {
99
- const { acinfo } = this.asn;
100
- if (acinfo.attributes) {
101
- this.attributes = acinfo.attributes
102
- .map((e) => new Attribute(certification_request.AsnConvert.serialize(e)));
103
- }
104
- }
105
- async getThumbprint(algorithm = 'SHA-1') {
106
- try {
107
- const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
108
- if (thumbprint) {
109
- this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
110
- }
111
- }
112
- catch (error) {
113
- console.error('Error thumbprint get:', error);
114
- }
115
- }
116
- exportAsBase64() {
117
- return download.Convert_1.ToBase64(this.raw);
118
- }
119
- exportAsHexFormatted() {
120
- return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
121
- }
122
- exportAsPemFormatted() {
123
- return `-----BEGIN ATTRIBUTE CERTIFICATE-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END ATTRIBUTE CERTIFICATE-----`;
124
- }
125
- get commonName() {
126
- return `attribute-certificate-${this.thumbprints['SHA-1']}`;
127
- }
128
- downloadAsPEM(name) {
129
- download.Download.attrCert.asPEM(this.exportAsPemFormatted(), name || this.commonName);
130
- }
131
- downloadAsDER(name) {
132
- download.Download.attrCert.asDER(this.exportAsHexFormatted(), name || this.commonName);
133
- }
134
- }
135
-
136
- /**
137
- * @license
138
- * Copyright (c) Peculiar Ventures, LLC.
139
- *
140
- * This source code is licensed under the MIT license found in the
141
- * LICENSE file in the root directory of this source tree.
142
- */
143
- class CSR extends certification_request.AsnData {
144
- constructor(raw) {
145
- super(certification_request.certificateRawToBuffer(raw), certification_request.CertificationRequest);
146
- this.thumbprints = {};
147
- this.type = 'PKCS#10 Certificate Request';
148
- const { certificationRequestInfo } = this.asn;
149
- this.subject = new certification_request.Name(certificationRequestInfo.subject).toJSON();
150
- this.version = certificationRequestInfo.version;
151
- }
152
- get publicKey() {
153
- const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;
154
- let params;
155
- if (algorithm.algorithm === certification_request.id_ecPublicKey && algorithm.parameters) {
156
- params = certification_request.AsnConvert.parse(algorithm.parameters, certification_request.ECParameters);
157
- }
158
- if (algorithm.algorithm === certification_request.id_rsaEncryption) {
159
- params = certification_request.AsnConvert.parse(subjectPublicKey, certification_request.RSAPublicKey);
160
- }
161
- const spki = certification_request.AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);
162
- return {
163
- params,
164
- value: spki,
165
- algorithm: algorithm.algorithm,
166
- };
167
- }
168
- get signature() {
169
- const { signature, signatureAlgorithm } = this.asn;
170
- return {
171
- value: signature,
172
- algorithm: signatureAlgorithm.algorithm,
173
- };
174
- }
175
- get commonName() {
176
- if (!this.subject) {
177
- return '';
178
- }
179
- for (let i = 0; i < this.subject.length; i += 1) {
180
- const name = this.subject[i];
181
- if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
182
- return name.value;
183
- }
184
- }
185
- return '';
186
- }
187
- async getThumbprint(algorithm = 'SHA-1') {
188
- try {
189
- const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
190
- if (thumbprint) {
191
- this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
192
- }
193
- }
194
- catch (error) {
195
- console.error('Error thumbprint get:', error);
196
- }
197
- }
198
- parseAttributes() {
199
- const { certificationRequestInfo } = this.asn;
200
- if (certificationRequestInfo.attributes) {
201
- this.attributes = certificationRequestInfo.attributes
202
- .map((e) => new Attribute(certification_request.AsnConvert.serialize(e)));
203
- const extensionRequestAttribute = this.attributes.find((attribute) => attribute.asn.type === certification_request.id_pkcs9_at_extensionRequest);
204
- if (extensionRequestAttribute) {
205
- this.extensions = extensionRequestAttribute.value
206
- .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
207
- }
208
- }
209
- }
210
- exportAsBase64() {
211
- return download.Convert_1.ToBase64(this.raw);
212
- }
213
- exportAsHexFormatted() {
214
- return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
215
- }
216
- exportAsPemFormatted() {
217
- return `-----BEGIN CERTIFICATE REQUEST-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END CERTIFICATE REQUEST-----`;
218
- }
219
- downloadAsPEM(name) {
220
- download.Download.csr.asPEM(this.exportAsPemFormatted(), name || this.commonName);
221
- }
222
- downloadAsDER(name) {
223
- download.Download.csr.asDER(this.exportAsHexFormatted(), name || this.commonName);
224
- }
225
- }
226
-
227
- /**
228
- * @license
229
- * Copyright (c) Peculiar Ventures, LLC.
230
- *
231
- * This source code is licensed under the MIT license found in the
232
- * LICENSE file in the root directory of this source tree.
233
- */
234
- class CRL extends certification_request.AsnData {
235
- constructor(raw) {
236
- super(certification_request.certificateRawToBuffer(raw), certification_request.CertificateList);
237
- this.thumbprints = {};
238
- this.type = 'X.509 Certificate Revocation List';
239
- const { tbsCertList } = this.asn;
240
- this.issuer = new certification_request.Name(tbsCertList.issuer).toJSON();
241
- this.version = tbsCertList.version + 1;
242
- this.lastUpdate = tbsCertList.thisUpdate.getTime();
243
- this.nextUpdate = tbsCertList.nextUpdate.getTime();
244
- this.revokedCertificates = (tbsCertList.revokedCertificates || [])
245
- .map((revokedCertificate) => {
246
- var _a;
247
- return ({
248
- revocationDate: revokedCertificate.revocationDate,
249
- userCertificate: revokedCertificate.userCertificate,
250
- crlEntryExtensions: (_a = revokedCertificate.crlEntryExtensions) === null || _a === void 0 ? void 0 : _a.map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e))),
251
- });
252
- });
253
- }
254
- async getThumbprint(algorithm = 'SHA-1') {
255
- try {
256
- const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
257
- if (thumbprint) {
258
- this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
259
- }
260
- }
261
- catch (error) {
262
- console.error('Error thumbprint get:', error);
263
- }
264
- }
265
- get signature() {
266
- const { signature, signatureAlgorithm } = this.asn;
267
- return {
268
- value: signature,
269
- algorithm: signatureAlgorithm.algorithm,
270
- };
271
- }
272
- get commonName() {
273
- if (!this.issuer) {
274
- return '';
275
- }
276
- for (let i = 0; i < this.issuer.length; i += 1) {
277
- const name = this.issuer[i];
278
- if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
279
- return name.value;
280
- }
281
- }
282
- return '';
283
- }
284
- parseExtensions() {
285
- const { tbsCertList } = this.asn;
286
- if (tbsCertList.crlExtensions) {
287
- this.extensions = tbsCertList.crlExtensions
288
- .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
289
- }
290
- }
291
- exportAsBase64() {
292
- return download.Convert_1.ToBase64(this.raw);
293
- }
294
- exportAsHexFormatted() {
295
- return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
296
- }
297
- exportAsPemFormatted() {
298
- return `-----BEGIN X509 CRL-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END X509 CRL-----`;
299
- }
300
- downloadAsPEM(name) {
301
- download.Download.crl.asPEM(this.exportAsPemFormatted(), name || this.commonName);
302
- }
303
- downloadAsDER(name) {
304
- download.Download.crl.asDER(this.exportAsHexFormatted(), name || this.commonName);
305
- }
306
- }
307
-
308
- exports.CRL = CRL;
309
- exports.CSR = CSR;
310
- exports.X509AttributeCertificate = X509AttributeCertificate;
311
-
312
- //# sourceMappingURL=crl-812dd7a1.js.map
@@ -1 +0,0 @@
1
- {"file":"crl-812dd7a1.js","mappings":";;;;;;;;AAAA;;;;;;;AAoDA,MAAM,iBAAiB,GAAG;IACxB,CAACA,8CAAwB,GAAGC,2CAAqB;IACjD,CAACC,sDAAgC,GAAGC,mDAA6B;IACjE,CAACC,wCAAkB,GAAGC,qCAAe;IACrC,CAACC,oDAA8B,GAAGC,iDAA2B;IAC7D,CAACC,yCAAmB,GAAGC,sCAAgB;IACvC,CAACC,4CAAsB,GAAGC,yCAAmB;IAC7C,CAACC,gCAAU,GAAGC,6BAAO;IACrB,CAACC,uCAAiB,GAAGC,oCAAc;IACnC,CAACC,yCAAmB,GAAGC,sCAAgB;IACvC,CAACC,mDAA6B,GAAGC,uCAAiB;IAClD,CAACC,kDAA4B,GAAGC,sCAAgB;IAChD,CAACC,kDAA4B,GAAGC,sCAAgB;CACjD,CAAC;MAKW,SAAqC,SAAQC,6BAAqB;IAGrE,eAAe;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC3B;IAED,YAAY,GAAiB;QAC3B,KAAK,CAAC,GAAG,EAAEC,+BAAY,CAAC,CAAC;QAEzB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI;YACF,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,KAAK,GAAGC,+BAAS,CAAC,KAAK,CAAI,YAAY,EAAE,MAAM,CAAC,CAAC;aACvD;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC;gBAEvE,IAAI,CAAC,KAAK,GAAGC,kBAAO,CAAC,KAAK,CAAC,YAAY,CAAM,CAAC;aAC/C;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,IAAI,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAE1E,IAAI,CAAC,KAAK,GAAGA,kBAAO,CAAC,KAAK,CAAC,YAAY,CAAM,CAAC;SAC/C;KACF;;;ACjGH;;;;;;;MA8Ba,wBAAyB,SAAQH,6BAA6B;IAuBzE,YAAY,GAAW;;QACrB,KAAK,CAACI,4CAAsB,CAAC,GAAG,CAAC,EAAEC,0CAAoB,CAAC,CAAC;QATpD,gBAAW,GAA2B,EAAE,CAAC;QAMzC,SAAI,GAAW,6BAA6B,CAAC;QAKlD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,IAAI,CAAC,YAAY,GAAGF,kBAAO,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC;QAE9D,IAAI,CAAC,SAAS,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,YAAY,CAAC;QAE5D,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAGG,8BAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,KAAI,MAAA,MAAM,CAAC,MAAM,CAAC,MAAM,0CAAE,UAAU,CAAA,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KAC7B;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAExD,OAAO;YACL,KAAK,EAAE,cAAc;YACrB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC,CAAC;KACH;IAEM,eAAe;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;iBAChC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAIC,+BAAS,CAACC,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;KACF;IAEM,eAAe;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU;iBAChC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAACA,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;KACF;IAEM,MAAM,aAAa,CACxB,YAAoB,OAAO;QAE3B,IAAI;YACF,MAAM,UAAU,GAAG,MAAMC,8CAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGN,kBAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;IAEM,cAAc;QACnB,OAAOA,kBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnC;IAEM,oBAAoB;QACzB,OAAOO,+BAAS,CAACP,kBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAEM,oBAAoB;QACzB,OAAO,0CAA0CQ,kCAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,uCAAuC,CAAC;KAC7H;IAED,IAAW,UAAU;QACnB,OAAO,yBAAyB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;KAC7D;IAEM,aAAa,CAAC,IAAa;QAChCC,iBAAQ,CAAC,QAAQ,CAAC,KAAK,CACrB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;IAEM,aAAa,CAAC,IAAa;QAChCA,iBAAQ,CAAC,QAAQ,CAAC,KAAK,CACrB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;;;ACtJH;;;;;;;MA0Ca,GAAI,SAAQZ,6BAA6B;IAapD,YAAY,GAAW;QACrB,KAAK,CAACI,4CAAsB,CAAC,GAAG,CAAC,EAAES,0CAAoB,CAAC,CAAC;QALpD,gBAAW,GAA2B,EAAE,CAAC;QAEzC,SAAI,GAAW,6BAA6B,CAAC;QAKlD,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE9C,IAAI,CAAC,OAAO,GAAG,IAAIC,0BAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,wBAAwB,CAAC,OAAO,CAAC;KACjD;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,gBAAgB,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC;QACxF,IAAI,MAAM,CAAC;QAEX,IAAI,SAAS,CAAC,SAAS,KAAKC,oCAAc,IAAI,SAAS,CAAC,UAAU,EAAE;YAClE,MAAM,GAAGP,gCAAU,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAEQ,kCAAY,CAAC,CAAC;SAC/D;QAED,IAAI,SAAS,CAAC,SAAS,KAAKC,sCAAgB,EAAE;YAC5C,MAAM,GAAGT,gCAAU,CAAC,KAAK,CAAC,gBAAgB,EAAEU,kCAAY,CAAC,CAAC;SAC3D;QAED,MAAM,IAAI,GAAGV,gCAAU,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;QAEnF,OAAO;YACL,MAAM;YACN,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,SAAS,CAAC,SAAS;SAC/B,CAAC;KACH;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC,CAAC;KACH;IAED,IAAW,UAAU;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,EAAE,CAAC;SACX;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAE7B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;gBAC/E,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;SACF;QAED,OAAO,EAAE,CAAC;KACX;IAEM,MAAM,aAAa,CACxB,YAAoB,OAAO;QAE3B,IAAI;YACF,MAAM,UAAU,GAAG,MAAMC,8CAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGN,kBAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;IAEM,eAAe;QACpB,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAE9C,IAAI,wBAAwB,CAAC,UAAU,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,wBAAwB,CAAC,UAAU;iBAClD,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,SAAS,CAACK,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,MAAM,yBAAyB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACpD,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,KAAKV,kDAA4B,CACpC,CAAC;YAEjC,IAAI,yBAAyB,EAAE;gBAC7B,IAAI,CAAC,UAAU,GAAG,yBAAyB,CAAC,KAAK;qBAC9C,GAAG,CAAC,CAAC,CAAC,KAAK,IAAIS,+BAAS,CAACC,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;SACF;KACF;IAEM,cAAc;QACnB,OAAOL,kBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnC;IAEM,oBAAoB;QACzB,OAAOO,+BAAS,CAACP,kBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAEM,oBAAoB;QACzB,OAAO,wCAAwCQ,kCAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,qCAAqC,CAAC;KACzH;IAEM,aAAa,CAAC,IAAa;QAChCC,iBAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;IAEM,aAAa,CAAC,IAAa;QAChCA,iBAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;;;ACtKH;;;;;;;MAkCa,GAAI,SAAQZ,6BAAwB;IAiB/C,YAAY,GAAW;QACrB,KAAK,CAACI,4CAAsB,CAAC,GAAG,CAAC,EAAEe,qCAAe,CAAC,CAAC;QAL/C,gBAAW,GAA2B,EAAE,CAAC;QAEzC,SAAI,GAAW,mCAAmC,CAAC;QAKxD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEjC,IAAI,CAAC,MAAM,GAAG,IAAIL,0BAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QAEnD,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,CAAC,mBAAmB,IAAI,EAAE;aAC9D,GAAG,CAAC,CAAC,kBAAkB;;YAAK,QAAC;gBAC5B,cAAc,EAAE,kBAAkB,CAAC,cAAc;gBACjD,eAAe,EAAE,kBAAkB,CAAC,eAAe;gBACnD,kBAAkB,EAAE,MAAA,kBAAkB,CAAC,kBAAkB,0CACrD,GAAG,CAAC,CAAC,CAAC,KAAK,IAAIP,+BAAS,CAACC,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD,EAAC;SAAA,CAAC,CAAC;KACP;IAEM,MAAM,aAAa,CACxB,YAAoB,OAAO;QAE3B,IAAI;YACF,MAAM,UAAU,GAAG,MAAMC,8CAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAEvE,IAAI,UAAU,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAGN,kBAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;aACzD;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;SAC/C;KACF;IAED,IAAW,SAAS;QAClB,MAAM,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEnD,OAAO;YACL,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,kBAAkB,CAAC,SAAS;SACxC,CAAC;KACH;IAED,IAAW,UAAU;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO,EAAE,CAAC;SACX;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;YAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE5B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,IAAI,IAAI,CAAC,SAAS,KAAK,GAAG,EAAE;gBAC/E,OAAO,IAAI,CAAC,KAAK,CAAC;aACnB;SACF;QAED,OAAO,EAAE,CAAC;KACX;IAEM,eAAe;QACpB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEjC,IAAI,WAAW,CAAC,aAAa,EAAE;YAC7B,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,aAAa;iBACxC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAII,+BAAS,CAACC,gCAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvD;KACF;IAEM,cAAc;QACnB,OAAOL,kBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnC;IAEM,oBAAoB;QACzB,OAAOO,+BAAS,CAACP,kBAAO,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3C;IAEM,oBAAoB;QACzB,OAAO,6BAA6BQ,kCAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,0BAA0B,CAAC;KACnG;IAEM,aAAa,CAAC,IAAa;QAChCC,iBAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;IAEM,aAAa,CAAC,IAAa;QAChCA,iBAAQ,CAAC,GAAG,CAAC,KAAK,CAChB,IAAI,CAAC,oBAAoB,EAAE,EAC3B,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB,CAAC;KACH;;;;;;;","names":["id_DomainNameBeneficiary","DomainNameBeneficiary","id_DomainNameLegalRepresentative","DomainNameLegalRepresentative","id_DomainNameOwner","DomainNameOwner","id_DomainNameTechnicalOperator","DomainNameTechnicalOperator","id_TypeRelationship","TypeRelationship","id_ActivityDescription","ActivityDescription","id_WebGDPR","WebGDPR","id_InsuranceValue","InsuranceValue","id_ValuationRanking","ValuationRanking","id_pkcs9_at_challengePassword","ChallengePassword","id_pkcs9_at_unstructuredName","UnstructuredName","id_pkcs9_at_extensionRequest","ExtensionRequest","AsnData","AsnAttribute","AsnParser","Convert","certificateRawToBuffer","AttributeCertificate","dateDiff","Extension","AsnConvert","getCertificateThumbprint","hexFormat","base64Format","Download","CertificationRequest","Name","id_ecPublicKey","ECParameters","id_rsaEncryption","RSAPublicKey","CertificateList"],"sources":["src/crypto/attribute.ts","src/crypto/x509_attribute_certificate.ts","src/crypto/csr.ts","src/crypto/crl.ts"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Convert } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Attribute as AsnAttribute } from '@peculiar/asn1-x509';\nimport {\n id_DomainNameBeneficiary,\n DomainNameBeneficiary,\n\n id_DomainNameLegalRepresentative,\n DomainNameLegalRepresentative,\n\n id_DomainNameOwner,\n DomainNameOwner,\n\n id_DomainNameTechnicalOperator,\n DomainNameTechnicalOperator,\n\n id_TypeRelationship,\n TypeRelationship,\n\n id_ActivityDescription,\n ActivityDescription,\n\n id_WebGDPR,\n WebGDPR,\n\n id_InsuranceValue,\n InsuranceValue,\n\n id_ValuationRanking,\n ValuationRanking,\n} from '@peculiar/asn1-ntqwac';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n\n id_pkcs9_at_challengePassword,\n ChallengePassword,\n\n id_pkcs9_at_unstructuredName,\n UnstructuredName,\n} from '@peculiar/asn1-pkcs9';\n\nimport { AsnData } from './asn_data';\n\nconst attributesParsers = {\n [id_DomainNameBeneficiary]: DomainNameBeneficiary,\n [id_DomainNameLegalRepresentative]: DomainNameLegalRepresentative,\n [id_DomainNameOwner]: DomainNameOwner,\n [id_DomainNameTechnicalOperator]: DomainNameTechnicalOperator,\n [id_TypeRelationship]: TypeRelationship,\n [id_ActivityDescription]: ActivityDescription,\n [id_WebGDPR]: WebGDPR,\n [id_InsuranceValue]: InsuranceValue,\n [id_ValuationRanking]: ValuationRanking,\n [id_pkcs9_at_challengePassword]: ChallengePassword,\n [id_pkcs9_at_unstructuredName]: UnstructuredName,\n [id_pkcs9_at_extensionRequest]: ExtensionRequest,\n};\n\ntype TAttributeKeys = keyof typeof attributesParsers;\nexport type TAttributeValue = InstanceType<typeof attributesParsers[TAttributeKeys]> | string;\n\nexport class Attribute<T extends TAttributeValue> extends AsnData<AsnAttribute> {\n public readonly value: T;\n\n private getAsnExtnValue() {\n return this.asn.values[0];\n }\n\n constructor(raw: BufferSource) {\n super(raw, AsnAttribute);\n\n const asnExtnValue = this.getAsnExtnValue();\n\n try {\n const target = attributesParsers[this.asn.type];\n\n if (target) {\n this.value = AsnParser.parse<T>(asnExtnValue, target);\n } else {\n console.warn(`Didn't detect parser for \"${this.asn.type}\" attribute.`);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n } catch (error) {\n console.error(`Error parse \"${this.asn.type}\" attribute:`, error.message);\n\n this.value = Convert.ToHex(asnExtnValue) as T;\n }\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport type { GeneralName } from '@peculiar/asn1-x509';\nimport { AttributeCertificate, Holder } from '@peculiar/asn1-x509-attr';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Extension, TExtensionValue } from './extension';\nimport { Attribute, TAttributeValue } from './attribute';\nimport {\n certificateRawToBuffer,\n hexFormat,\n base64Format,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport class X509AttributeCertificate extends AsnData<AttributeCertificate> {\n public readonly serialNumber: string;\n\n public readonly version: number;\n\n public readonly notBefore: Date;\n\n public readonly notAfter: Date;\n\n public readonly validity: string;\n\n public extensions: Extension<TExtensionValue>[];\n\n public attributes: Attribute<TAttributeValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public readonly issuer: GeneralName[];\n\n public holder: Holder;\n\n public type: string = 'X.509 Attribute Certificate';\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), AttributeCertificate);\n\n const { acinfo } = this.asn;\n\n this.serialNumber = Convert.ToHex(acinfo.serialNumber);\n this.version = acinfo.version;\n\n const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;\n\n if (!notAfter) {\n throw new Error(\"Cannot get 'notAfter' value\");\n }\n\n this.notAfter = notAfter;\n this.validity = dateDiff(this.notBefore, this.notAfter);\n this.issuer = acinfo.issuer.v1Form || acinfo.issuer.v2Form?.issuerName;\n this.holder = acinfo.holder;\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n\n return {\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public parseExtensions() {\n const { acinfo } = this.asn;\n\n if (acinfo.extensions) {\n this.extensions = acinfo.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n public parseAttributes() {\n const { acinfo } = this.asn;\n\n if (acinfo.attributes) {\n this.attributes = acinfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n }\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public exportAsBase64() {\n return Convert.ToBase64(this.raw);\n }\n\n public exportAsHexFormatted() {\n return hexFormat(Convert.ToHex(this.raw));\n }\n\n public exportAsPemFormatted() {\n return `-----BEGIN ATTRIBUTE CERTIFICATE-----\\n${base64Format(this.exportAsBase64())}\\n-----END ATTRIBUTE CERTIFICATE-----`;\n }\n\n public get commonName(): string {\n return `attribute-certificate-${this.thumbprints['SHA-1']}`;\n }\n\n public downloadAsPEM(name?: string) {\n Download.attrCert.asPEM(\n this.exportAsPemFormatted(),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.attrCert.asDER(\n this.exportAsHexFormatted(),\n name || this.commonName,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport { CertificationRequest } from '@peculiar/asn1-csr';\nimport {\n id_pkcs9_at_extensionRequest,\n ExtensionRequest,\n} from '@peculiar/asn1-pkcs9';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport { Attribute, TAttributeValue } from './attribute';\nimport { Extension, TExtensionValue } from './extension';\nimport {\n certificateRawToBuffer,\n hexFormat,\n base64Format,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\ninterface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey;\n}\n\nexport class CSR extends AsnData<CertificationRequest> {\n public readonly subject: INameJSON[];\n\n public readonly version: number;\n\n public attributes: Attribute<TAttributeValue>[];\n\n public extensions: Extension<TExtensionValue>[];\n\n public thumbprints: Record<string, string> = {};\n\n public type: string = 'PKCS#10 Certificate Request';\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificationRequest);\n\n const { certificationRequestInfo } = this.asn;\n\n this.subject = new Name(certificationRequestInfo.subject).toJSON();\n this.version = certificationRequestInfo.version;\n }\n\n public get publicKey(): IPublicKey {\n const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;\n let params;\n\n if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {\n params = AsnConvert.parse(algorithm.parameters, ECParameters);\n }\n\n if (algorithm.algorithm === id_rsaEncryption) {\n params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);\n }\n\n const spki = AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.subject) {\n return '';\n }\n\n for (let i = 0; i < this.subject.length; i += 1) {\n const name = this.subject[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public parseAttributes() {\n const { certificationRequestInfo } = this.asn;\n\n if (certificationRequestInfo.attributes) {\n this.attributes = certificationRequestInfo.attributes\n .map((e) => new Attribute(AsnConvert.serialize(e)));\n\n const extensionRequestAttribute = this.attributes.find(\n (attribute) => attribute.asn.type === id_pkcs9_at_extensionRequest,\n ) as Attribute<ExtensionRequest>;\n\n if (extensionRequestAttribute) {\n this.extensions = extensionRequestAttribute.value\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n }\n\n public exportAsBase64() {\n return Convert.ToBase64(this.raw);\n }\n\n public exportAsHexFormatted() {\n return hexFormat(Convert.ToHex(this.raw));\n }\n\n public exportAsPemFormatted() {\n return `-----BEGIN CERTIFICATE REQUEST-----\\n${base64Format(this.exportAsBase64())}\\n-----END CERTIFICATE REQUEST-----`;\n }\n\n public downloadAsPEM(name?: string) {\n Download.csr.asPEM(\n this.exportAsPemFormatted(),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.csr.asDER(\n this.exportAsHexFormatted(),\n name || this.commonName,\n );\n }\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { AsnConvert } from '@peculiar/asn1-schema';\nimport { CertificateList, Time } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { Download } from '../utils';\n\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { Name, INameJSON } from './name';\nimport {\n certificateRawToBuffer,\n hexFormat,\n base64Format,\n getCertificateThumbprint,\n} from './utils';\n\ninterface ISignature {\n algorithm: string;\n value: BufferSource;\n}\n\nexport interface IRevokedCertificate {\n userCertificate: ArrayBuffer;\n revocationDate: Time;\n crlEntryExtensions?: Extension<TExtensionValue>[];\n}\n\nexport class CRL extends AsnData<CertificateList> {\n public readonly issuer: INameJSON[];\n\n public readonly version: number;\n\n public readonly lastUpdate: Date;\n\n public readonly nextUpdate: Date;\n\n public extensions: Extension<TExtensionValue>[];\n\n public revokedCertificates: IRevokedCertificate[];\n\n public thumbprints: Record<string, string> = {};\n\n public type: string = 'X.509 Certificate Revocation List';\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), CertificateList);\n\n const { tbsCertList } = this.asn;\n\n this.issuer = new Name(tbsCertList.issuer).toJSON();\n this.version = tbsCertList.version + 1;\n this.lastUpdate = tbsCertList.thisUpdate.getTime();\n this.nextUpdate = tbsCertList.nextUpdate.getTime();\n\n this.revokedCertificates = (tbsCertList.revokedCertificates || [])\n .map((revokedCertificate) => ({\n revocationDate: revokedCertificate.revocationDate,\n userCertificate: revokedCertificate.userCertificate,\n crlEntryExtensions: revokedCertificate.crlEntryExtensions\n ?.map((e) => new Extension(AsnConvert.serialize(e))),\n }));\n }\n\n public async getThumbprint(\n algorithm: string = 'SHA-1',\n ): Promise<void> {\n try {\n const thumbprint = await getCertificateThumbprint(algorithm, this.raw);\n\n if (thumbprint) {\n this.thumbprints[algorithm] = Convert.ToHex(thumbprint);\n }\n } catch (error) {\n console.error('Error thumbprint get:', error);\n }\n }\n\n public get signature(): ISignature {\n const { signature, signatureAlgorithm } = this.asn;\n\n return {\n value: signature,\n algorithm: signatureAlgorithm.algorithm,\n };\n }\n\n public get commonName(): string {\n if (!this.issuer) {\n return '';\n }\n\n for (let i = 0; i < this.issuer.length; i += 1) {\n const name = this.issuer[i];\n\n if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public parseExtensions() {\n const { tbsCertList } = this.asn;\n\n if (tbsCertList.crlExtensions) {\n this.extensions = tbsCertList.crlExtensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n public exportAsBase64() {\n return Convert.ToBase64(this.raw);\n }\n\n public exportAsHexFormatted() {\n return hexFormat(Convert.ToHex(this.raw));\n }\n\n public exportAsPemFormatted() {\n return `-----BEGIN X509 CRL-----\\n${base64Format(this.exportAsBase64())}\\n-----END X509 CRL-----`;\n }\n\n public downloadAsPEM(name?: string) {\n Download.crl.asPEM(\n this.exportAsPemFormatted(),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.crl.asDER(\n this.exportAsHexFormatted(),\n name || this.commonName,\n );\n }\n}\n"],"version":3}