@peculiar/certificates-viewer 4.0.2 → 4.2.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 (166) hide show
  1. package/README.md +1 -1
  2. package/components/attribute-certificate-viewer.js +7 -7
  3. package/components/attribute-certificate-viewer.js.map +1 -1
  4. package/components/certificate-viewer.js +5 -5
  5. package/components/certificate-viewer.js.map +1 -1
  6. package/components/crl-viewer.js +6 -6
  7. package/components/crl-viewer.js.map +1 -1
  8. package/components/csr-viewer.js +4 -4
  9. package/components/csr-viewer.js.map +1 -1
  10. package/components/download.js +374 -374
  11. package/components/download.js.map +1 -1
  12. package/components/index2.js +2 -2
  13. package/components/index2.js.map +1 -1
  14. package/components/miscellaneous.js +1320 -810
  15. package/components/miscellaneous.js.map +1 -1
  16. package/components/subject_name.js +2 -2
  17. package/components/subject_name.js.map +1 -1
  18. package/dist/cjs/{certification_request-c0cafa72.js → certification_request-5672c667.js} +1227 -823
  19. package/dist/cjs/certification_request-5672c667.js.map +1 -0
  20. package/dist/cjs/{crl-b4322166.js → crl-3f681d44.js} +14 -14
  21. package/dist/cjs/{crl-b4322166.js.map → crl-3f681d44.js.map} +1 -1
  22. package/dist/cjs/{download-972dda8a.js → download-0fa5b33c.js} +377 -377
  23. package/dist/cjs/download-0fa5b33c.js.map +1 -0
  24. package/dist/cjs/index.cjs.js +1 -1
  25. package/dist/cjs/{miscellaneous-e43aaae5.js → miscellaneous-905ec852.js} +125 -15
  26. package/dist/cjs/miscellaneous-905ec852.js.map +1 -0
  27. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +8 -8
  28. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +1 -1
  29. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +4 -4
  30. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +4 -4
  31. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +3 -3
  32. package/dist/cjs/{x509_certificate-989b1435.js → x509_certificate-69764c52.js} +7 -7
  33. package/dist/cjs/{x509_certificate-989b1435.js.map → x509_certificate-69764c52.js.map} +1 -1
  34. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js +19 -0
  35. package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js.map +1 -0
  36. package/dist/collection/components/certificate-details-parts/extensions/index.js +10 -0
  37. package/dist/collection/components/certificate-details-parts/extensions/index.js.map +1 -1
  38. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js +80 -0
  39. package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js.map +1 -0
  40. package/dist/collection/constants/logs.js +1 -0
  41. package/dist/collection/constants/logs.js.map +1 -1
  42. package/dist/collection/constants/oids.js +25 -4
  43. package/dist/collection/constants/oids.js.map +1 -1
  44. package/dist/collection/crypto/extension.js +8 -0
  45. package/dist/collection/crypto/extension.js.map +1 -1
  46. package/dist/collection/crypto/extensions/cabforganization_identifier.js +49 -0
  47. package/dist/collection/crypto/extensions/cabforganization_identifier.js.map +1 -0
  48. package/dist/collection/crypto/extensions/index.js +5 -0
  49. package/dist/collection/crypto/extensions/index.js.map +1 -0
  50. package/dist/collection/utils/camel_case_to_words.js +15 -0
  51. package/dist/collection/utils/camel_case_to_words.js.map +1 -0
  52. package/dist/collection/utils/index.js +1 -0
  53. package/dist/collection/utils/index.js.map +1 -1
  54. package/dist/esm/{certification_request-5cadde9f.js → certification_request-d5ea5973.js} +1217 -817
  55. package/dist/esm/certification_request-d5ea5973.js.map +1 -0
  56. package/dist/esm/{crl-11670c3e.js → crl-d13d9ec5.js} +14 -14
  57. package/dist/esm/{crl-11670c3e.js.map → crl-d13d9ec5.js.map} +1 -1
  58. package/dist/esm/{download-57c5bf8f.js → download-aacb6eff.js} +375 -375
  59. package/dist/esm/download-aacb6eff.js.map +1 -0
  60. package/dist/esm/index.js +1 -1
  61. package/dist/esm/{miscellaneous-7793a310.js → miscellaneous-cdfd8905.js} +125 -15
  62. package/dist/esm/miscellaneous-cdfd8905.js.map +1 -0
  63. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +8 -8
  64. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  65. package/dist/esm/peculiar-certificate-decoder.entry.js +4 -4
  66. package/dist/esm/peculiar-certificate-viewer.entry.js +4 -4
  67. package/dist/esm/peculiar-certificates-viewer.entry.js +3 -3
  68. package/dist/esm/{x509_certificate-dfae6999.js → x509_certificate-a9fcab55.js} +7 -7
  69. package/dist/esm/{x509_certificate-dfae6999.js.map → x509_certificate-a9fcab55.js.map} +1 -1
  70. package/dist/esm-es5/certification_request-d5ea5973.js +97 -0
  71. package/dist/esm-es5/certification_request-d5ea5973.js.map +1 -0
  72. package/dist/esm-es5/{crl-11670c3e.js → crl-d13d9ec5.js} +6 -6
  73. package/dist/esm-es5/{crl-11670c3e.js.map → crl-d13d9ec5.js.map} +1 -1
  74. package/dist/esm-es5/download-aacb6eff.js +43 -0
  75. package/dist/esm-es5/download-aacb6eff.js.map +1 -0
  76. package/dist/esm-es5/index.js +1 -1
  77. package/dist/esm-es5/miscellaneous-cdfd8905.js +369 -0
  78. package/dist/esm-es5/miscellaneous-cdfd8905.js.map +1 -0
  79. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +3 -3
  80. package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
  81. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +1 -1
  82. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
  83. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  84. package/dist/esm-es5/x509_certificate-a9fcab55.js +12 -0
  85. package/dist/esm-es5/{x509_certificate-dfae6999.js.map → x509_certificate-a9fcab55.js.map} +1 -1
  86. package/dist/peculiar/index.esm.js +1 -1
  87. package/dist/peculiar/p-14f281b0.system.js +43 -0
  88. package/dist/peculiar/p-14f281b0.system.js.map +1 -0
  89. package/dist/peculiar/{p-1844b807.system.entry.js → p-3b395604.system.entry.js} +2 -2
  90. package/dist/peculiar/p-48474b8d.js +12 -0
  91. package/dist/peculiar/{p-6e79b9c8.js.map → p-48474b8d.js.map} +1 -1
  92. package/dist/peculiar/p-4a6ceeda.js +97 -0
  93. package/dist/peculiar/p-4a6ceeda.js.map +1 -0
  94. package/dist/peculiar/p-59e5ac12.js +43 -0
  95. package/dist/peculiar/p-59e5ac12.js.map +1 -0
  96. package/dist/peculiar/{p-7f9fef87.entry.js → p-609ee9f0.entry.js} +2 -2
  97. package/dist/peculiar/p-67156853.js +369 -0
  98. package/dist/peculiar/p-67156853.js.map +1 -0
  99. package/dist/peculiar/p-6daee4d7.system.js +369 -0
  100. package/dist/peculiar/p-6daee4d7.system.js.map +1 -0
  101. package/dist/peculiar/p-6e48afc4.system.js +34 -0
  102. package/dist/peculiar/{p-6667fe6e.system.js.map → p-6e48afc4.system.js.map} +1 -1
  103. package/dist/peculiar/{p-0b475f2a.system.entry.js → p-718982f4.system.entry.js} +4 -4
  104. package/dist/peculiar/{p-0b475f2a.system.entry.js.map → p-718982f4.system.entry.js.map} +1 -1
  105. package/dist/peculiar/p-80832207.system.js +1 -1
  106. package/dist/peculiar/p-8fac1d56.js +33 -0
  107. package/dist/peculiar/{p-43eb3721.js.map → p-8fac1d56.js.map} +1 -1
  108. package/dist/peculiar/{p-1de0381c.system.js → p-a3eeb94b.system.js} +2 -2
  109. package/dist/peculiar/{p-441109db.system.entry.js → p-a67b8793.system.entry.js} +2 -2
  110. package/dist/peculiar/{p-e39de121.system.entry.js → p-a720c0a5.system.entry.js} +2 -2
  111. package/dist/peculiar/{p-882e1281.entry.js → p-a7386b78.entry.js} +2 -2
  112. package/dist/peculiar/p-ab7dc738.system.js +13 -0
  113. package/dist/peculiar/{p-31586b23.system.js.map → p-ab7dc738.system.js.map} +1 -1
  114. package/dist/peculiar/{p-bcc86979.entry.js → p-c35b180c.entry.js} +2 -2
  115. package/dist/peculiar/p-e0f4bda5.system.js +97 -0
  116. package/dist/peculiar/p-e0f4bda5.system.js.map +1 -0
  117. package/dist/peculiar/{p-673336cf.entry.js → p-f86279f6.entry.js} +5 -5
  118. package/dist/peculiar/{p-673336cf.entry.js.map → p-f86279f6.entry.js.map} +1 -1
  119. package/dist/peculiar/peculiar.esm.js +1 -1
  120. package/dist/types/components/certificate-details-parts/extensions/cabforganization_identifier_extension.d.ts +15 -0
  121. package/dist/types/components/certificate-details-parts/extensions/key_description_extension.d.ts +15 -0
  122. package/dist/types/constants/logs.d.ts +1 -0
  123. package/dist/types/constants/oids.d.ts +24 -4
  124. package/dist/types/crypto/extension.d.ts +3 -1
  125. package/dist/types/crypto/extensions/cabforganization_identifier.d.ts +23 -0
  126. package/dist/types/crypto/extensions/index.d.ts +1 -0
  127. package/dist/types/utils/camel_case_to_words.d.ts +8 -0
  128. package/dist/types/utils/index.d.ts +1 -0
  129. package/hydrate/index.js +1710 -1200
  130. package/package.json +22 -21
  131. package/dist/cjs/certification_request-c0cafa72.js.map +0 -1
  132. package/dist/cjs/download-972dda8a.js.map +0 -1
  133. package/dist/cjs/miscellaneous-e43aaae5.js.map +0 -1
  134. package/dist/esm/certification_request-5cadde9f.js.map +0 -1
  135. package/dist/esm/download-57c5bf8f.js.map +0 -1
  136. package/dist/esm/miscellaneous-7793a310.js.map +0 -1
  137. package/dist/esm-es5/certification_request-5cadde9f.js +0 -97
  138. package/dist/esm-es5/certification_request-5cadde9f.js.map +0 -1
  139. package/dist/esm-es5/download-57c5bf8f.js +0 -19
  140. package/dist/esm-es5/download-57c5bf8f.js.map +0 -1
  141. package/dist/esm-es5/miscellaneous-7793a310.js +0 -348
  142. package/dist/esm-es5/miscellaneous-7793a310.js.map +0 -1
  143. package/dist/esm-es5/x509_certificate-dfae6999.js +0 -12
  144. package/dist/peculiar/p-31586b23.system.js +0 -13
  145. package/dist/peculiar/p-43eb3721.js +0 -33
  146. package/dist/peculiar/p-6667fe6e.system.js +0 -34
  147. package/dist/peculiar/p-6e79b9c8.js +0 -12
  148. package/dist/peculiar/p-74c241e7.js +0 -97
  149. package/dist/peculiar/p-74c241e7.js.map +0 -1
  150. package/dist/peculiar/p-a053c132.js +0 -19
  151. package/dist/peculiar/p-a053c132.js.map +0 -1
  152. package/dist/peculiar/p-a6e2e335.js +0 -348
  153. package/dist/peculiar/p-a6e2e335.js.map +0 -1
  154. package/dist/peculiar/p-ae9189f6.system.js +0 -19
  155. package/dist/peculiar/p-ae9189f6.system.js.map +0 -1
  156. package/dist/peculiar/p-c0a298fd.system.js +0 -97
  157. package/dist/peculiar/p-c0a298fd.system.js.map +0 -1
  158. package/dist/peculiar/p-c362dc5e.system.js +0 -348
  159. package/dist/peculiar/p-c362dc5e.system.js.map +0 -1
  160. /package/dist/peculiar/{p-1844b807.system.entry.js.map → p-3b395604.system.entry.js.map} +0 -0
  161. /package/dist/peculiar/{p-7f9fef87.entry.js.map → p-609ee9f0.entry.js.map} +0 -0
  162. /package/dist/peculiar/{p-1de0381c.system.js.map → p-a3eeb94b.system.js.map} +0 -0
  163. /package/dist/peculiar/{p-441109db.system.entry.js.map → p-a67b8793.system.entry.js.map} +0 -0
  164. /package/dist/peculiar/{p-e39de121.system.entry.js.map → p-a720c0a5.system.entry.js.map} +0 -0
  165. /package/dist/peculiar/{p-882e1281.entry.js.map → p-a7386b78.entry.js.map} +0 -0
  166. /package/dist/peculiar/{p-bcc86979.entry.js.map → p-c35b180c.entry.js.map} +0 -0
