@peculiar/certificates-viewer 4.4.0 → 4.5.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 (106) hide show
  1. package/components/download.js +17 -4
  2. package/components/download.js.map +1 -1
  3. package/dist/cjs/{certification_request-Bipg1Az7.js → certification_request-DS5FED4F.js} +19 -6
  4. package/dist/cjs/certification_request-DS5FED4F.js.map +1 -0
  5. package/dist/cjs/index.cjs.js +2 -2
  6. package/dist/cjs/{miscellaneous-C0sOAo-1.js → miscellaneous-UxtK1SWb.js} +3 -3
  7. package/dist/cjs/{miscellaneous-C0sOAo-1.js.map → miscellaneous-UxtK1SWb.js.map} +1 -1
  8. package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js +4 -4
  9. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +4 -4
  10. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +3 -3
  11. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -2
  12. package/dist/cjs/{pkcs10_certificate_request-BDz0P_px.js → pkcs10_certificate_request-DaWYvR0i.js} +3 -3
  13. package/dist/cjs/{pkcs10_certificate_request-BDz0P_px.js.map → pkcs10_certificate_request-DaWYvR0i.js.map} +1 -1
  14. package/dist/cjs/{x509_certificate-DRvXOszL.js → x509_certificate-DBpSGIUT.js} +3 -3
  15. package/dist/cjs/{x509_certificate-DRvXOszL.js.map → x509_certificate-DBpSGIUT.js.map} +1 -1
  16. package/dist/cjs/{x509_crl-DVGVym_S.js → x509_crl-BBnJqOIF.js} +4 -4
  17. package/dist/cjs/{x509_crl-DVGVym_S.js.map → x509_crl-BBnJqOIF.js.map} +1 -1
  18. package/dist/collection/constants/oids.js +16 -3
  19. package/dist/collection/constants/oids.js.map +1 -1
  20. package/dist/collection/crypto/utils.js +1 -1
  21. package/dist/collection/crypto/utils.js.map +1 -1
  22. package/dist/esm/{certification_request-BTbyumBe.js → certification_request-Wtz6WM17.js} +19 -6
  23. package/dist/esm/certification_request-Wtz6WM17.js.map +1 -0
  24. package/dist/esm/index.js +2 -2
  25. package/dist/esm/{miscellaneous-CGtCg3Q9.js → miscellaneous-CsGuJ6zr.js} +3 -3
  26. package/dist/esm/{miscellaneous-CGtCg3Q9.js.map → miscellaneous-CsGuJ6zr.js.map} +1 -1
  27. package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js +4 -4
  28. package/dist/esm/peculiar-certificate-decoder.entry.js +4 -4
  29. package/dist/esm/peculiar-certificate-viewer.entry.js +3 -3
  30. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
  31. package/dist/esm/{pkcs10_certificate_request-CrA_WcgY.js → pkcs10_certificate_request-Cn7_Z7a1.js} +3 -3
  32. package/dist/esm/{pkcs10_certificate_request-CrA_WcgY.js.map → pkcs10_certificate_request-Cn7_Z7a1.js.map} +1 -1
  33. package/dist/esm/{x509_certificate-DX7sKoAD.js → x509_certificate-ObET7_Te.js} +3 -3
  34. package/dist/{esm-es5/x509_certificate-DX7sKoAD.js.map → esm/x509_certificate-ObET7_Te.js.map} +1 -1
  35. package/dist/esm/{x509_crl-DRjoh8Yp.js → x509_crl-CeW7yzP9.js} +4 -4
  36. package/dist/esm/{x509_crl-DRjoh8Yp.js.map → x509_crl-CeW7yzP9.js.map} +1 -1
  37. package/dist/esm-es5/{certification_request-BTbyumBe.js → certification_request-Wtz6WM17.js} +3 -3
  38. package/dist/esm-es5/certification_request-Wtz6WM17.js.map +1 -0
  39. package/dist/esm-es5/index.js +1 -1
  40. package/dist/esm-es5/{miscellaneous-CGtCg3Q9.js → miscellaneous-CsGuJ6zr.js} +2 -2
  41. package/dist/esm-es5/{miscellaneous-CGtCg3Q9.js.map → miscellaneous-CsGuJ6zr.js.map} +1 -1
  42. package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +1 -1
  43. package/dist/esm-es5/peculiar-certificate-decoder.entry.js +1 -1
  44. package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
  45. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
  46. package/dist/esm-es5/{pkcs10_certificate_request-CrA_WcgY.js → pkcs10_certificate_request-Cn7_Z7a1.js} +2 -2
  47. package/dist/esm-es5/{pkcs10_certificate_request-CrA_WcgY.js.map → pkcs10_certificate_request-Cn7_Z7a1.js.map} +1 -1
  48. package/dist/esm-es5/{x509_certificate-DX7sKoAD.js → x509_certificate-ObET7_Te.js} +2 -2
  49. package/dist/{esm/x509_certificate-DX7sKoAD.js.map → esm-es5/x509_certificate-ObET7_Te.js.map} +1 -1
  50. package/dist/esm-es5/{x509_crl-DRjoh8Yp.js → x509_crl-CeW7yzP9.js} +2 -2
  51. package/dist/esm-es5/{x509_crl-DRjoh8Yp.js.map → x509_crl-CeW7yzP9.js.map} +1 -1
  52. package/dist/peculiar/index.esm.js +1 -1
  53. package/dist/peculiar/{p-80fc5538.entry.js → p-0e8ab957.entry.js} +2 -2
  54. package/dist/peculiar/{p-e7266b0a.entry.js → p-3e4062f6.entry.js} +16 -16
  55. package/dist/peculiar/{p-092074e8.system.entry.js → p-5608ba3e.system.entry.js} +2 -2
  56. package/dist/peculiar/{p-ab220e36.system.entry.js → p-5b829829.system.entry.js} +2 -2
  57. package/dist/peculiar/{p-73a75d1e.system.entry.js → p-63aa01ad.system.entry.js} +2 -2
  58. package/dist/peculiar/{p-c2a805b3.entry.js → p-69b461b4.entry.js} +3 -3
  59. package/dist/peculiar/{p-85667993.entry.js → p-7a3bf94e.entry.js} +2 -2
  60. package/dist/peculiar/{p-Bw_icgVx.js → p-B3myni_G.js} +2 -2
  61. package/dist/peculiar/{p-Bw_icgVx.js.map → p-B3myni_G.js.map} +1 -1
  62. package/dist/peculiar/{p-C_7Koml8.system.js.map → p-CFhlbr47.system.js.map} +1 -1
  63. package/dist/peculiar/{p-lnQq6VON.system.js → p-CKoxwzVA.system.js} +2 -2
  64. package/dist/peculiar/{p-lnQq6VON.system.js.map → p-CKoxwzVA.system.js.map} +1 -1
  65. package/dist/peculiar/{p-FVz6FuoZ.system.js.map → p-C_vT-OYk.system.js.map} +1 -1
  66. package/dist/peculiar/{p-wgYkE8CV.system.js → p-CcANm2qm.system.js} +2 -2
  67. package/dist/peculiar/p-CcANm2qm.system.js.map +1 -0
  68. package/dist/peculiar/{p-Ct0zEUB_.js → p-CttQwkXH.js} +6 -6
  69. package/dist/peculiar/{p-Ct0zEUB_.js.map → p-CttQwkXH.js.map} +1 -1
  70. package/dist/peculiar/p-D5BWI7FK.system.js +1 -1
  71. package/dist/peculiar/{p-B7TxZGea.system.js → p-DPre0WhP.system.js} +4 -4
  72. package/dist/peculiar/{p-B7TxZGea.system.js.map → p-DPre0WhP.system.js.map} +1 -1
  73. package/dist/peculiar/{p-BbPo3hge.system.js.map → p-DX5B2Msh.system.js.map} +1 -1
  74. package/dist/peculiar/{p-B0CjUC4o.system.js → p-DgcB4Nqx.system.js} +8 -8
  75. package/dist/peculiar/p-DgcB4Nqx.system.js.map +1 -0
  76. package/dist/peculiar/{p-RW7UbzcZ.system.js.map → p-Dk86_qlM.system.js.map} +1 -1
  77. package/dist/peculiar/{p-DxdVL_Kj.system.js → p-L1KL0R34.system.js} +2 -2
  78. package/dist/peculiar/{p-DxdVL_Kj.system.js.map → p-L1KL0R34.system.js.map} +1 -1
  79. package/dist/peculiar/{p-BTbyumBe.js → p-Wtz6WM17.js} +8 -8
  80. package/dist/peculiar/p-Wtz6WM17.js.map +1 -0
  81. package/dist/peculiar/{p-1b3855ec.system.entry.js → p-bafc3336.system.entry.js} +16 -16
  82. package/dist/peculiar/{p-4IvcYmU7.js → p-lNFxlG5A.js} +4 -4
  83. package/dist/peculiar/{p-4IvcYmU7.js.map → p-lNFxlG5A.js.map} +1 -1
  84. package/dist/peculiar/{p-CpTwQbPC.js → p-t-yLLnfF.js} +2 -2
  85. package/dist/peculiar/{p-CpTwQbPC.js.map → p-t-yLLnfF.js.map} +1 -1
  86. package/dist/peculiar/{p-vMACJe_C.system.js → p-uFLk5hDd.system.js} +8 -8
  87. package/dist/peculiar/{p-vMACJe_C.system.js.map → p-uFLk5hDd.system.js.map} +1 -1
  88. package/dist/peculiar/peculiar.esm.js +1 -1
  89. package/dist/types/constants/oids.d.ts +15 -3
  90. package/hydrate/index.js +17 -4
  91. package/hydrate/index.mjs +17 -4
  92. package/package.json +2 -2
  93. package/dist/cjs/certification_request-Bipg1Az7.js.map +0 -1
  94. package/dist/esm/certification_request-BTbyumBe.js.map +0 -1
  95. package/dist/esm-es5/certification_request-BTbyumBe.js.map +0 -1
  96. package/dist/peculiar/p-B0CjUC4o.system.js.map +0 -1
  97. package/dist/peculiar/p-BTbyumBe.js.map +0 -1
  98. package/dist/peculiar/p-wgYkE8CV.system.js.map +0 -1
  99. /package/dist/peculiar/{p-80fc5538.entry.js.map → p-0e8ab957.entry.js.map} +0 -0
  100. /package/dist/peculiar/{p-e7266b0a.entry.js.map → p-3e4062f6.entry.js.map} +0 -0
  101. /package/dist/peculiar/{p-092074e8.system.entry.js.map → p-5608ba3e.system.entry.js.map} +0 -0
  102. /package/dist/peculiar/{p-ab220e36.system.entry.js.map → p-5b829829.system.entry.js.map} +0 -0
  103. /package/dist/peculiar/{p-73a75d1e.system.entry.js.map → p-63aa01ad.system.entry.js.map} +0 -0
  104. /package/dist/peculiar/{p-c2a805b3.entry.js.map → p-69b461b4.entry.js.map} +0 -0
  105. /package/dist/peculiar/{p-85667993.entry.js.map → p-7a3bf94e.entry.js.map} +0 -0
  106. /package/dist/peculiar/{p-1b3855ec.system.entry.js.map → p-bafc3336.system.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"p-RW7UbzcZ.system.js","sources":["../../node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\n\nimport { Download } from '../utils';\n\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({\n single: new OctetString(),\n });\n signedData.certificates = new CertificateSet(\n Array.from(this).map((o) => new CertificateChoices({\n certificate: AsnConvert.parse(o.raw, Certificate),\n })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\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 {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64url'));\n }\n\n decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"names":["Convert"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"p-Dk86_qlM.system.js","sources":["../../node_modules/@peculiar/asn1-cms/build/es2015/object_identifiers.js","src/crypto/x509_certificates.ts","src/components/certificate-decoder/certificate-decoder.scss?tag=peculiar-certificate-decoder&encapsulation=shadow","src/components/certificate-decoder/certificate-decoder.tsx"],"sourcesContent":["export const id_ct_contentInfo = \"1.2.840.113549.1.9.16.1.6\";\nexport const id_data = \"1.2.840.113549.1.7.1\";\nexport const id_signedData = \"1.2.840.113549.1.7.2\";\nexport const id_envelopedData = \"1.2.840.113549.1.7.3\";\nexport const id_digestedData = \"1.2.840.113549.1.7.5\";\nexport const id_encryptedData = \"1.2.840.113549.1.7.6\";\nexport const id_authData = \"1.2.840.113549.1.9.16.1.2\";\n","import { Convert } from 'pvtsutils';\nimport {\n SignedData,\n id_data,\n EncapsulatedContent,\n CertificateSet,\n CertificateChoices,\n ContentInfo,\n id_signedData,\n} from '@peculiar/asn1-cms';\nimport { Certificate } from '@peculiar/asn1-x509';\nimport { AsnConvert, OctetString } from '@peculiar/asn1-schema';\n\nimport { Download } from '../utils';\n\nimport { PemConverter } from './pem_converter';\nimport { X509Certificate } from './x509_certificate';\n\nexport class X509Certificates extends Array<X509Certificate> {\n constructor(raw: string) {\n super();\n\n const rawItems = PemConverter.isPem(raw)\n ? PemConverter.decode(raw).map((value) => Convert.ToBase64Url(value))\n : raw.split(',');\n\n if (rawItems.length < 2) {\n throw new Error('Unable to parse string. The array of elements is less than 2');\n }\n\n // eslint-disable-next-line no-restricted-syntax\n for (const item of rawItems) {\n this.push(new X509Certificate(item));\n }\n }\n\n public get commonName(): string {\n return Array.from(this)\n .map((o) => o.commonName)\n .join('_');\n }\n\n public get raw(): ArrayBuffer {\n const signedData = new SignedData();\n\n signedData.version = 1;\n signedData.encapContentInfo.eContentType = id_data;\n signedData.encapContentInfo.eContent = new EncapsulatedContent({\n single: new OctetString(),\n });\n signedData.certificates = new CertificateSet(\n Array.from(this).map((o) => new CertificateChoices({\n certificate: AsnConvert.parse(o.raw, Certificate),\n })),\n );\n\n const cms = new ContentInfo({\n contentType: id_signedData,\n content: AsnConvert.serialize(signedData),\n });\n\n return AsnConvert.serialize(cms);\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return Array.from(this)\n .map((o) => o.toString('pem'))\n .join('\\n');\n case 'base64url':\n return Array.from(this)\n .map((o) => o.toString('base64url'))\n .join(',');\n default:\n return Array.from(this)\n .map((o) => o.toString('base64'))\n .join(',');\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n}\n\n.textarea {\n min-height: 300px;\n width: 100%;\n border-radius: 4px;\n border: 1px solid var(--pv-color-gray-5);;\n padding: 14px;\n font-family: monospace;\n resize: vertical;\n}\n\n.controls {\n margin-top: var(--pv-size-base-2);\n display: flex;\n flex-direction: column;\n gap: var(--pv-size-base-2);\n margin-bottom: var(--pv-size-base-12);\n}\n\n.control_row {\n display: flex;\n align-items: center;\n gap: var(--pv-size-base);\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 {\n Component,\n Host,\n h,\n State,\n Prop,\n Event,\n EventEmitter,\n} from '@stencil/core';\n\nimport { readAsBinaryString } from '../../utils';\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n X509Certificates,\n} from '../../crypto';\nimport { Button } from '../button';\nimport { Typography } from '../typography';\n\n@Component({\n tag: 'peculiar-certificate-decoder',\n styleUrl: 'certificate-decoder.scss',\n shadow: true,\n})\nexport class CertificateDecoder {\n private inputPaste?: HTMLTextAreaElement;\n\n /**\n * The example certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateExamples?: {\n title: string;\n value: string;\n }[];\n\n /**\n * The default certificate value for decode and show details. Use PEM or DER.\n */\n @Prop() certificateToDecode?: string;\n\n @State() certificateDecoded: X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\n /**\n * Emitted when the certificate has been successfully parsed.\n */\n @Event() successParse!: EventEmitter<string>;\n\n /**\n * Emitted when the certificate has been removed.\n */\n @Event() clearCertificate!: EventEmitter<void>;\n\n componentDidLoad() {\n if (this.certificateToDecode) {\n /**\n * Prevent Stencil warning about re-render\n */\n setTimeout(() => this.decode(this.certificateToDecode), 100);\n }\n }\n\n private handleClickDecode = () => {\n const { value } = this.inputPaste;\n\n if (value) {\n this.decode(value);\n }\n };\n\n private handleClickClear = () => {\n this.clearValue();\n };\n\n private handleChangeInputFile = async (event: any) => {\n const element = event.target;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n\n element.value = '';\n }\n };\n\n private handleChangeExample = (event: any) => {\n if (event.target.value) {\n this.decode(event.target.value);\n } else {\n this.clearValue();\n }\n };\n\n private handleDropFile = async (event: any) => {\n event.stopPropagation();\n event.preventDefault();\n\n const element = event.dataTransfer;\n\n if (element.files) {\n const file = await readAsBinaryString(element.files[0]);\n\n if (typeof file.value === 'string') {\n this.decode(file.value);\n }\n }\n };\n\n clearValue() {\n this.inputPaste.value = '';\n this.certificateDecoded = null;\n this.clearCertificate.emit();\n }\n\n setValue(value: typeof this.certificateDecoded) {\n this.certificateDecoded = value;\n this.inputPaste.value = value.toString('pem');\n this.successParse.emit(value.toString('base64url'));\n }\n\n decode(value: string) {\n new Promise<X509Certificates>((resolve) => {\n resolve(new X509Certificates(value));\n })\n .catch(() => new X509Certificate(value))\n .catch(() => new X509AttributeCertificate(value))\n .catch(() => new Pkcs10CertificateRequest(value))\n .catch(() => new X509Crl(value))\n .then((res: typeof this.certificateDecoded) => this.setValue(res))\n .catch((error) => {\n console.log(error);\n\n alert(`Error decoding certificate:\\n\"${value}\"\\n\\nPlease try to use Certificate/AttributeCertificate/CertificateRequest/CRL.`);\n });\n }\n\n renderCertificate() {\n if (this.certificateDecoded instanceof X509Certificates) {\n return (\n <peculiar-certificate-chain-viewer\n certificates={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Certificate) {\n return (\n <peculiar-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509AttributeCertificate) {\n return (\n <peculiar-attribute-certificate-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof Pkcs10CertificateRequest) {\n return (\n <peculiar-csr-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n if (this.certificateDecoded instanceof X509Crl) {\n return (\n <peculiar-crl-viewer\n certificate={this.certificateDecoded}\n download\n />\n );\n }\n\n return null;\n }\n\n render() {\n return (\n <Host>\n <textarea\n placeholder=\"Certificate DER or PEM\"\n class=\"textarea t-b2 c-black\"\n ref={(el) => { this.inputPaste = el; }}\n onDrop={this.handleDropFile}\n />\n <div class=\"controls\">\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Drag or load file:\n </Typography>\n <input\n type=\"file\"\n accept=\"application/pkix-cert,application/x-x509-ca-cert,application/x-x509-user-cert,application/pkcs10,application/pkix-crl,.csr,.req,.crl\"\n onChange={this.handleChangeInputFile}\n value=\"\"\n />\n </div>\n {this.certificateExamples?.length && (\n <div class=\"control_row\">\n <Typography\n variant=\"b3\"\n color=\"secondary-tint-2\"\n >\n Load examples:\n </Typography>\n <select onChange={this.handleChangeExample}>\n <option value=\"\">None</option>\n {this.certificateExamples.map((example) => (\n <option value={example.value}>\n {example.title}\n </option>\n ))}\n </select>\n </div>\n )}\n <div class=\"control_row\">\n <Button\n onClick={this.handleClickDecode}\n >\n Decode\n </Button>\n <Button\n onClick={this.handleClickClear}\n >\n Clear\n </Button>\n </div>\n </div>\n {this.renderCertificate()}\n </Host>\n );\n }\n}\n"],"names":["Convert"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YACO,MAAM,OAAO,GAAG,sBAAsB;YACtC,MAAM,aAAa,GAAG,sBAAsB;;YCgB7C,MAAO,gBAAiB,SAAQ,KAAsB,CAAA;YAC1D,IAAA,WAAA,CAAY,GAAW,EAAA;YACrB,QAAA,KAAK,EAAE;YAEP,QAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG;0BACnC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAKA,oBAAO,CAAC,WAAW,CAAC,KAAK,CAAC;YACpE,cAAE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAElB,QAAA,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,YAAA,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC;;;YAIjF,QAAA,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;wBAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;;;YAIxC,IAAA,IAAW,UAAU,GAAA;YACnB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;yBACnB,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU;yBACvB,IAAI,CAAC,GAAG,CAAC;;YAGd,IAAA,IAAW,GAAG,GAAA;YACZ,QAAA,MAAM,UAAU,GAAG,IAAI,UAAU,EAAE;YAEnC,QAAA,UAAU,CAAC,OAAO,GAAG,CAAC;YACtB,QAAA,UAAU,CAAC,gBAAgB,CAAC,YAAY,GAAG,OAAO;YAClD,QAAA,UAAU,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,mBAAmB,CAAC;wBAC7D,MAAM,EAAE,IAAI,WAAW,EAAE;YAC1B,SAAA,CAAC;oBACF,UAAU,CAAC,YAAY,GAAG,IAAI,cAAc,CAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,kBAAkB,CAAC;wBACjD,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC;qBAClD,CAAC,CAAC,CACJ;YAED,QAAA,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC;YAC1B,YAAA,WAAW,EAAE,aAAa;YAC1B,YAAA,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;YAC1C,SAAA,CAAC;YAEF,QAAA,OAAO,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC;;gBAG3B,QAAQ,CAAC,SAAyC,KAAK,EAAA;oBAC5D,QAAQ,MAAM;YACZ,YAAA,KAAK,KAAK;YACR,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;YACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;iCAC5B,IAAI,CAAC,IAAI,CAAC;YACf,YAAA,KAAK,WAAW;YACd,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;YACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;iCAClC,IAAI,CAAC,GAAG,CAAC;YACd,YAAA;YACE,gBAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI;YACnB,qBAAA,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;iCAC/B,IAAI,CAAC,GAAG,CAAC;;;YAIX,IAAA,aAAa,CAAC,IAAa,EAAA;YAChC,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CACjB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EACpB,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;YAGI,IAAA,aAAa,CAAC,IAAa,EAAA;YAChC,QAAA,QAAQ,CAAC,IAAI,CAAC,KAAK,CACjB,IAAI,CAAC,GAAG,EACR,IAAI,IAAI,IAAI,CAAC,UAAU,CACxB;;YAEJ;;YC9FD,MAAM,qBAAqB,GAAG,4mQAA4mQ;;kBCkC7nQ,kBAAkB,2CAAA,MAAA;YAL/B,IAAA,WAAA,CAAA,OAAA,EAAA;;;;YA8CU,QAAA,IAAiB,CAAA,iBAAA,GAAG,MAAK;YAC/B,YAAA,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU;wBAEjC,IAAI,KAAK,EAAE;YACT,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;;YAEtB,SAAC;YAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;wBAC9B,IAAI,CAAC,UAAU,EAAE;YACnB,SAAC;YAEO,QAAA,IAAA,CAAA,qBAAqB,GAAG,OAAO,KAAU,KAAI;YACnD,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;YAE5B,YAAA,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,gBAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvD,gBAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;YAGzB,gBAAA,OAAO,CAAC,KAAK,GAAG,EAAE;;YAEtB,SAAC;YAEO,QAAA,IAAA,CAAA,mBAAmB,GAAG,CAAC,KAAU,KAAI;YAC3C,YAAA,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE;4BACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;;6BAC1B;4BACL,IAAI,CAAC,UAAU,EAAE;;YAErB,SAAC;YAEO,QAAA,IAAA,CAAA,cAAc,GAAG,OAAO,KAAU,KAAI;wBAC5C,KAAK,CAAC,eAAe,EAAE;wBACvB,KAAK,CAAC,cAAc,EAAE;YAEtB,YAAA,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY;YAElC,YAAA,IAAI,OAAO,CAAC,KAAK,EAAE;YACjB,gBAAA,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAEvD,gBAAA,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;;;YAG7B,SAAC;YA0IF;gBAlMC,gBAAgB,GAAA;YACd,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B;;YAEG;YACH,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,GAAG,CAAC;;;gBAqDhE,UAAU,GAAA;YACR,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE;YAC1B,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI;YAC9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;;YAG9B,IAAA,QAAQ,CAAC,KAAqC,EAAA;YAC5C,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK;oBAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;;YAGrD,IAAA,MAAM,CAAC,KAAa,EAAA;YAClB,QAAA,IAAI,OAAO,CAAmB,CAAC,OAAO,KAAI;YACxC,YAAA,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;YACtC,SAAC;yBACE,KAAK,CAAC,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC;yBACtC,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC;yBAC/C,KAAK,CAAC,MAAM,IAAI,wBAAwB,CAAC,KAAK,CAAC;yBAC/C,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC;YAC9B,aAAA,IAAI,CAAC,CAAC,GAAmC,KAAK,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAChE,aAAA,KAAK,CAAC,CAAC,KAAK,KAAI;YACf,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;YAElB,YAAA,KAAK,CAAC,CAAA,8BAAA,EAAiC,KAAK,CAAA,+EAAA,CAAiF,CAAC;YAChI,SAAC,CAAC;;gBAGN,iBAAiB,GAAA;YACf,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,gBAAgB,EAAE;YACvD,YAAA,QACE,CACE,CAAA,mCAAA,EAAA,EAAA,YAAY,EAAE,IAAI,CAAC,kBAAkB,EACrC,QAAQ,EACR,IAAA,EAAA,CAAA;;YAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,eAAe,EAAE;YACtD,YAAA,QACE,CACE,CAAA,6BAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;YAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,wBAAwB,EAAE;YAC/D,YAAA,QACE,CACE,CAAA,uCAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;YAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,wBAAwB,EAAE;YAC/D,YAAA,QACE,CACE,CAAA,qBAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;YAIN,QAAA,IAAI,IAAI,CAAC,kBAAkB,YAAY,OAAO,EAAE;YAC9C,YAAA,QACE,CACE,CAAA,qBAAA,EAAA,EAAA,WAAW,EAAE,IAAI,CAAC,kBAAkB,EACpC,QAAQ,EACR,IAAA,EAAA,CAAA;;YAIN,QAAA,OAAO,IAAI;;gBAGb,MAAM,GAAA;;YACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAC,wBAAwB,EACpC,KAAK,EAAC,uBAAuB,EAC7B,GAAG,EAAE,CAAC,EAAE,KAAI,EAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAE,EACtC,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,CAAA,EACF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACnB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAC,CAAA,UAAU,qDACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,kBAAkB,EAGb,EAAA,oBAAA,CAAA,EACb,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,sIAAsI,EAC7I,QAAQ,EAAE,IAAI,CAAC,qBAAqB,EACpC,KAAK,EAAC,EAAE,GACR,CACE,EACL,CAAA,CAAA,EAAA,GAAA,IAAI,CAAC,mBAAmB,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,MAAM,MAC/B,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,aAAa,EAAA,EACtB,CAAC,CAAA,UAAU,qDACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,kBAAkB,EAGb,EAAA,gBAAA,CAAA,EACb,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAA,EACxC,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,EAAE,EAAc,EAAA,MAAA,CAAA,EAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,OAAO,MACpC,CAAQ,CAAA,QAAA,EAAA,EAAA,KAAK,EAAE,OAAO,CAAC,KAAK,EAAA,EACzB,OAAO,CAAC,KAAK,CACP,CACV,CAAC,CACK,CACL,CACP,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAA,CAAC,MAAM,EACL,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAGxB,EAAA,QAAA,CAAA,EACT,CAAC,CAAA,MAAM,qDACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAGvB,EAAA,OAAA,CAAA,CACL,CACF,EACL,IAAI,CAAC,iBAAiB,EAAE,CACpB;;;;;;;;;;;","x_google_ignoreList":[0]}
@@ -1,7 +1,7 @@
1
1
  var __extends=this&&this.__extends||function(){var t=function(n,r){t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var r in n)if(Object.prototype.hasOwnProperty.call(n,r))t[r]=n[r]};return t(n,r)};return function(n,r){if(typeof r!=="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");t(n,r);function e(){this.constructor=n}n.prototype=r===null?Object.create(r):(e.prototype=r.prototype,new e)}}();var __awaiter=this&&this.__awaiter||function(t,n,r,e){function i(t){return t instanceof r?t:new r((function(n){n(t)}))}return new(r||(r=Promise))((function(r,u){function o(t){try{f(e.next(t))}catch(t){u(t)}}function a(t){try{f(e["throw"](t))}catch(t){u(t)}}function f(t){t.done?r(t.value):i(t.value).then(o,a)}f((e=e.apply(t,n||[])).next())}))};var __generator=this&&this.__generator||function(t,n){var r={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},e,i,u,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(t){return function(n){return f([t,n])}}function f(a){if(e)throw new TypeError("Generator is already executing.");while(o&&(o=0,a[0]&&(r=0)),r)try{if(e=1,i&&(u=a[0]&2?i["return"]:a[0]?i["throw"]||((u=i["return"])&&u.call(i),0):i.next)&&!(u=u.call(i,a[1])).done)return u;if(i=0,u)a=[a[0]&2,u.value];switch(a[0]){case 0:case 1:u=a;break;case 4:r.label++;return{value:a[1],done:false};case 5:r.label++;i=a[1];a=[0];continue;case 7:a=r.ops.pop();r.trys.pop();continue;default:if(!(u=r.trys,u=u.length>0&&u[u.length-1])&&(a[0]===6||a[0]===2)){r=0;continue}if(a[0]===3&&(!u||a[1]>u[0]&&a[1]<u[3])){r.label=a[1];break}if(a[0]===6&&r.label<u[1]){r.label=u[1];u=a;break}if(u&&r.label<u[2]){r.label=u[2];r.ops.push(a);break}if(u[2])r.ops.pop();r.trys.pop();continue}a=n.call(t,r)}catch(t){a=[6,t];i=0}finally{e=u=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};
2
2
  /*!
3
3
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
4
- */System.register(["./p-B0CjUC4o.system.js"],(function(t){"use strict";var n,r,e,i,u,o,a,f,c,s,h,l,v,b,m,w,g,y,_,p;return{setters:[function(t){n=t.A;r=t.c;e=t.C;i=t.P;u=t.b;o=t.N;a=t.a;f=t.E;c=t.e;s=t.i;h=t.f;l=t.g;v=t.R;b=t.h;m=t.j;w=t.k;g=t.l;y=t.m;_=t.n;p=t.D}],execute:function(){
4
+ */System.register(["./p-DgcB4Nqx.system.js"],(function(t){"use strict";var n,r,e,i,u,o,a,f,c,s,h,l,v,b,m,w,g,y,_,p;return{setters:[function(t){n=t.A;r=t.c;e=t.C;i=t.P;u=t.b;o=t.N;a=t.a;f=t.E;c=t.e;s=t.i;h=t.f;l=t.g;v=t.R;b=t.h;m=t.j;w=t.k;g=t.l;y=t.m;_=t.n;p=t.D}],execute:function(){
5
5
  /**
6
6
  * @license
7
7
  * Copyright (c) Peculiar Ventures, LLC.
@@ -10,4 +10,4 @@ var __extends=this&&this.__extends||function(){var t=function(n,r){t=Object.setP
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
12
  var O=function(t){__extends(n,t);function n(n){var f=t.call(this,r(n),e)||this;f.thumbprints={};f.type="X.509 Certificate";f.tag=i.CertificateTag;var c=f.asn.tbsCertificate;f.serialNumber=u.Convert.ToHex(c.serialNumber);f.subject=new o(c.subject).toJSON();f.issuer=new o(c.issuer).toJSON();f.version=c.version+1;var s=c.validity.notBefore.utcTime||c.validity.notBefore.generalTime;if(!s){throw new Error("Cannot get 'notBefore' value")}f.notBefore=s;var h=c.validity.notAfter.utcTime||c.validity.notAfter.generalTime;if(!h){throw new Error("Cannot get 'notAfter' value")}f.notAfter=h;f.validity=a(f.notBefore,f.notAfter);return f}n.prototype.parseExtensions=function(){var t=this.asn.tbsCertificate;if(t.extensions){this.extensions=t.extensions.map((function(t){return new f(c.serialize(t))}))}};n.prototype.getPublicKeyInfo=function(t){var n=this;var r=t.subjectPublicKey,e=t.algorithm;var i;if(e.algorithm===s&&e.parameters){i=c.parse(e.parameters,h)}if(e.algorithm===l){i=c.parse(r,v)}if(e.algorithm===b){i=c.parse(r,m);i=i.map((function(t){return n.getPublicKeyInfo(t)}))}var u=c.serialize(t);return{params:i,value:u,algorithm:e.algorithm}};Object.defineProperty(n.prototype,"publicKey",{get:function(){return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo)},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"signature",{get:function(){var t=this.asn,n=t.signatureValue,r=t.signatureAlgorithm;var e;if(r.algorithm===w){var i=c.parse(n,g);var u=c.parse(r.parameters,y);e=u.map((function(t,n){return Object.assign(Object.assign({},t),{value:i[n]})}))}return{params:e,value:n,algorithm:r.algorithm}},enumerable:false,configurable:true});n.prototype.getThumbprint=function(){return __awaiter(this,arguments,void 0,(function(t){var n,r;if(t===void 0){t="SHA-1"}return __generator(this,(function(e){switch(e.label){case 0:e.trys.push([0,2,,3]);return[4,_(t,this.raw)];case 1:n=e.sent();if(n){this.thumbprints[t]=u.Convert.ToHex(n)}return[3,3];case 2:r=e.sent();console.error("Error thumbprint get:",r);return[3,3];case 3:return[2]}}))}))};Object.defineProperty(n.prototype,"commonName",{get:function(){if(!this.subject){return""}for(var t=0;t<this.subject.length;t+=1){var n=this.subject[t];if(n.shortName==="CN"||n.shortName==="E"||n.shortName==="O"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"issuerCommonName",{get:function(){if(!this.issuer){return""}for(var t=0;t<this.issuer.length;t+=1){var n=this.issuer[t];if(n.shortName==="CN"){return n.value}if(n.shortName==="E"){return n.value}}return""},enumerable:false,configurable:true});Object.defineProperty(n.prototype,"isRoot",{get:function(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)},enumerable:false,configurable:true});n.prototype.subjectToString=function(){if(!this.subject){return""}return this.subject.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.issuerToString=function(){if(!this.issuer){return""}return this.issuer.map((function(t){return"".concat(t.shortName,"=").concat(t.value)})).join(", ")};n.prototype.toString=function(t){if(t===void 0){t="pem"}switch(t){case"pem":return i.encode(this.raw,this.tag);case"base64url":return u.Convert.ToBase64Url(this.raw);default:return u.Convert.ToBase64(this.raw)}};n.prototype.downloadAsPEM=function(t){p.cert.asPEM(this.toString("pem"),t||this.commonName)};n.prototype.downloadAsDER=function(t){p.cert.asDER(this.raw,t||this.commonName)};return n}(n);t("X",O)}}}));
13
- //# sourceMappingURL=p-DxdVL_Kj.system.js.map
13
+ //# sourceMappingURL=p-L1KL0R34.system.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"p-DxdVL_Kj.system.js","sources":["src/crypto/x509_certificate.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 { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport {\n id_composite_key,\n id_alg_composite,\n CompositePublicKey,\n CompositeSignatureValue,\n CompositeParams,\n} from '@peculiar/asn1-x509-post-quantum';\nimport { Certificate, SubjectPublicKeyInfo } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { Name, INameJSON } from './name';\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\nexport interface ISignature {\n algorithm: string;\n value: BufferSource;\n params?: {\n algorithm: string;\n value: BufferSource;\n }[];\n}\n\nexport interface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey | IPublicKey[];\n}\n\nexport class X509Certificate extends AsnData<Certificate> {\n public readonly serialNumber: string;\n\n public readonly subject: INameJSON[];\n\n public readonly issuer: INameJSON[];\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 readonly version: number;\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate';\n\n public readonly tag = PemConverter.CertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), Certificate);\n\n const { tbsCertificate } = this.asn;\n\n this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);\n this.subject = new Name(tbsCertificate.subject).toJSON();\n this.issuer = new Name(tbsCertificate.issuer).toJSON();\n this.version = tbsCertificate.version + 1;\n\n const notBefore = tbsCertificate.validity.notBefore.utcTime\n || tbsCertificate.validity.notBefore.generalTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = tbsCertificate.validity.notAfter.utcTime\n || tbsCertificate.validity.notAfter.generalTime;\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 }\n\n public parseExtensions() {\n const { tbsCertificate } = this.asn;\n\n if (tbsCertificate.extensions) {\n this.extensions = tbsCertificate.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n private getPublicKeyInfo(publicKeyInfo: SubjectPublicKeyInfo) {\n const { subjectPublicKey, algorithm } = publicKeyInfo;\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 if (algorithm.algorithm === id_composite_key) {\n params = AsnConvert.parse(subjectPublicKey, CompositePublicKey);\n\n params = params.map((param) => this.getPublicKeyInfo(param));\n }\n\n const spki = AsnConvert.serialize(publicKeyInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get publicKey(): IPublicKey {\n return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo);\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n let params;\n\n if (signatureAlgorithm.algorithm === id_alg_composite) {\n const compositeSignatureValues = AsnConvert.parse(signatureValue, CompositeSignatureValue);\n const compositeParams = AsnConvert.parse(signatureAlgorithm.parameters, CompositeParams);\n\n params = compositeParams.map((param, index) => ({\n ...param,\n value: compositeSignatureValues[index],\n }));\n }\n\n return {\n params,\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\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 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 get issuerCommonName(): 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') {\n return name.value;\n }\n\n if (name.shortName === 'E') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get isRoot(): boolean {\n return JSON.stringify(this.issuer) === JSON.stringify(this.subject);\n }\n\n public subjectToString() {\n if (!this.subject) {\n return '';\n }\n\n return this.subject\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public issuerToString() {\n if (!this.issuer) {\n return '';\n }\n\n return this.issuer\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"names":["Convert"],"mappings":"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"}
1
+ {"version":3,"file":"p-L1KL0R34.system.js","sources":["src/crypto/x509_certificate.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 { AsnConvert } from '@peculiar/asn1-schema';\nimport { ECParameters, id_ecPublicKey } from '@peculiar/asn1-ecc';\nimport { id_rsaEncryption, RSAPublicKey } from '@peculiar/asn1-rsa';\nimport {\n id_composite_key,\n id_alg_composite,\n CompositePublicKey,\n CompositeSignatureValue,\n CompositeParams,\n} from '@peculiar/asn1-x509-post-quantum';\nimport { Certificate, SubjectPublicKeyInfo } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateDiff, Download } from '../utils';\n\nimport { Name, INameJSON } from './name';\nimport { Extension, TExtensionValue } from './extension';\nimport { AsnData } from './asn_data';\nimport { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\n getCertificateThumbprint,\n} from './utils';\n\nexport interface ISignature {\n algorithm: string;\n value: BufferSource;\n params?: {\n algorithm: string;\n value: BufferSource;\n }[];\n}\n\nexport interface IPublicKey {\n algorithm: string;\n value: BufferSource;\n params?: ECParameters | RSAPublicKey | IPublicKey[];\n}\n\nexport class X509Certificate extends AsnData<Certificate> {\n public readonly serialNumber: string;\n\n public readonly subject: INameJSON[];\n\n public readonly issuer: INameJSON[];\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 readonly version: number;\n\n public thumbprints: Record<string, string> = {};\n\n public readonly type = 'X.509 Certificate';\n\n public readonly tag = PemConverter.CertificateTag;\n\n constructor(raw: string) {\n super(certificateRawToBuffer(raw), Certificate);\n\n const { tbsCertificate } = this.asn;\n\n this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);\n this.subject = new Name(tbsCertificate.subject).toJSON();\n this.issuer = new Name(tbsCertificate.issuer).toJSON();\n this.version = tbsCertificate.version + 1;\n\n const notBefore = tbsCertificate.validity.notBefore.utcTime\n || tbsCertificate.validity.notBefore.generalTime;\n\n if (!notBefore) {\n throw new Error(\"Cannot get 'notBefore' value\");\n }\n\n this.notBefore = notBefore;\n\n const notAfter = tbsCertificate.validity.notAfter.utcTime\n || tbsCertificate.validity.notAfter.generalTime;\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 }\n\n public parseExtensions() {\n const { tbsCertificate } = this.asn;\n\n if (tbsCertificate.extensions) {\n this.extensions = tbsCertificate.extensions\n .map((e) => new Extension(AsnConvert.serialize(e)));\n }\n }\n\n private getPublicKeyInfo(publicKeyInfo: SubjectPublicKeyInfo) {\n const { subjectPublicKey, algorithm } = publicKeyInfo;\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 if (algorithm.algorithm === id_composite_key) {\n params = AsnConvert.parse(subjectPublicKey, CompositePublicKey);\n\n params = params.map((param) => this.getPublicKeyInfo(param));\n }\n\n const spki = AsnConvert.serialize(publicKeyInfo);\n\n return {\n params,\n value: spki,\n algorithm: algorithm.algorithm,\n };\n }\n\n public get publicKey(): IPublicKey {\n return this.getPublicKeyInfo(this.asn.tbsCertificate.subjectPublicKeyInfo);\n }\n\n public get signature(): ISignature {\n const { signatureValue, signatureAlgorithm } = this.asn;\n let params;\n\n if (signatureAlgorithm.algorithm === id_alg_composite) {\n const compositeSignatureValues = AsnConvert.parse(signatureValue, CompositeSignatureValue);\n const compositeParams = AsnConvert.parse(signatureAlgorithm.parameters, CompositeParams);\n\n params = compositeParams.map((param, index) => ({\n ...param,\n value: compositeSignatureValues[index],\n }));\n }\n\n return {\n params,\n value: signatureValue,\n algorithm: signatureAlgorithm.algorithm,\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 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 get issuerCommonName(): 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') {\n return name.value;\n }\n\n if (name.shortName === 'E') {\n return name.value;\n }\n }\n\n return '';\n }\n\n public get isRoot(): boolean {\n return JSON.stringify(this.issuer) === JSON.stringify(this.subject);\n }\n\n public subjectToString() {\n if (!this.subject) {\n return '';\n }\n\n return this.subject\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public issuerToString() {\n if (!this.issuer) {\n return '';\n }\n\n return this.issuer\n .map((name) => (\n `${name.shortName}=${name.value}`\n ))\n .join(', ');\n }\n\n public toString(format: 'pem' | 'base64' | 'base64url' = 'pem'): string {\n switch (format) {\n case 'pem':\n return PemConverter.encode(this.raw, this.tag);\n case 'base64url':\n return Convert.ToBase64Url(this.raw);\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.cert.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.cert.asDER(\n this.raw,\n name || this.commonName,\n );\n }\n}\n"],"names":["Convert"],"mappings":"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"}