@peculiar/certificates-viewer 4.2.1 → 4.3.0

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 (227) 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 +12518 -9
  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 +17 -105
  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-314859bb.js} +3266 -2810
  32. package/dist/cjs/certification_request-314859bb.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-f1bc3a4b.js} +22 -23
  36. package/dist/cjs/miscellaneous-f1bc3a4b.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 +20 -108
  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-93c66ce7.js +149 -0
  46. package/dist/cjs/pkcs10_certificate_request-93c66ce7.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-0776e3ec.js} +17 -16
  50. package/dist/cjs/x509_certificate-0776e3ec.js.map +1 -0
  51. package/dist/cjs/x509_crl-5326d209.js +179 -0
  52. package/dist/cjs/x509_crl-5326d209.js.map +1 -0
  53. package/dist/collection/components/certificate-decoder/certificate-decoder.js +15 -72
  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/constants/oids.js +3 -0
  61. package/dist/collection/constants/oids.js.map +1 -1
  62. package/dist/collection/crypto/index.js +2 -2
  63. package/dist/collection/crypto/index.js.map +1 -1
  64. package/dist/collection/crypto/{csr.js → pkcs10_certificate_request.js} +14 -12
  65. package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -0
  66. package/dist/collection/crypto/x509_attribute_certificate.js +13 -11
  67. package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
  68. package/dist/collection/crypto/x509_certificate.js +13 -11
  69. package/dist/collection/crypto/x509_certificate.js.map +1 -1
  70. package/dist/collection/crypto/{crl.js → x509_crl.js} +14 -12
  71. package/dist/collection/crypto/x509_crl.js.map +1 -0
  72. package/dist/collection/index.js +2 -0
  73. package/dist/collection/index.js.map +1 -1
  74. package/dist/collection/utils/download.js +8 -8
  75. package/dist/collection/utils/download.js.map +1 -1
  76. package/dist/collection/utils/validator.js +0 -8
  77. package/dist/collection/utils/validator.js.map +1 -1
  78. package/dist/esm/{certification_request-2c054ece.js → certification_request-b531916a.js} +3202 -2745
  79. package/dist/esm/certification_request-b531916a.js.map +1 -0
  80. package/dist/esm/index.js +3 -1
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -3
  83. package/dist/esm/miscellaneous-7fe71e3f.js.map +1 -0
  84. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +12 -12
  85. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  86. package/dist/esm/peculiar-certificate-decoder.entry.js +18 -106
  87. package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
  88. package/dist/esm/peculiar-certificate-viewer.entry.js +3 -4
  89. package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
  90. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -3
  91. package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
  92. package/dist/esm/pkcs10_certificate_request-cca2ca68.js +146 -0
  93. package/dist/esm/pkcs10_certificate_request-cca2ca68.js.map +1 -0
  94. package/dist/esm/read_file-bb0b1450.js +110 -0
  95. package/dist/esm/read_file-bb0b1450.js.map +1 -0
  96. package/dist/esm/{x509_certificate-ad568d3a.js → x509_certificate-050175dd.js} +15 -14
  97. package/dist/esm/x509_certificate-050175dd.js.map +1 -0
  98. package/dist/esm/x509_crl-c497f907.js +176 -0
  99. package/dist/esm/x509_crl-c497f907.js.map +1 -0
  100. package/dist/esm-es5/{certification_request-2c054ece.js → certification_request-b531916a.js} +61 -23
  101. package/dist/esm-es5/certification_request-b531916a.js.map +1 -0
  102. package/dist/esm-es5/index.js +1 -1
  103. package/dist/esm-es5/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -2
  104. package/dist/esm-es5/{miscellaneous-0e98b5bc.js.map → miscellaneous-7fe71e3f.js.map} +1 -1
  105. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +2 -2
  106. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  107. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -9
  108. package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
  109. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
  110. package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
  111. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  112. package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js +19 -0
  113. package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js.map +1 -0
  114. package/dist/esm-es5/read_file-bb0b1450.js +12 -0
  115. package/dist/esm-es5/read_file-bb0b1450.js.map +1 -0
  116. package/dist/esm-es5/x509_certificate-050175dd.js +12 -0
  117. package/dist/esm-es5/x509_certificate-050175dd.js.map +1 -0
  118. package/dist/esm-es5/x509_crl-c497f907.js +19 -0
  119. package/dist/esm-es5/x509_crl-c497f907.js.map +1 -0
  120. package/dist/peculiar/index.esm.js +1 -1
  121. package/dist/peculiar/p-05af3b74.system.js +13 -0
  122. package/dist/peculiar/p-05af3b74.system.js.map +1 -0
  123. package/dist/peculiar/p-163a3052.system.js +20 -0
  124. package/dist/peculiar/p-163a3052.system.js.map +1 -0
  125. package/dist/peculiar/p-25a532a3.js +12 -0
  126. package/dist/peculiar/p-25a532a3.js.map +1 -0
  127. package/dist/peculiar/{p-5cf4562f.system.entry.js → p-2d9c40d6.system.entry.js} +16 -16
  128. package/dist/peculiar/p-2d9c40d6.system.entry.js.map +1 -0
  129. package/dist/peculiar/p-494d26fb.entry.js +5 -0
  130. package/dist/peculiar/p-494d26fb.entry.js.map +1 -0
  131. package/dist/peculiar/{p-ff3ced3c.system.js → p-52f13c4a.system.js} +45 -45
  132. package/dist/peculiar/{p-ff3ced3c.system.js.map → p-52f13c4a.system.js.map} +1 -1
  133. package/dist/peculiar/p-55303453.system.js +12 -0
  134. package/dist/peculiar/p-55303453.system.js.map +1 -0
  135. package/dist/peculiar/p-5a699274.js +19 -0
  136. package/dist/peculiar/p-5a699274.js.map +1 -0
  137. package/dist/peculiar/p-6221d0a4.system.entry.js +5 -0
  138. package/dist/peculiar/p-6221d0a4.system.entry.js.map +1 -0
  139. package/dist/peculiar/p-666438a8.js +135 -0
  140. package/dist/peculiar/p-666438a8.js.map +1 -0
  141. package/dist/peculiar/{p-c23fd001.entry.js → p-7a5173be.entry.js} +16 -16
  142. package/dist/peculiar/p-7a5173be.entry.js.map +1 -0
  143. package/dist/peculiar/p-80477c05.js +12 -0
  144. package/dist/peculiar/p-80477c05.js.map +1 -0
  145. package/dist/peculiar/p-8393399a.system.js +1 -1
  146. package/dist/peculiar/p-8ff95ad8.entry.js +5 -0
  147. package/dist/peculiar/{p-54b37ef9.entry.js.map → p-8ff95ad8.entry.js.map} +1 -1
  148. package/dist/peculiar/p-a06f51a2.system.js +19 -0
  149. package/dist/peculiar/p-a06f51a2.system.js.map +1 -0
  150. package/dist/peculiar/{p-75166532.js → p-adf16adb.js} +21 -21
  151. package/dist/peculiar/{p-75166532.js.map → p-adf16adb.js.map} +1 -1
  152. package/dist/peculiar/p-b6d5e413.js +19 -0
  153. package/dist/peculiar/p-b6d5e413.js.map +1 -0
  154. package/dist/peculiar/p-bd7fb688.system.entry.js +5 -0
  155. package/dist/peculiar/{p-00302a20.system.entry.js.map → p-bd7fb688.system.entry.js.map} +1 -1
  156. package/dist/peculiar/{p-496449cf.system.entry.js → p-cc256004.system.entry.js} +2 -2
  157. package/dist/peculiar/p-d1066b51.system.js +135 -0
  158. package/dist/peculiar/p-d1066b51.system.js.map +1 -0
  159. package/dist/peculiar/p-d6229f42.system.js +5 -0
  160. package/dist/peculiar/{p-5f3b0fc7.entry.js → p-ddadcb44.entry.js} +3 -3
  161. package/dist/peculiar/peculiar.esm.js +1 -1
  162. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
  163. package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
  164. package/dist/types/components/crl-viewer/crl-viewer.d.ts +2 -2
  165. package/dist/types/components/csr-viewer/csr-viewer.d.ts +2 -2
  166. package/dist/types/constants/oids.d.ts +3 -0
  167. package/dist/types/crypto/index.d.ts +2 -2
  168. package/dist/types/crypto/{csr.d.ts → pkcs10_certificate_request.d.ts} +4 -5
  169. package/dist/types/crypto/x509_attribute_certificate.d.ts +3 -4
  170. package/dist/types/crypto/x509_certificate.d.ts +3 -4
  171. package/dist/types/crypto/{crl.d.ts → x509_crl.d.ts} +4 -5
  172. package/dist/types/index.d.ts +2 -0
  173. package/dist/types/utils/download.d.ts +4 -4
  174. package/dist/types/utils/validator.d.ts +0 -4
  175. package/hydrate/index.js +84 -138
  176. package/package.json +4 -4
  177. package/dist/cjs/certification_request-b0d72620.js.map +0 -1
  178. package/dist/cjs/crl-812dd7a1.js +0 -312
  179. package/dist/cjs/crl-812dd7a1.js.map +0 -1
  180. package/dist/cjs/download-6f550549.js +0 -476
  181. package/dist/cjs/download-6f550549.js.map +0 -1
  182. package/dist/cjs/miscellaneous-dcb93a5b.js.map +0 -1
  183. package/dist/cjs/x509_certificate-ebf4cbd4.js.map +0 -1
  184. package/dist/collection/crypto/crl.js.map +0 -1
  185. package/dist/collection/crypto/csr.js.map +0 -1
  186. package/dist/esm/certification_request-2c054ece.js.map +0 -1
  187. package/dist/esm/crl-a7318483.js +0 -308
  188. package/dist/esm/crl-a7318483.js.map +0 -1
  189. package/dist/esm/download-8c128e2e.js +0 -470
  190. package/dist/esm/download-8c128e2e.js.map +0 -1
  191. package/dist/esm/miscellaneous-0e98b5bc.js.map +0 -1
  192. package/dist/esm/x509_certificate-ad568d3a.js.map +0 -1
  193. package/dist/esm-es5/certification_request-2c054ece.js.map +0 -1
  194. package/dist/esm-es5/crl-a7318483.js +0 -33
  195. package/dist/esm-es5/crl-a7318483.js.map +0 -1
  196. package/dist/esm-es5/download-8c128e2e.js +0 -43
  197. package/dist/esm-es5/download-8c128e2e.js.map +0 -1
  198. package/dist/esm-es5/x509_certificate-ad568d3a.js +0 -12
  199. package/dist/esm-es5/x509_certificate-ad568d3a.js.map +0 -1
  200. package/dist/peculiar/p-00302a20.system.entry.js +0 -5
  201. package/dist/peculiar/p-0dbc8238.system.js +0 -13
  202. package/dist/peculiar/p-0dbc8238.system.js.map +0 -1
  203. package/dist/peculiar/p-1302bd67.js +0 -97
  204. package/dist/peculiar/p-1302bd67.js.map +0 -1
  205. package/dist/peculiar/p-1f766dd5.js +0 -43
  206. package/dist/peculiar/p-1f766dd5.js.map +0 -1
  207. package/dist/peculiar/p-3d44cbd2.js +0 -12
  208. package/dist/peculiar/p-3d44cbd2.js.map +0 -1
  209. package/dist/peculiar/p-3f9af5f5.system.js +0 -97
  210. package/dist/peculiar/p-3f9af5f5.system.js.map +0 -1
  211. package/dist/peculiar/p-54b37ef9.entry.js +0 -5
  212. package/dist/peculiar/p-5c6f9a14.entry.js +0 -12
  213. package/dist/peculiar/p-5c6f9a14.entry.js.map +0 -1
  214. package/dist/peculiar/p-5cf4562f.system.entry.js.map +0 -1
  215. package/dist/peculiar/p-6680f277.system.entry.js +0 -13
  216. package/dist/peculiar/p-6680f277.system.entry.js.map +0 -1
  217. package/dist/peculiar/p-924790f5.js +0 -33
  218. package/dist/peculiar/p-924790f5.js.map +0 -1
  219. package/dist/peculiar/p-b2890eb8.system.js +0 -5
  220. package/dist/peculiar/p-c156b495.system.js +0 -33
  221. package/dist/peculiar/p-c156b495.system.js.map +0 -1
  222. package/dist/peculiar/p-c23fd001.entry.js.map +0 -1
  223. package/dist/peculiar/p-dde511c8.system.js +0 -43
  224. package/dist/peculiar/p-dde511c8.system.js.map +0 -1
  225. /package/dist/peculiar/{p-496449cf.system.entry.js.map → p-cc256004.system.entry.js.map} +0 -0
  226. /package/dist/peculiar/{p-b2890eb8.system.js.map → p-d6229f42.system.js.map} +0 -0
  227. /package/dist/peculiar/{p-5f3b0fc7.entry.js.map → p-ddadcb44.entry.js.map} +0 -0