@@ -3,8 +3,8 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const certification_request = require('./certification_request-c0cafa72.js');
7
- const download = require('./download-972dda8a.js');
6
+ const certification_request = require('./certification_request-5672c667.js');
7
+ const download = require('./download-0fa5b33c.js');
8
8
 
9
9
  /**
10
10
  * @license
@@ -61,7 +61,7 @@ class Attribute extends certification_request.AsnData {
61
61
  break;
62
62
  }
63
63
  default:
64
- this.value = download.build.Convert.ToHex(asnExtnValue);
64
+ this.value = download.Convert_1.ToHex(asnExtnValue);
65
65
  }
66
66
  }
67
67
  }
@@ -80,7 +80,7 @@ class X509AttributeCertificate extends certification_request.AsnData {
80
80
  this.thumbprints = {};
81
81
  this.type = 'X.509 Attribute Certificate';
82
82
  const { acinfo } = this.asn;
83
- this.serialNumber = download.build.Convert.ToHex(acinfo.serialNumber);
83
+ this.serialNumber = download.Convert_1.ToHex(acinfo.serialNumber);
84
84
  this.version = acinfo.version;
85
85
  const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;
86
86
  if (!notBefore) {
@@ -121,7 +121,7 @@ class X509AttributeCertificate extends certification_request.AsnData {
121
121
  try {
122
122
  const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
123
123
  if (thumbprint) {
124
- this.thumbprints[algorithm] = download.build.Convert.ToHex(thumbprint);
124
+ this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
125
125
  }
126
126
  }
127
127
  catch (error) {
@@ -129,10 +129,10 @@ class X509AttributeCertificate extends certification_request.AsnData {
129
129
  }
130
130
  }
131
131
  exportAsBase64() {
132
- return download.build.Convert.ToBase64(this.raw);
132
+ return download.Convert_1.ToBase64(this.raw);
133
133
  }
134
134
  exportAsHexFormatted() {
135
- return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
135
+ return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
136
136
  }
137
137
  exportAsPemFormatted() {
138
138
  return `-----BEGIN ATTRIBUTE CERTIFICATE-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END ATTRIBUTE CERTIFICATE-----`;
@@ -203,7 +203,7 @@ class CSR extends certification_request.AsnData {
203
203
  try {
204
204
  const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
205
205
  if (thumbprint) {
206
- this.thumbprints[algorithm] = download.build.Convert.ToHex(thumbprint);
206
+ this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
207
207
  }
208
208
  }
209
209
  catch (error) {
@@ -218,10 +218,10 @@ class CSR extends certification_request.AsnData {
218
218
  }
219
219
  }
220
220
  exportAsBase64() {
221
- return download.build.Convert.ToBase64(this.raw);
221
+ return download.Convert_1.ToBase64(this.raw);
222
222
  }
223
223
  exportAsHexFormatted() {
224
- return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
224
+ return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
225
225
  }
226
226
  exportAsPemFormatted() {
227
227
  return `-----BEGIN CERTIFICATE REQUEST-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END CERTIFICATE REQUEST-----`;
@@ -265,7 +265,7 @@ class CRL extends certification_request.AsnData {
265
265
  try {
266
266
  const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
267
267
  if (thumbprint) {
268
- this.thumbprints[algorithm] = download.build.Convert.ToHex(thumbprint);
268
+ this.thumbprints[algorithm] = download.Convert_1.ToHex(thumbprint);
269
269
  }
270
270
  }
271
271
  catch (error) {
@@ -299,10 +299,10 @@ class CRL extends certification_request.AsnData {
299
299
  }
300
300
  }
301
301
  exportAsBase64() {
302
- return download.build.Convert.ToBase64(this.raw);
302
+ return download.Convert_1.ToBase64(this.raw);
303
303
  }
304
304
  exportAsHexFormatted() {
305
- return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
305
+ return certification_request.hexFormat(download.Convert_1.ToHex(this.raw));
306
306
  }
307
307
  exportAsPemFormatted() {
308
308
  return `-----BEGIN X509 CRL-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END X509 CRL-----`;
@@ -319,4 +319,4 @@ exports.CRL = CRL;
319
319
  exports.CSR = CSR;
320
320
  exports.X509AttributeCertificate = X509AttributeCertificate;
321
321
 
322
- //# sourceMappingURL=crl-b4322166.js.map
322
+ //# sourceMappingURL=crl-3f681d44.js.map
@@ -1 +1 @@
1
- {"file":"crl-b4322166.js","mappings":"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","names":["AsnData","AsnAttribute","id_DomainNameBeneficiary","AsnParser","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","Extension","AsnConvert","Convert","certificateRawToBuffer","AttributeCertificate","dateDiff","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, AsnConvert } 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 { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\n\nexport type TAttributeValue = DomainNameBeneficiary\n| DomainNameLegalRepresentative\n| DomainNameOwner\n| DomainNameTechnicalOperator\n| TypeRelationship\n| ActivityDescription\n| WebGDPR\n| InsuranceValue\n| ValuationRanking\n| Extension<TExtensionValue>[]\n| ChallengePassword\n| UnstructuredName\n| 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 switch (this.asn.type) {\n case id_DomainNameBeneficiary:\n this.value = AsnParser.parse(asnExtnValue, DomainNameBeneficiary) as T;\n break;\n case id_DomainNameLegalRepresentative:\n this.value = AsnParser.parse(asnExtnValue, DomainNameLegalRepresentative) as T;\n break;\n case id_DomainNameOwner:\n this.value = AsnParser.parse(asnExtnValue, DomainNameOwner) as T;\n break;\n case id_DomainNameTechnicalOperator:\n this.value = AsnParser.parse(asnExtnValue, DomainNameTechnicalOperator) as T;\n break;\n case id_TypeRelationship:\n this.value = AsnParser.parse(asnExtnValue, TypeRelationship) as T;\n break;\n case id_ActivityDescription:\n this.value = AsnParser.parse(asnExtnValue, ActivityDescription) as T;\n break;\n case id_WebGDPR:\n this.value = AsnParser.parse(asnExtnValue, WebGDPR) as T;\n break;\n case id_InsuranceValue:\n this.value = AsnParser.parse(asnExtnValue, InsuranceValue) as T;\n break;\n case id_ValuationRanking:\n this.value = AsnParser.parse(asnExtnValue, ValuationRanking) as T;\n break;\n case id_pkcs9_at_challengePassword:\n this.value = AsnParser.parse(asnExtnValue, ChallengePassword) as T;\n break;\n case id_pkcs9_at_unstructuredName:\n this.value = AsnParser.parse(asnExtnValue, UnstructuredName) as T;\n break;\n case id_pkcs9_at_extensionRequest: {\n const extensionRequest = AsnParser.parse(asnExtnValue, ExtensionRequest);\n\n this.value = extensionRequest\n .map((e) => new Extension(AsnConvert.serialize(e))) as T;\n break;\n }\n default:\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 { 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 {\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 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 }\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}
1
+ {"file":"crl-3f681d44.js","mappings":"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","names":["AsnData","AsnAttribute","id_DomainNameBeneficiary","AsnParser","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","Extension","AsnConvert","Convert","certificateRawToBuffer","AttributeCertificate","dateDiff","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, AsnConvert } 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 { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\n\nexport type TAttributeValue = DomainNameBeneficiary\n| DomainNameLegalRepresentative\n| DomainNameOwner\n| DomainNameTechnicalOperator\n| TypeRelationship\n| ActivityDescription\n| WebGDPR\n| InsuranceValue\n| ValuationRanking\n| Extension<TExtensionValue>[]\n| ChallengePassword\n| UnstructuredName\n| 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 switch (this.asn.type) {\n case id_DomainNameBeneficiary:\n this.value = AsnParser.parse(asnExtnValue, DomainNameBeneficiary) as T;\n break;\n case id_DomainNameLegalRepresentative:\n this.value = AsnParser.parse(asnExtnValue, DomainNameLegalRepresentative) as T;\n break;\n case id_DomainNameOwner:\n this.value = AsnParser.parse(asnExtnValue, DomainNameOwner) as T;\n break;\n case id_DomainNameTechnicalOperator:\n this.value = AsnParser.parse(asnExtnValue, DomainNameTechnicalOperator) as T;\n break;\n case id_TypeRelationship:\n this.value = AsnParser.parse(asnExtnValue, TypeRelationship) as T;\n break;\n case id_ActivityDescription:\n this.value = AsnParser.parse(asnExtnValue, ActivityDescription) as T;\n break;\n case id_WebGDPR:\n this.value = AsnParser.parse(asnExtnValue, WebGDPR) as T;\n break;\n case id_InsuranceValue:\n this.value = AsnParser.parse(asnExtnValue, InsuranceValue) as T;\n break;\n case id_ValuationRanking:\n this.value = AsnParser.parse(asnExtnValue, ValuationRanking) as T;\n break;\n case id_pkcs9_at_challengePassword:\n this.value = AsnParser.parse(asnExtnValue, ChallengePassword) as T;\n break;\n case id_pkcs9_at_unstructuredName:\n this.value = AsnParser.parse(asnExtnValue, UnstructuredName) as T;\n break;\n case id_pkcs9_at_extensionRequest: {\n const extensionRequest = AsnParser.parse(asnExtnValue, ExtensionRequest);\n\n this.value = extensionRequest\n .map((e) => new Extension(AsnConvert.serialize(e))) as T;\n break;\n }\n default:\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 { 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 {\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 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 }\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}