@@ -1,308 +0,0 @@
1
- /*!
2
- * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
- */
4
- import { A as AsnData, t as Attribute$1, u as AsnParser, v as id_DomainNameBeneficiary, D as DomainNameBeneficiary, w as id_DomainNameLegalRepresentative, x as DomainNameLegalRepresentative, y as id_DomainNameOwner, z as DomainNameOwner, B as id_DomainNameTechnicalOperator, F as DomainNameTechnicalOperator, G as id_TypeRelationship, T as TypeRelationship, H as id_ActivityDescription, I as ActivityDescription, J as id_WebGDPR, W as WebGDPR, K as id_InsuranceValue, L as InsuranceValue, M as id_ValuationRanking, V as ValuationRanking, O as id_pkcs9_at_challengePassword, P as ChallengePassword, Q as id_pkcs9_at_unstructuredName, U as UnstructuredName, S as id_pkcs9_at_extensionRequest, X as ExtensionRequest, e as certificateRawToBuffer, Y as AttributeCertificate, f as dateDiff, E as Extension, g as AsnConvert, s as getCertificateThumbprint, q as hexFormat, r as base64Format, Z as CertificationRequest, N as Name, h as id_ecPublicKey, j as ECParameters, k as id_rsaEncryption, R as RSAPublicKey, _ as CertificateList } from './certification_request-2c054ece.js';
5
- import { C as Convert_1, D as Download } from './download-8c128e2e.js';
6
-
7
- /**
8
- * @license
9
- * Copyright (c) Peculiar Ventures, LLC.
10
- *
11
- * This source code is licensed under the MIT license found in the
12
- * LICENSE file in the root directory of this source tree.
13
- */
14
- const attributesParsers = {
15
- [id_DomainNameBeneficiary]: DomainNameBeneficiary,
16
- [id_DomainNameLegalRepresentative]: DomainNameLegalRepresentative,
17
- [id_DomainNameOwner]: DomainNameOwner,
18
- [id_DomainNameTechnicalOperator]: DomainNameTechnicalOperator,
19
- [id_TypeRelationship]: TypeRelationship,
20
- [id_ActivityDescription]: ActivityDescription,
21
- [id_WebGDPR]: WebGDPR,
22
- [id_InsuranceValue]: InsuranceValue,
23
- [id_ValuationRanking]: ValuationRanking,
24
- [id_pkcs9_at_challengePassword]: ChallengePassword,
25
- [id_pkcs9_at_unstructuredName]: UnstructuredName,
26
- [id_pkcs9_at_extensionRequest]: ExtensionRequest,
27
- };
28
- class Attribute extends AsnData {
29
- getAsnExtnValue() {
30
- return this.asn.values[0];
31
- }
32
- constructor(raw) {
33
- super(raw, Attribute$1);
34
- const asnExtnValue = this.getAsnExtnValue();
35
- try {
36
- const target = attributesParsers[this.asn.type];
37
- if (target) {
38
- this.value = AsnParser.parse(asnExtnValue, target);
39
- }
40
- else {
41
- console.warn(`Didn't detect parser for "${this.asn.type}" attribute.`);
42
- this.value = Convert_1.ToHex(asnExtnValue);
43
- }
44
- }
45
- catch (error) {
46
- console.error(`Error parse "${this.asn.type}" attribute:`, error.message);
47
- this.value = Convert_1.ToHex(asnExtnValue);
48
- }
49
- }
50
- }
51
-
52
- /**
53
- * @license
54
- * Copyright (c) Peculiar Ventures, LLC.
55
- *
56
- * This source code is licensed under the MIT license found in the
57
- * LICENSE file in the root directory of this source tree.
58
- */
59
- class X509AttributeCertificate extends AsnData {
60
- constructor(raw) {
61
- var _a;
62
- super(certificateRawToBuffer(raw), AttributeCertificate);
63
- this.thumbprints = {};
64
- this.type = 'X.509 Attribute Certificate';
65
- const { acinfo } = this.asn;
66
- this.serialNumber = Convert_1.ToHex(acinfo.serialNumber);
67
- this.version = acinfo.version;
68
- const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;
69
- if (!notBefore) {
70
- throw new Error("Cannot get 'notBefore' value");
71
- }
72
- this.notBefore = notBefore;
73
- const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;
74
- if (!notAfter) {
75
- throw new Error("Cannot get 'notAfter' value");
76
- }
77
- this.notAfter = notAfter;
78
- this.validity = dateDiff(this.notBefore, this.notAfter);
79
- this.issuer = acinfo.issuer.v1Form || ((_a = acinfo.issuer.v2Form) === null || _a === void 0 ? void 0 : _a.issuerName);
80
- this.holder = acinfo.holder;
81
- }
82
- get signature() {
83
- const { signatureValue, signatureAlgorithm } = this.asn;
84
- return {
85
- value: signatureValue,
86
- algorithm: signatureAlgorithm.algorithm,
87
- };
88
- }
89
- parseExtensions() {
90
- const { acinfo } = this.asn;
91
- if (acinfo.extensions) {
92
- this.extensions = acinfo.extensions
93
- .map((e) => new Extension(AsnConvert.serialize(e)));
94
- }
95
- }
96
- parseAttributes() {
97
- const { acinfo } = this.asn;
98
- if (acinfo.attributes) {
99
- this.attributes = acinfo.attributes
100
- .map((e) => new Attribute(AsnConvert.serialize(e)));
101
- }
102
- }
103
- async getThumbprint(algorithm = 'SHA-1') {
104
- try {
105
- const thumbprint = await getCertificateThumbprint(algorithm, this.raw);
106
- if (thumbprint) {
107
- this.thumbprints[algorithm] = Convert_1.ToHex(thumbprint);
108
- }
109
- }
110
- catch (error) {
111
- console.error('Error thumbprint get:', error);
112
- }
113
- }
114
- exportAsBase64() {
115
- return Convert_1.ToBase64(this.raw);
116
- }
117
- exportAsHexFormatted() {
118
- return hexFormat(Convert_1.ToHex(this.raw));
119
- }
120
- exportAsPemFormatted() {
121
- return `-----BEGIN ATTRIBUTE CERTIFICATE-----\n${base64Format(this.exportAsBase64())}\n-----END ATTRIBUTE CERTIFICATE-----`;
122
- }
123
- get commonName() {
124
- return `attribute-certificate-${this.thumbprints['SHA-1']}`;
125
- }
126
- downloadAsPEM(name) {
127
- Download.attrCert.asPEM(this.exportAsPemFormatted(), name || this.commonName);
128
- }
129
- downloadAsDER(name) {
130
- Download.attrCert.asDER(this.exportAsHexFormatted(), name || this.commonName);
131
- }
132
- }
133
-
134
- /**
135
- * @license
136
- * Copyright (c) Peculiar Ventures, LLC.
137
- *
138
- * This source code is licensed under the MIT license found in the
139
- * LICENSE file in the root directory of this source tree.
140
- */
141
- class CSR extends AsnData {
142
- constructor(raw) {
143
- super(certificateRawToBuffer(raw), CertificationRequest);
144
- this.thumbprints = {};
145
- this.type = 'PKCS#10 Certificate Request';
146
- const { certificationRequestInfo } = this.asn;
147
- this.subject = new Name(certificationRequestInfo.subject).toJSON();
148
- this.version = certificationRequestInfo.version;
149
- }
150
- get publicKey() {
151
- const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;
152
- let params;
153
- if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {
154
- params = AsnConvert.parse(algorithm.parameters, ECParameters);
155
- }
156
- if (algorithm.algorithm === id_rsaEncryption) {
157
- params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);
158
- }
159
- const spki = AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);
160
- return {
161
- params,
162
- value: spki,
163
- algorithm: algorithm.algorithm,
164
- };
165
- }
166
- get signature() {
167
- const { signature, signatureAlgorithm } = this.asn;
168
- return {
169
- value: signature,
170
- algorithm: signatureAlgorithm.algorithm,
171
- };
172
- }
173
- get commonName() {
174
- if (!this.subject) {
175
- return '';
176
- }
177
- for (let i = 0; i < this.subject.length; i += 1) {
178
- const name = this.subject[i];
179
- if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
180
- return name.value;
181
- }
182
- }
183
- return '';
184
- }
185
- async getThumbprint(algorithm = 'SHA-1') {
186
- try {
187
- const thumbprint = await getCertificateThumbprint(algorithm, this.raw);
188
- if (thumbprint) {
189
- this.thumbprints[algorithm] = Convert_1.ToHex(thumbprint);
190
- }
191
- }
192
- catch (error) {
193
- console.error('Error thumbprint get:', error);
194
- }
195
- }
196
- parseAttributes() {
197
- const { certificationRequestInfo } = this.asn;
198
- if (certificationRequestInfo.attributes) {
199
- this.attributes = certificationRequestInfo.attributes
200
- .map((e) => new Attribute(AsnConvert.serialize(e)));
201
- const extensionRequestAttribute = this.attributes.find((attribute) => attribute.asn.type === id_pkcs9_at_extensionRequest);
202
- if (extensionRequestAttribute) {
203
- this.extensions = extensionRequestAttribute.value
204
- .map((e) => new Extension(AsnConvert.serialize(e)));
205
- }
206
- }
207
- }
208
- exportAsBase64() {
209
- return Convert_1.ToBase64(this.raw);
210
- }
211
- exportAsHexFormatted() {
212
- return hexFormat(Convert_1.ToHex(this.raw));
213
- }
214
- exportAsPemFormatted() {
215
- return `-----BEGIN CERTIFICATE REQUEST-----\n${base64Format(this.exportAsBase64())}\n-----END CERTIFICATE REQUEST-----`;
216
- }
217
- downloadAsPEM(name) {
218
- Download.csr.asPEM(this.exportAsPemFormatted(), name || this.commonName);
219
- }
220
- downloadAsDER(name) {
221
- Download.csr.asDER(this.exportAsHexFormatted(), name || this.commonName);
222
- }
223
- }
224
-
225
- /**
226
- * @license
227
- * Copyright (c) Peculiar Ventures, LLC.
228
- *
229
- * This source code is licensed under the MIT license found in the
230
- * LICENSE file in the root directory of this source tree.
231
- */
232
- class CRL extends AsnData {
233
- constructor(raw) {
234
- super(certificateRawToBuffer(raw), CertificateList);
235
- this.thumbprints = {};
236
- this.type = 'X.509 Certificate Revocation List';
237
- const { tbsCertList } = this.asn;
238
- this.issuer = new Name(tbsCertList.issuer).toJSON();
239
- this.version = tbsCertList.version + 1;
240
- this.lastUpdate = tbsCertList.thisUpdate.getTime();
241
- this.nextUpdate = tbsCertList.nextUpdate.getTime();
242
- this.revokedCertificates = (tbsCertList.revokedCertificates || [])
243
- .map((revokedCertificate) => {
244
- var _a;
245
- return ({
246
- revocationDate: revokedCertificate.revocationDate,
247
- userCertificate: revokedCertificate.userCertificate,
248
- crlEntryExtensions: (_a = revokedCertificate.crlEntryExtensions) === null || _a === void 0 ? void 0 : _a.map((e) => new Extension(AsnConvert.serialize(e))),
249
- });
250
- });
251
- }
252
- async getThumbprint(algorithm = 'SHA-1') {
253
- try {
254
- const thumbprint = await getCertificateThumbprint(algorithm, this.raw);
255
- if (thumbprint) {
256
- this.thumbprints[algorithm] = Convert_1.ToHex(thumbprint);
257
- }
258
- }
259
- catch (error) {
260
- console.error('Error thumbprint get:', error);
261
- }
262
- }
263
- get signature() {
264
- const { signature, signatureAlgorithm } = this.asn;
265
- return {
266
- value: signature,
267
- algorithm: signatureAlgorithm.algorithm,
268
- };
269
- }
270
- get commonName() {
271
- if (!this.issuer) {
272
- return '';
273
- }
274
- for (let i = 0; i < this.issuer.length; i += 1) {
275
- const name = this.issuer[i];
276
- if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
277
- return name.value;
278
- }
279
- }
280
- return '';
281
- }
282
- parseExtensions() {
283
- const { tbsCertList } = this.asn;
284
- if (tbsCertList.crlExtensions) {
285
- this.extensions = tbsCertList.crlExtensions
286
- .map((e) => new Extension(AsnConvert.serialize(e)));
287
- }
288
- }
289
- exportAsBase64() {
290
- return Convert_1.ToBase64(this.raw);
291
- }
292
- exportAsHexFormatted() {
293
- return hexFormat(Convert_1.ToHex(this.raw));
294
- }
295
- exportAsPemFormatted() {
296
- return `-----BEGIN X509 CRL-----\n${base64Format(this.exportAsBase64())}\n-----END X509 CRL-----`;
297
- }
298
- downloadAsPEM(name) {
299
- Download.crl.asPEM(this.exportAsPemFormatted(), name || this.commonName);
300
- }
301
- downloadAsDER(name) {
302
- Download.crl.asDER(this.exportAsHexFormatted(), name || this.commonName);
303
- }
304
- }
305
-
306
- export { CSR as C, X509AttributeCertificate as X, CRL as a };
307
-
308
- //# sourceMappingURL=crl-a7318483.js.map
@@ -1 +0,0 @@
1
- {"file":"crl-a7318483.js","mappings":"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","names":["AsnAttribute","Convert"],"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}