@peculiar/certificates-viewer 4.3.0 → 4.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/attribute-certificate-viewer.js +5 -5
- package/components/attribute-certificate-viewer.js.map +1 -1
- package/components/attribute.js +1 -1
- package/components/certificate-chain-viewer.js +66 -0
- package/components/certificate-chain-viewer.js.map +1 -0
- package/components/certificate-viewer.js +5 -5
- package/components/certificate-viewer.js.map +1 -1
- package/components/circular-progress.js +3 -3
- package/components/crl-viewer.js +5 -5
- package/components/crl-viewer.js.map +1 -1
- package/components/download.js +257 -46
- package/components/download.js.map +1 -1
- package/components/highlight-words.js +1 -1
- package/components/index2.js +1 -1
- package/components/issuer_name.js +1 -1
- package/components/miscellaneous.js +1 -1
- package/components/miscellaneous.js.map +1 -1
- package/components/peculiar-certificate-chain-viewer.d.ts +11 -0
- package/components/peculiar-certificate-chain-viewer.js +11 -0
- package/components/peculiar-certificate-chain-viewer.js.map +1 -0
- package/components/peculiar-certificate-decoder.js +105 -19
- package/components/peculiar-certificate-decoder.js.map +1 -1
- package/components/peculiar-certificates-viewer.js +2 -2
- package/components/peculiar-certificates-viewer.js.map +1 -1
- package/components/peculiar-text-hider.js +1 -1
- package/components/pkcs10_certificate_request.js +5 -5
- package/components/pkcs10_certificate_request.js.map +1 -1
- package/components/subject_name.js +1 -1
- package/dist/cjs/{actions-789906f5.js → actions-64ce3326.js} +2 -2
- package/dist/cjs/{actions-789906f5.js.map → actions-64ce3326.js.map} +1 -1
- package/dist/cjs/{arrow_top-76e4261e.js → arrow_top-b9b9f280.js} +2 -2
- package/dist/cjs/{arrow_top-76e4261e.js.map → arrow_top-b9b9f280.js.map} +1 -1
- package/dist/cjs/{button-87086210.js → button-61bb8305.js} +2 -2
- package/dist/cjs/{button-87086210.js.map → button-61bb8305.js.map} +1 -1
- package/dist/cjs/{certification_request-314859bb.js → certification_request-393a843d.js} +279 -66
- package/dist/cjs/certification_request-393a843d.js.map +1 -0
- package/dist/cjs/{cross-bd099933.js → cross-3aeffd04.js} +2 -2
- package/dist/cjs/{cross-bd099933.js.map → cross-3aeffd04.js.map} +1 -1
- package/dist/cjs/{download-820d66ba.js → download-c2836546.js} +2 -2
- package/dist/cjs/{download-820d66ba.js.map → download-c2836546.js.map} +1 -1
- package/dist/cjs/index-484a84a0.js +2113 -0
- package/dist/cjs/index-484a84a0.js.map +1 -0
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{link-a3d3799d.js → link-dad7195a.js} +3 -3
- package/dist/cjs/{link-a3d3799d.js.map → link-dad7195a.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{miscellaneous-f1bc3a4b.js → miscellaneous-ca06fb81.js} +6 -6
- package/dist/cjs/{miscellaneous-f1bc3a4b.js.map → miscellaneous-ca06fb81.js.map} +1 -1
- package/dist/cjs/{peculiar-attribute-certificate-viewer_3.cjs.entry.js → peculiar-attribute-certificate-viewer_4.cjs.entry.js} +40 -9
- package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -0
- package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +7 -7
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +101 -21
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +7 -7
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +8 -8
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -4
- package/dist/cjs/peculiar.cjs.js +10 -10
- package/dist/cjs/peculiar.cjs.js.map +1 -1
- package/dist/cjs/{pkcs10_certificate_request-93c66ce7.js → pkcs10_certificate_request-56990e4f.js} +6 -6
- package/dist/cjs/pkcs10_certificate_request-56990e4f.js.map +1 -0
- package/dist/cjs/{x509_certificate-0776e3ec.js → x509_certificate-d162984c.js} +6 -6
- package/dist/cjs/x509_certificate-d162984c.js.map +1 -0
- package/dist/cjs/{x509_crl-5326d209.js → x509_crl-13322e13.js} +11 -11
- package/dist/cjs/x509_crl-13322e13.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -2
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +14 -0
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
- package/dist/collection/components/button-menu/button-menu.js +2 -0
- package/dist/collection/components/button-menu/button-menu.js.map +1 -1
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +1019 -0
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +101 -0
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -0
- package/dist/collection/components/certificate-decoder/certificate-decoder.css +1 -4
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +40 -18
- package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
- package/dist/collection/components/certificate-viewer/certificate-viewer.js +16 -0
- package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
- package/dist/collection/components/certificates-viewer/certificates-viewer.js +9 -1
- package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
- package/dist/collection/components/circular-progress/circular-progress.js +7 -3
- package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
- package/dist/collection/components/crl-viewer/crl-viewer.js +12 -0
- package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
- package/dist/collection/components/csr-viewer/csr-viewer.js +10 -0
- package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
- package/dist/collection/components/highlight-words/highlight-words.js +3 -1
- package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
- package/dist/collection/components/text-hider/text-hider.js +1 -1
- package/dist/collection/crypto/index.js +1 -0
- package/dist/collection/crypto/index.js.map +1 -1
- package/dist/collection/crypto/pem_converter.js +169 -0
- package/dist/collection/crypto/pem_converter.js.map +1 -0
- package/dist/collection/crypto/pkcs10_certificate_request.js +6 -5
- package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
- package/dist/collection/crypto/utils.js +18 -21
- package/dist/collection/crypto/utils.js.map +1 -1
- package/dist/collection/crypto/x509_attribute_certificate.js +6 -5
- package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificate.js +6 -5
- package/dist/collection/crypto/x509_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificates.js +69 -0
- package/dist/collection/crypto/x509_certificates.js.map +1 -0
- package/dist/collection/crypto/x509_crl.js +6 -5
- package/dist/collection/crypto/x509_crl.js.map +1 -1
- package/dist/collection/utils/index.js +0 -2
- package/dist/collection/utils/index.js.map +1 -1
- package/dist/collection/www-copy/index.js +123 -121
- package/dist/esm/{actions-aebcbc9d.js → actions-2e39a3b9.js} +2 -2
- package/dist/esm/{actions-aebcbc9d.js.map → actions-2e39a3b9.js.map} +1 -1
- package/dist/esm/{arrow_top-aee1ee02.js → arrow_top-72c7543a.js} +2 -2
- package/dist/esm/{arrow_top-aee1ee02.js.map → arrow_top-72c7543a.js.map} +1 -1
- package/dist/esm/{button-a2fabf9a.js → button-e0909687.js} +2 -2
- package/dist/esm/{button-a2fabf9a.js.map → button-e0909687.js.map} +1 -1
- package/dist/esm/{certification_request-b531916a.js → certification_request-714bd438.js} +258 -47
- package/dist/esm/certification_request-714bd438.js.map +1 -0
- package/dist/esm/{cross-1377606f.js → cross-0c62835f.js} +2 -2
- package/dist/esm/{cross-1377606f.js.map → cross-0c62835f.js.map} +1 -1
- package/dist/esm/{download-14dc1047.js → download-5686d86f.js} +2 -2
- package/dist/esm/{download-14dc1047.js.map → download-5686d86f.js.map} +1 -1
- package/dist/esm/index-38365508.js +2084 -0
- package/dist/esm/index-38365508.js.map +1 -0
- package/dist/esm/index.js +9 -9
- package/dist/esm/{link-7e4e9060.js → link-09718951.js} +3 -3
- package/dist/esm/{link-7e4e9060.js.map → link-09718951.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{miscellaneous-7fe71e3f.js → miscellaneous-0657d00e.js} +6 -6
- package/dist/esm/{miscellaneous-7fe71e3f.js.map → miscellaneous-0657d00e.js.map} +1 -1
- package/dist/esm/{peculiar-attribute-certificate-viewer_3.entry.js → peculiar-attribute-certificate-viewer_4.entry.js} +40 -10
- package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
- package/dist/esm/peculiar-button-menu_3.entry.js +7 -7
- package/dist/esm/peculiar-certificate-decoder.entry.js +101 -21
- package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-viewer.entry.js +7 -7
- package/dist/esm/peculiar-certificates-viewer.entry.js +8 -8
- package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-text-hider.entry.js +4 -4
- package/dist/esm/peculiar.js +11 -11
- package/dist/esm/peculiar.js.map +1 -1
- package/dist/esm/{pkcs10_certificate_request-cca2ca68.js → pkcs10_certificate_request-d3871050.js} +6 -6
- package/dist/esm/pkcs10_certificate_request-d3871050.js.map +1 -0
- package/dist/esm/{x509_certificate-050175dd.js → x509_certificate-d0d0c5c1.js} +6 -6
- package/dist/esm/x509_certificate-d0d0c5c1.js.map +1 -0
- package/dist/esm/{x509_crl-c497f907.js → x509_crl-e837f4c3.js} +11 -11
- package/dist/esm/x509_crl-e837f4c3.js.map +1 -0
- package/dist/esm-es5/{actions-aebcbc9d.js → actions-2e39a3b9.js} +2 -2
- package/dist/esm-es5/{actions-aebcbc9d.js.map → actions-2e39a3b9.js.map} +1 -1
- package/dist/esm-es5/app-globals-5e9b67e0.js.map +1 -1
- package/dist/esm-es5/{arrow_top-aee1ee02.js → arrow_top-72c7543a.js} +2 -2
- package/dist/esm-es5/{arrow_top-aee1ee02.js.map → arrow_top-72c7543a.js.map} +1 -1
- package/dist/esm-es5/{button-a2fabf9a.js → button-e0909687.js} +2 -2
- package/dist/esm-es5/{button-a2fabf9a.js.map → button-e0909687.js.map} +1 -1
- package/dist/esm-es5/{certification_request-b531916a.js → certification_request-714bd438.js} +19 -12
- package/dist/esm-es5/certification_request-714bd438.js.map +1 -0
- package/dist/esm-es5/{cross-1377606f.js → cross-0c62835f.js} +2 -2
- package/dist/esm-es5/{cross-1377606f.js.map → cross-0c62835f.js.map} +1 -1
- package/dist/esm-es5/{download-14dc1047.js → download-5686d86f.js} +2 -2
- package/dist/esm-es5/{download-14dc1047.js.map → download-5686d86f.js.map} +1 -1
- package/dist/esm-es5/index-38365508.js +6 -0
- package/dist/esm-es5/index-38365508.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/index.js.map +1 -1
- package/dist/esm-es5/{link-7e4e9060.js → link-09718951.js} +3 -3
- package/dist/esm-es5/{link-7e4e9060.js.map → link-09718951.js.map} +1 -1
- package/dist/esm-es5/loader.js +2 -2
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/{miscellaneous-7fe71e3f.js → miscellaneous-0657d00e.js} +2 -2
- package/dist/esm-es5/{miscellaneous-7fe71e3f.js.map → miscellaneous-0657d00e.js.map} +1 -1
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +110 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -0
- package/dist/esm-es5/peculiar-button-menu_3.entry.js +1 -1
- package/dist/esm-es5/peculiar-button-menu_3.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js +1 -1
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-text-hider.entry.js +1 -1
- package/dist/esm-es5/peculiar-text-hider.entry.js.map +1 -1
- package/dist/esm-es5/peculiar.js +2 -2
- package/dist/esm-es5/peculiar.js.map +1 -1
- package/dist/esm-es5/{pkcs10_certificate_request-cca2ca68.js → pkcs10_certificate_request-d3871050.js} +3 -3
- package/dist/esm-es5/pkcs10_certificate_request-d3871050.js.map +1 -0
- package/dist/esm-es5/read_file-bb0b1450.js.map +1 -1
- package/dist/esm-es5/x509_certificate-d0d0c5c1.js +12 -0
- package/dist/esm-es5/x509_certificate-d0d0c5c1.js.map +1 -0
- package/dist/esm-es5/x509_crl-e837f4c3.js +19 -0
- package/dist/esm-es5/x509_crl-e837f4c3.js.map +1 -0
- package/dist/peculiar/index.esm.js +1 -1
- package/dist/peculiar/index.esm.js.map +1 -1
- package/dist/peculiar/{p-5a662d6f.system.js → p-02529999.system.js} +2 -2
- package/dist/peculiar/{p-5a662d6f.system.js.map → p-02529999.system.js.map} +1 -1
- package/dist/peculiar/{p-cc256004.system.entry.js → p-04228f9c.system.entry.js} +3 -3
- package/dist/peculiar/{p-cc256004.system.entry.js.map → p-04228f9c.system.entry.js.map} +1 -1
- package/dist/peculiar/{p-bd7fb688.system.entry.js → p-12bc3ebc.system.entry.js} +2 -2
- package/dist/peculiar/{p-bd7fb688.system.entry.js.map → p-12bc3ebc.system.entry.js.map} +1 -1
- package/dist/peculiar/{p-afbd1c8e.entry.js → p-161f7f97.entry.js} +2 -2
- package/dist/peculiar/{p-afbd1c8e.entry.js.map → p-161f7f97.entry.js.map} +1 -1
- package/dist/peculiar/p-25a532a3.js.map +1 -1
- package/dist/peculiar/p-32cf293c.system.js +5 -0
- package/dist/peculiar/p-32cf293c.system.js.map +1 -0
- package/dist/peculiar/{p-52f13c4a.system.js → p-35cd359e.system.js} +2 -2
- package/dist/peculiar/{p-52f13c4a.system.js.map → p-35cd359e.system.js.map} +1 -1
- package/dist/peculiar/p-39bbe0b9.system.entry.js +5 -0
- package/dist/peculiar/{p-b5389885.system.entry.js.map → p-39bbe0b9.system.entry.js.map} +1 -1
- package/dist/peculiar/p-41eacbcd.system.entry.js +111 -0
- package/dist/peculiar/p-41eacbcd.system.entry.js.map +1 -0
- package/dist/peculiar/p-47b7dd9e.entry.js +110 -0
- package/dist/peculiar/p-47b7dd9e.entry.js.map +1 -0
- package/dist/peculiar/{p-8bbee8f4.system.js → p-4ee5beee.system.js} +2 -2
- package/dist/peculiar/{p-8bbee8f4.system.js.map → p-4ee5beee.system.js.map} +1 -1
- package/dist/peculiar/p-55303453.system.js.map +1 -1
- package/dist/peculiar/{p-ae91d778.js → p-562652dd.js} +2 -2
- package/dist/peculiar/{p-ae91d778.js.map → p-562652dd.js.map} +1 -1
- package/dist/peculiar/p-5b4db88b.system.js +5 -0
- package/dist/peculiar/p-5b4db88b.system.js.map +1 -0
- package/dist/peculiar/{p-e4ad4f13.system.entry.js → p-67452b74.system.entry.js} +2 -2
- package/dist/peculiar/{p-e4ad4f13.system.entry.js.map → p-67452b74.system.entry.js.map} +1 -1
- package/dist/peculiar/p-684b7f0f.system.js +142 -0
- package/dist/peculiar/p-684b7f0f.system.js.map +1 -0
- package/dist/peculiar/{p-8ff95ad8.entry.js → p-6eb92f5a.entry.js} +2 -2
- package/dist/peculiar/{p-8ff95ad8.entry.js.map → p-6eb92f5a.entry.js.map} +1 -1
- package/dist/peculiar/p-8dd6d1ee.entry.js +5 -0
- package/dist/peculiar/p-8dd6d1ee.entry.js.map +1 -0
- package/dist/peculiar/{p-a9487007.js → p-90c3a063.js} +2 -2
- package/dist/peculiar/{p-a9487007.js.map → p-90c3a063.js.map} +1 -1
- package/dist/peculiar/{p-adf16adb.js → p-90f461c0.js} +13 -13
- package/dist/peculiar/{p-adf16adb.js.map → p-90f461c0.js.map} +1 -1
- package/dist/peculiar/{p-99efefea.js → p-92f9641a.js} +2 -2
- package/dist/peculiar/{p-99efefea.js.map → p-92f9641a.js.map} +1 -1
- package/dist/peculiar/p-93e299aa.system.entry.js +5 -0
- package/dist/peculiar/p-93e299aa.system.entry.js.map +1 -0
- package/dist/peculiar/p-9987b899.js +19 -0
- package/dist/peculiar/{p-4bc5ddbe.js.map → p-9987b899.js.map} +1 -1
- package/dist/peculiar/p-9b64adaa.system.js +13 -0
- package/dist/peculiar/p-9b64adaa.system.js.map +1 -0
- package/dist/peculiar/{p-243244af.system.js → p-9ca02302.system.js} +2 -2
- package/dist/peculiar/{p-243244af.system.js.map → p-9ca02302.system.js.map} +1 -1
- package/dist/peculiar/p-a1adb881.js +6 -0
- package/dist/peculiar/p-a1adb881.js.map +1 -0
- package/dist/peculiar/{p-eea904d7.system.js → p-a3054d6e.system.js} +2 -2
- package/dist/peculiar/{p-eea904d7.system.js.map → p-a3054d6e.system.js.map} +1 -1
- package/dist/peculiar/{p-666438a8.js → p-a55fd6f1.js} +20 -13
- package/dist/peculiar/p-a55fd6f1.js.map +1 -0
- package/dist/peculiar/p-a87e1a0e.js +12 -0
- package/dist/peculiar/{p-e6a6e602.js.map → p-a87e1a0e.js.map} +1 -1
- package/dist/peculiar/p-a9ea6c79.system.js +20 -0
- package/dist/peculiar/p-a9ea6c79.system.js.map +1 -0
- package/dist/peculiar/{p-ddadcb44.entry.js → p-b01c70cf.entry.js} +3 -3
- package/dist/peculiar/{p-ddadcb44.entry.js.map → p-b01c70cf.entry.js.map} +1 -1
- package/dist/peculiar/p-b5674f82.js +19 -0
- package/dist/peculiar/p-b5674f82.js.map +1 -0
- package/dist/peculiar/{p-27ca6743.js → p-ba3dfc03.js} +2 -2
- package/dist/peculiar/{p-27ca6743.js.map → p-ba3dfc03.js.map} +1 -1
- package/dist/peculiar/p-bc91996c.system.js +6 -0
- package/dist/peculiar/p-bc91996c.system.js.map +1 -0
- package/dist/peculiar/p-c2995a63.system.js.map +1 -1
- package/dist/peculiar/p-c5d3333c.system.js +19 -0
- package/dist/peculiar/p-c5d3333c.system.js.map +1 -0
- package/dist/peculiar/p-cb8a0b79.js +19 -0
- package/dist/peculiar/p-cb8a0b79.js.map +1 -0
- package/dist/peculiar/{p-c241e4ba.system.js → p-d46670fa.system.js} +2 -2
- package/dist/peculiar/{p-c241e4ba.system.js.map → p-d46670fa.system.js.map} +1 -1
- package/dist/peculiar/{p-9712b827.system.js → p-d9145ee8.system.js} +2 -2
- package/dist/peculiar/{p-9712b827.system.js.map → p-d9145ee8.system.js.map} +1 -1
- package/dist/peculiar/p-dac867e8.js.map +1 -1
- package/dist/peculiar/p-f456fe47.js +12 -0
- package/dist/peculiar/p-f456fe47.js.map +1 -0
- package/dist/peculiar/p-f6ec61db.entry.js +5 -0
- package/dist/peculiar/{p-713563fb.entry.js.map → p-f6ec61db.entry.js.map} +1 -1
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/peculiar/peculiar.esm.js.map +1 -1
- package/dist/peculiar/peculiar.js +1 -1
- package/dist/types/components/certificate-chain-viewer/certificate-chain-viewer.d.ts +21 -0
- package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +5 -4
- package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
- package/dist/types/components/typography/typography.d.ts +0 -1
- package/dist/types/components.d.ts +33 -4
- package/dist/types/crypto/index.d.ts +1 -0
- package/dist/types/crypto/pem_converter.d.ts +71 -0
- package/dist/types/crypto/pkcs10_certificate_request.d.ts +2 -2
- package/dist/types/crypto/utils.d.ts +7 -3
- package/dist/types/crypto/x509_attribute_certificate.d.ts +2 -2
- package/dist/types/crypto/x509_certificate.d.ts +2 -2
- package/dist/types/crypto/x509_certificates.d.ts +9 -0
- package/dist/types/crypto/x509_crl.d.ts +2 -2
- package/dist/types/stencil-public-runtime.d.ts +9 -10
- package/dist/types/utils/index.d.ts +0 -2
- package/hydrate/index.d.ts +36 -12
- package/hydrate/index.js +25200 -15088
- package/hydrate/index.mjs +34931 -0
- package/hydrate/package.json +7 -1
- package/loader/cdn.js +1 -1
- package/loader/index.cjs.js +1 -1
- package/loader/index.d.ts +3 -0
- package/loader/index.es2017.js +1 -1
- package/loader/index.js +1 -1
- package/package.json +32 -29
- package/dist/cjs/certification_request-314859bb.js.map +0 -1
- package/dist/cjs/index-e2ae280a.js +0 -2730
- package/dist/cjs/index-e2ae280a.js.map +0 -1
- package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +0 -1
- package/dist/cjs/pkcs10_certificate_request-93c66ce7.js.map +0 -1
- package/dist/cjs/x509_certificate-0776e3ec.js.map +0 -1
- package/dist/cjs/x509_crl-5326d209.js.map +0 -1
- package/dist/collection/utils/validator.js +0 -25
- package/dist/collection/utils/validator.js.map +0 -1
- package/dist/esm/certification_request-b531916a.js.map +0 -1
- package/dist/esm/index-ae188432.js +0 -2701
- package/dist/esm/index-ae188432.js.map +0 -1
- package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
- package/dist/esm/pkcs10_certificate_request-cca2ca68.js.map +0 -1
- package/dist/esm/x509_certificate-050175dd.js.map +0 -1
- package/dist/esm/x509_crl-c497f907.js.map +0 -1
- package/dist/esm-es5/certification_request-b531916a.js.map +0 -1
- package/dist/esm-es5/index-ae188432.js +0 -6
- package/dist/esm-es5/index-ae188432.js.map +0 -1
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +0 -110
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +0 -1
- package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js.map +0 -1
- package/dist/esm-es5/x509_certificate-050175dd.js +0 -12
- package/dist/esm-es5/x509_certificate-050175dd.js.map +0 -1
- package/dist/esm-es5/x509_crl-c497f907.js +0 -19
- package/dist/esm-es5/x509_crl-c497f907.js.map +0 -1
- package/dist/peculiar/p-05af3b74.system.js +0 -13
- package/dist/peculiar/p-05af3b74.system.js.map +0 -1
- package/dist/peculiar/p-163a3052.system.js +0 -20
- package/dist/peculiar/p-163a3052.system.js.map +0 -1
- package/dist/peculiar/p-2d9c40d6.system.entry.js +0 -111
- package/dist/peculiar/p-2d9c40d6.system.entry.js.map +0 -1
- package/dist/peculiar/p-3cb79cd9.js +0 -6
- package/dist/peculiar/p-3cb79cd9.js.map +0 -1
- package/dist/peculiar/p-494d26fb.entry.js +0 -5
- package/dist/peculiar/p-494d26fb.entry.js.map +0 -1
- package/dist/peculiar/p-4bc5ddbe.js +0 -19
- package/dist/peculiar/p-5a699274.js +0 -19
- package/dist/peculiar/p-5a699274.js.map +0 -1
- package/dist/peculiar/p-6221d0a4.system.entry.js +0 -5
- package/dist/peculiar/p-6221d0a4.system.entry.js.map +0 -1
- package/dist/peculiar/p-666438a8.js.map +0 -1
- package/dist/peculiar/p-713563fb.entry.js +0 -5
- package/dist/peculiar/p-7a5173be.entry.js +0 -110
- package/dist/peculiar/p-7a5173be.entry.js.map +0 -1
- package/dist/peculiar/p-80477c05.js +0 -12
- package/dist/peculiar/p-80477c05.js.map +0 -1
- package/dist/peculiar/p-821bdcdc.system.js +0 -6
- package/dist/peculiar/p-821bdcdc.system.js.map +0 -1
- package/dist/peculiar/p-8393399a.system.js +0 -5
- package/dist/peculiar/p-8393399a.system.js.map +0 -1
- package/dist/peculiar/p-a06f51a2.system.js +0 -19
- package/dist/peculiar/p-a06f51a2.system.js.map +0 -1
- package/dist/peculiar/p-b5389885.system.entry.js +0 -5
- package/dist/peculiar/p-b6d5e413.js +0 -19
- package/dist/peculiar/p-b6d5e413.js.map +0 -1
- package/dist/peculiar/p-d1066b51.system.js +0 -135
- package/dist/peculiar/p-d1066b51.system.js.map +0 -1
- package/dist/peculiar/p-d6229f42.system.js +0 -5
- package/dist/peculiar/p-d6229f42.system.js.map +0 -1
- package/dist/peculiar/p-e6a6e602.js +0 -12
- package/dist/types/utils/validator.d.ts +0 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"crl-viewer.js","mappings":"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","names":["Convert"],"sources":["src/crypto/x509_crl.ts","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx"],"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 */\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 X509Crl 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 readonly type = 'X.509 Certificate Revocation List';\n\n public readonly tag = 'X509 CRL';\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 toString(format: 'hex' | 'pem' | 'base64' = 'pem'): string {\n switch (format) {\n case 'hex':\n return hexFormat(Convert.ToHex(this.raw));\n case 'pem':\n return `-----BEGIN ${this.tag}-----\\n${base64Format(this.toString('base64'))}\\n-----END ${this.tag}-----`;\n default:\n return Convert.ToBase64(this.raw);\n }\n }\n\n public downloadAsPEM(name?: string) {\n Download.crl.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.crl.asDER(\n this.raw,\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason, InvalidityDate, CertificateIssuer } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateShort, l10n, getStringByOID } from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ])),\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\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 {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509Crl } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CrlProp,\n oldValue: CrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"crl-viewer.js","mappings":"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","names":["Convert"],"sources":["src/crypto/x509_crl.ts","src/components/certificate-details-parts/revoked_certificates.tsx","src/components/certificate-viewer/certificate-viewer.scss?tag=peculiar-crl-viewer&encapsulation=shadow","src/components/crl-viewer/crl-viewer.tsx"],"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 */\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 { PemConverter } from './pem_converter';\nimport {\n certificateRawToBuffer,\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 X509Crl 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 readonly type = 'X.509 Certificate Revocation List';\n\n public readonly tag = PemConverter.CrlTag;\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 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.crl.asPEM(\n this.toString('pem'),\n name || this.commonName,\n );\n }\n\n public downloadAsDER(name?: string) {\n Download.crl.asDER(\n this.raw,\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 { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason, InvalidityDate, CertificateIssuer } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\n\nimport { dateShort, l10n, getStringByOID } from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface IRevokedCertificatesProps extends IGeneralNameOptions {\n revokedCertificates: IRevokedCertificate[];\n}\n\nexport const RevokedCertificates: FunctionalComponent<IRevokedCertificatesProps> = (props) => {\n const {\n revokedCertificates,\n getDNSNameLink,\n getIPAddressLink,\n } = props;\n\n if (!revokedCertificates || !revokedCertificates.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('revokedCertificates')}\n />,\n revokedCertificates.map((certificate) => ([\n <RowValue\n name={l10n.getString('serialNumber')}\n value={Convert.ToHex(certificate.userCertificate)}\n monospace\n />,\n <RowValue\n name={l10n.getString('revocationDate')}\n value={dateShort(certificate.revocationDate.getTime())}\n />,\n (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([\n <RowValue\n name={`${l10n.getString('crlEntryExtensions')}:`}\n value=\"\"\n />,\n <TableRowTable>\n {\n certificate.crlEntryExtensions.map((extension) => {\n if (extension.value instanceof CRLReason) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.toJSON() || extension.value.reason}\n />\n );\n }\n\n if (extension.value instanceof InvalidityDate) {\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={extension.value.value.getTime()}\n />\n );\n }\n\n if (extension.value instanceof CertificateIssuer && extension.value.length) {\n return ([\n <RowValue\n name={`${getStringByOID(extension.asn.extnID)}:`}\n value=\"\"\n />,\n extension.value.map((gn) => (\n <TableRowTable>\n <GeneralNamePart\n generalName={gn}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name={getStringByOID(extension.asn.extnID)}\n value={Convert.ToHex(extension.asn.extnValue)}\n monospace\n />\n );\n })\n }\n </TableRowTable>,\n ])),\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ])),\n ];\n};\n","@import '../../css/base.scss';\n\n:host {\n display: block;\n width: 100%;\n position: relative;\n min-width: 280px;\n min-height: 300px;\n word-wrap: break-word;\n word-break: break-word;\n}\n\nth, td {\n border: none;\n}\n\ntable {\n width: 100%;\n border-spacing: 0;\n border-collapse: collapse;\n\n td {\n padding: var(--pv-size-base-2) var(--pv-size-base-4);\n vertical-align: top;\n\n &:first-child {\n width: 220px;\n }\n\n &:last-child {\n width: calc(100% - 220px)\n }\n\n &.monospace {\n max-width: 0;\n }\n\n &.divider {\n padding: var(--pv-size-base-2) 0;\n\n span {\n height: 1px;\n display: block;\n background-color: var(--pv-color-gray-4);\n }\n }\n }\n\n .title td {\n padding-top: var(--pv-size-base-6);\n padding-bottom: var(--pv-size-base-2);\n }\n\n table {\n border-left: 1px solid var(--pv-color-gray-5);\n }\n}\n\n.status_wrapper {\n min-height: inherit;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n:host([data-mobile-screen-view=\"true\"]) {\n table, tr, td {\n display: block;\n }\n\n table {\n tr {\n padding: var(--pv-size-base-2) 0;\n\n &.title {\n padding-top: var(--pv-size-base-6);\n\n td {\n padding: 0 var(--pv-size-base-4);\n }\n }\n }\n\n td {\n padding: 0 var(--pv-size-base-4);\n width: 100% !important;\n max-width: 100% !important;\n\n &.divider {\n padding: 0;\n }\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 {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Build,\n} from '@stencil/core';\n\nimport { X509Crl } from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n IssuerName,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n RevokedCertificates,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CrlProp = string | X509Crl;\n\n@Component({\n tag: 'peculiar-crl-viewer',\n styleUrl: '../certificate-viewer/certificate-viewer.scss',\n shadow: true,\n})\nexport class CrlViewer {\n private certificateDecoded: X509Crl;\n\n private certificateDecodeError: Error;\n\n private mobileMediaQuery: MediaQueryList;\n\n /**\n * The certificate value for decode and show details. Use PEM or DER.\n */\n @Prop({ reflect: true }) certificate: CrlProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop() download?: boolean;\n\n /**\n * Authority Key Identifier extension parent link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.subject_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdParentLink?: string;\n\n /**\n * Authority Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{authKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{authKeyId}}\n */\n @Prop({ reflect: true }) authKeyIdSiblingsLink?: string;\n\n /**\n * Issuer DN link.\n * **NOTE**: HTML component attribute must be `issuer-dn-link`.\n */\n @Prop({ reflect: true }) issuerDnLink?: string;\n\n /**\n * Mobile media query string to control screen view change.\n * <br />\n * **NOTE**: Based on https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia.\n * @example\n * (max-width: 900px)\n */\n @Prop({ reflect: false }) mobileMediaQueryString?: string = '(max-width: 900px)';\n\n @State() mobileScreenView: boolean = false;\n\n @State() isDecodeInProcess: boolean = true;\n\n private handleMediaQueryChange(event: MediaQueryListEvent) {\n this.mobileScreenView = event.matches;\n }\n\n componentWillLoad() {\n this.decodeCertificate(this.certificate);\n\n if (Build.isBrowser) {\n this.mobileMediaQuery = window.matchMedia(this.mobileMediaQueryString);\n this.mobileMediaQuery.addEventListener('change', this.handleMediaQueryChange.bind(this));\n this.mobileScreenView = this.mobileMediaQuery.matches;\n }\n }\n\n disconnectedCallback() {\n this.mobileMediaQuery.removeEventListener('change', this.handleMediaQueryChange.bind(this));\n }\n\n private async decodeCertificate(certificate: CrlProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Crl) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Crl(certificate);\n } else {\n return;\n }\n\n this.certificateDecoded.parseExtensions();\n await this.certificateDecoded.getThumbprint('SHA-1');\n await this.certificateDecoded.getThumbprint('SHA-256');\n } catch (error) {\n this.certificateDecodeError = error;\n\n console.error('Error certificate parse:', error);\n }\n\n this.isDecodeInProcess = false;\n }\n\n private getAuthKeyIdParentLink = (value: string) => this.authKeyIdParentLink\n ?.replace('{{authKeyId}}', value);\n\n private getAuthKeyIdSiblingsLink = (value: string) => this.authKeyIdSiblingsLink\n ?.replace('{{authKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(\n newValue: CrlProp,\n oldValue: CrlProp,\n ) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (\n newValue instanceof X509Crl\n && oldValue instanceof X509Crl\n ) {\n if (newValue.commonName !== oldValue.commonName) {\n this.decodeCertificate(newValue);\n }\n }\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate revocation list.\n </Typography>\n </div>\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate revocation list available.\n </Typography>\n </div>\n );\n }\n\n render() {\n if (this.certificateDecodeError) {\n return this.renderErrorState();\n }\n\n if (!this.certificateDecoded) {\n return this.renderEmptyState();\n }\n\n return (\n <Host\n data-mobile-screen-view={String(this.mobileScreenView)}\n >\n <table>\n <BasicInformation\n {...this.certificateDecoded}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <Signature\n signature={this.certificateDecoded.signature}\n />\n\n <Thumbprints\n thumbprints={this.certificateDecoded.thumbprints}\n />\n\n <Extensions\n extensions={this.certificateDecoded.extensions}\n getLEILink={getLEILink}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n getAuthKeyIdParentLink={this.getAuthKeyIdParentLink}\n getAuthKeyIdSiblingsLink={this.getAuthKeyIdSiblingsLink}\n />\n\n <RevokedCertificates\n revokedCertificates={this.certificateDecoded.revokedCertificates}\n getDNSNameLink={getDNSNameLink}\n getIPAddressLink={getIPAddressLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"],"version":3}
|
package/components/download.js
CHANGED
|
@@ -57,7 +57,7 @@ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof win
|
|
|
57
57
|
/*!
|
|
58
58
|
* MIT License
|
|
59
59
|
*
|
|
60
|
-
* Copyright (c) 2017-
|
|
60
|
+
* Copyright (c) 2017-2024 Peculiar Ventures, LLC
|
|
61
61
|
*
|
|
62
62
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
63
63
|
* of this software and associated documentation files (the "Software"), to deal
|
|
@@ -169,7 +169,7 @@ class BufferSourceConverter {
|
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
const STRING_TYPE = "string";
|
|
172
|
-
const HEX_REGEX = /^[0-9a-f]+$/i;
|
|
172
|
+
const HEX_REGEX = /^[0-9a-f\s]+$/i;
|
|
173
173
|
const BASE64_REGEX = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
|
|
174
174
|
const BASE64URL_REGEX = /^[a-zA-Z0-9-_]+$/;
|
|
175
175
|
class Utf8Converter {
|
|
@@ -6766,6 +6766,71 @@ create$1(id_ecdsaWithSHA256);
|
|
|
6766
6766
|
create$1(id_ecdsaWithSHA384);
|
|
6767
6767
|
create$1(id_ecdsaWithSHA512);
|
|
6768
6768
|
|
|
6769
|
+
let FieldID = class FieldID {
|
|
6770
|
+
constructor(params = {}) {
|
|
6771
|
+
Object.assign(this, params);
|
|
6772
|
+
}
|
|
6773
|
+
};
|
|
6774
|
+
__decorate$1([
|
|
6775
|
+
AsnProp({ type: AsnPropTypes.ObjectIdentifier })
|
|
6776
|
+
], FieldID.prototype, "fieldType", void 0);
|
|
6777
|
+
__decorate$1([
|
|
6778
|
+
AsnProp({ type: AsnPropTypes.Any })
|
|
6779
|
+
], FieldID.prototype, "parameters", void 0);
|
|
6780
|
+
FieldID = __decorate$1([
|
|
6781
|
+
AsnType({ type: AsnTypeTypes.Sequence })
|
|
6782
|
+
], FieldID);
|
|
6783
|
+
class ECPoint extends OctetString {
|
|
6784
|
+
}
|
|
6785
|
+
let Curve = class Curve {
|
|
6786
|
+
constructor(params = {}) {
|
|
6787
|
+
Object.assign(this, params);
|
|
6788
|
+
}
|
|
6789
|
+
};
|
|
6790
|
+
__decorate$1([
|
|
6791
|
+
AsnProp({ type: AsnPropTypes.OctetString })
|
|
6792
|
+
], Curve.prototype, "a", void 0);
|
|
6793
|
+
__decorate$1([
|
|
6794
|
+
AsnProp({ type: AsnPropTypes.OctetString })
|
|
6795
|
+
], Curve.prototype, "b", void 0);
|
|
6796
|
+
__decorate$1([
|
|
6797
|
+
AsnProp({ type: AsnPropTypes.BitString, optional: true })
|
|
6798
|
+
], Curve.prototype, "seed", void 0);
|
|
6799
|
+
Curve = __decorate$1([
|
|
6800
|
+
AsnType({ type: AsnTypeTypes.Sequence })
|
|
6801
|
+
], Curve);
|
|
6802
|
+
var ECPVer;
|
|
6803
|
+
(function (ECPVer) {
|
|
6804
|
+
ECPVer[ECPVer["ecpVer1"] = 1] = "ecpVer1";
|
|
6805
|
+
})(ECPVer || (ECPVer = {}));
|
|
6806
|
+
let SpecifiedECDomain = class SpecifiedECDomain {
|
|
6807
|
+
constructor(params = {}) {
|
|
6808
|
+
this.version = ECPVer.ecpVer1;
|
|
6809
|
+
Object.assign(this, params);
|
|
6810
|
+
}
|
|
6811
|
+
};
|
|
6812
|
+
__decorate$1([
|
|
6813
|
+
AsnProp({ type: AsnPropTypes.Integer })
|
|
6814
|
+
], SpecifiedECDomain.prototype, "version", void 0);
|
|
6815
|
+
__decorate$1([
|
|
6816
|
+
AsnProp({ type: FieldID })
|
|
6817
|
+
], SpecifiedECDomain.prototype, "fieldID", void 0);
|
|
6818
|
+
__decorate$1([
|
|
6819
|
+
AsnProp({ type: Curve })
|
|
6820
|
+
], SpecifiedECDomain.prototype, "curve", void 0);
|
|
6821
|
+
__decorate$1([
|
|
6822
|
+
AsnProp({ type: ECPoint })
|
|
6823
|
+
], SpecifiedECDomain.prototype, "base", void 0);
|
|
6824
|
+
__decorate$1([
|
|
6825
|
+
AsnProp({ type: AsnPropTypes.Integer, converter: AsnIntegerArrayBufferConverter })
|
|
6826
|
+
], SpecifiedECDomain.prototype, "order", void 0);
|
|
6827
|
+
__decorate$1([
|
|
6828
|
+
AsnProp({ type: AsnPropTypes.Integer, optional: true })
|
|
6829
|
+
], SpecifiedECDomain.prototype, "cofactor", void 0);
|
|
6830
|
+
SpecifiedECDomain = __decorate$1([
|
|
6831
|
+
AsnType({ type: AsnTypeTypes.Sequence })
|
|
6832
|
+
], SpecifiedECDomain);
|
|
6833
|
+
|
|
6769
6834
|
let ECParameters = class ECParameters {
|
|
6770
6835
|
constructor(params = {}) {
|
|
6771
6836
|
Object.assign(this, params);
|
|
@@ -6774,6 +6839,12 @@ let ECParameters = class ECParameters {
|
|
|
6774
6839
|
__decorate$1([
|
|
6775
6840
|
AsnProp({ type: AsnPropTypes.ObjectIdentifier })
|
|
6776
6841
|
], ECParameters.prototype, "namedCurve", void 0);
|
|
6842
|
+
__decorate$1([
|
|
6843
|
+
AsnProp({ type: AsnPropTypes.Null })
|
|
6844
|
+
], ECParameters.prototype, "implicitCurve", void 0);
|
|
6845
|
+
__decorate$1([
|
|
6846
|
+
AsnProp({ type: SpecifiedECDomain })
|
|
6847
|
+
], ECParameters.prototype, "specifiedCurve", void 0);
|
|
6777
6848
|
ECParameters = __decorate$1([
|
|
6778
6849
|
AsnType({ type: AsnTypeTypes.Choice })
|
|
6779
6850
|
], ECParameters);
|
|
@@ -7172,28 +7243,6 @@ CompositePrivateKey = CompositePrivateKey_1 = __decorate$1([
|
|
|
7172
7243
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: OneAsymmetricKey })
|
|
7173
7244
|
], CompositePrivateKey);
|
|
7174
7245
|
|
|
7175
|
-
/**
|
|
7176
|
-
* @license
|
|
7177
|
-
* Copyright (c) Peculiar Ventures, LLC.
|
|
7178
|
-
*
|
|
7179
|
-
* This source code is licensed under the MIT license found in the
|
|
7180
|
-
* LICENSE file in the root directory of this source tree.
|
|
7181
|
-
*/
|
|
7182
|
-
/* eslint-disable no-useless-escape */
|
|
7183
|
-
const isHex = (value) => (/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/
|
|
7184
|
-
.test(value));
|
|
7185
|
-
const isPem = (value) => (/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/
|
|
7186
|
-
.test(value));
|
|
7187
|
-
const isBase64 = (value) => {
|
|
7188
|
-
try {
|
|
7189
|
-
window.atob(value);
|
|
7190
|
-
return true;
|
|
7191
|
-
}
|
|
7192
|
-
catch (error) {
|
|
7193
|
-
return false;
|
|
7194
|
-
}
|
|
7195
|
-
};
|
|
7196
|
-
|
|
7197
7246
|
var dayjs_min = {exports: {}};
|
|
7198
7247
|
|
|
7199
7248
|
(function (module, exports) {
|
|
@@ -11310,6 +11359,171 @@ class Extension extends AsnData {
|
|
|
11310
11359
|
}
|
|
11311
11360
|
}
|
|
11312
11361
|
|
|
11362
|
+
/**
|
|
11363
|
+
* @license
|
|
11364
|
+
* Copyright (c) Peculiar Ventures, LLC.
|
|
11365
|
+
*
|
|
11366
|
+
* This source code is licensed under the MIT license found in the
|
|
11367
|
+
* LICENSE file in the root directory of this source tree.
|
|
11368
|
+
*/
|
|
11369
|
+
const rPaddingTag = '-{5}';
|
|
11370
|
+
const rEolChars = '\\n';
|
|
11371
|
+
const rNameTag = `[^${rEolChars}]+`;
|
|
11372
|
+
const rBeginTag = `${rPaddingTag}BEGIN (${rNameTag}(?=${rPaddingTag}))${rPaddingTag}`;
|
|
11373
|
+
const rEndTag = `${rPaddingTag}END \\1${rPaddingTag}`;
|
|
11374
|
+
const rEolGroup = '\\n';
|
|
11375
|
+
const rHeaderKey = `[^:${rEolChars}]+`;
|
|
11376
|
+
const rHeaderValue = `(?:[^${rEolChars}]+${rEolGroup}(?: +[^${rEolChars}]+${rEolGroup})*)`;
|
|
11377
|
+
const rBase64Chars = '[a-zA-Z0-9=+/]+';
|
|
11378
|
+
const rBase64 = `(?:${rBase64Chars}${rEolGroup})+`;
|
|
11379
|
+
const rPem = `${rBeginTag}${rEolGroup}(?:((?:${rHeaderKey}: ${rHeaderValue})+))?${rEolGroup}?(${rBase64})${rEndTag}`;
|
|
11380
|
+
/**
|
|
11381
|
+
* Represents PEM Converter.
|
|
11382
|
+
*/
|
|
11383
|
+
class PemConverter {
|
|
11384
|
+
static isPem(data) {
|
|
11385
|
+
return typeof data === 'string'
|
|
11386
|
+
&& new RegExp(rPem, 'g').test(data);
|
|
11387
|
+
}
|
|
11388
|
+
static decodeWithHeaders(pem) {
|
|
11389
|
+
// eslint-disable-next-line no-param-reassign
|
|
11390
|
+
pem = pem.replace(/\r/g, ''); // CRLF -> LF
|
|
11391
|
+
const pattern = new RegExp(rPem, 'g');
|
|
11392
|
+
const res = [];
|
|
11393
|
+
let matches = null;
|
|
11394
|
+
// eslint-disable-next-line no-cond-assign
|
|
11395
|
+
while (matches = pattern.exec(pem)) {
|
|
11396
|
+
// prepare pem encoded message
|
|
11397
|
+
const base64 = matches[3]
|
|
11398
|
+
.replace(new RegExp(`[${rEolChars}]+`, 'g'), '');
|
|
11399
|
+
const pemStruct = {
|
|
11400
|
+
type: matches[1],
|
|
11401
|
+
headers: [],
|
|
11402
|
+
rawData: Convert_1.FromBase64(base64),
|
|
11403
|
+
};
|
|
11404
|
+
// read headers
|
|
11405
|
+
const headersString = matches[2];
|
|
11406
|
+
if (headersString) {
|
|
11407
|
+
const headers = headersString.split(new RegExp(rEolGroup, 'g'));
|
|
11408
|
+
let lastHeader = null;
|
|
11409
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
11410
|
+
for (const header of headers) {
|
|
11411
|
+
const [key, value] = header.split(/:(.*)/);
|
|
11412
|
+
if (value === undefined) {
|
|
11413
|
+
// value
|
|
11414
|
+
if (!lastHeader) {
|
|
11415
|
+
throw new Error('Cannot parse PEM string. Incorrect header value');
|
|
11416
|
+
}
|
|
11417
|
+
lastHeader.value += key.trim();
|
|
11418
|
+
}
|
|
11419
|
+
else {
|
|
11420
|
+
// key and value
|
|
11421
|
+
if (lastHeader) {
|
|
11422
|
+
pemStruct.headers.push(lastHeader);
|
|
11423
|
+
}
|
|
11424
|
+
lastHeader = { key, value: value.trim() };
|
|
11425
|
+
}
|
|
11426
|
+
}
|
|
11427
|
+
// add last header
|
|
11428
|
+
if (lastHeader) {
|
|
11429
|
+
pemStruct.headers.push(lastHeader);
|
|
11430
|
+
}
|
|
11431
|
+
}
|
|
11432
|
+
res.push(pemStruct);
|
|
11433
|
+
}
|
|
11434
|
+
return res;
|
|
11435
|
+
}
|
|
11436
|
+
/**
|
|
11437
|
+
* Decodes PEM to a list of raws
|
|
11438
|
+
* @param pem message in PEM format
|
|
11439
|
+
*/
|
|
11440
|
+
static decode(pem) {
|
|
11441
|
+
const blocks = this.decodeWithHeaders(pem);
|
|
11442
|
+
return blocks.map((o) => o.rawData);
|
|
11443
|
+
}
|
|
11444
|
+
static encode(rawData, tag) {
|
|
11445
|
+
if (Array.isArray(rawData)) {
|
|
11446
|
+
const raws = new Array();
|
|
11447
|
+
if (tag) {
|
|
11448
|
+
// encode BufferSource[]
|
|
11449
|
+
rawData.forEach((element) => {
|
|
11450
|
+
if (!BufferSourceConverter_1.isBufferSource(element)) {
|
|
11451
|
+
throw new TypeError('Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource');
|
|
11452
|
+
}
|
|
11453
|
+
raws.push(this.encodeStruct({
|
|
11454
|
+
type: tag,
|
|
11455
|
+
rawData: BufferSourceConverter_1.toArrayBuffer(element),
|
|
11456
|
+
}));
|
|
11457
|
+
});
|
|
11458
|
+
}
|
|
11459
|
+
else {
|
|
11460
|
+
// encode PemStruct[]
|
|
11461
|
+
rawData.forEach((element) => {
|
|
11462
|
+
if (!('type' in element)) {
|
|
11463
|
+
throw new TypeError('Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut');
|
|
11464
|
+
}
|
|
11465
|
+
raws.push(this.encodeStruct(element));
|
|
11466
|
+
});
|
|
11467
|
+
}
|
|
11468
|
+
return raws.join('\n');
|
|
11469
|
+
}
|
|
11470
|
+
if (!tag) {
|
|
11471
|
+
throw new Error("Required argument 'tag' is missed");
|
|
11472
|
+
}
|
|
11473
|
+
return this.encodeStruct({
|
|
11474
|
+
type: tag,
|
|
11475
|
+
rawData: BufferSourceConverter_1.toArrayBuffer(rawData),
|
|
11476
|
+
});
|
|
11477
|
+
}
|
|
11478
|
+
/**
|
|
11479
|
+
* Encodes PEMStruct in PEM block
|
|
11480
|
+
* @param pem PEM structure for encoding
|
|
11481
|
+
* @returns Returns PEM encoded block
|
|
11482
|
+
*/
|
|
11483
|
+
static encodeStruct(pem) {
|
|
11484
|
+
var _a;
|
|
11485
|
+
const upperCaseType = pem.type.toLocaleUpperCase();
|
|
11486
|
+
const res = [];
|
|
11487
|
+
res.push(`-----BEGIN ${upperCaseType}-----`);
|
|
11488
|
+
if ((_a = pem.headers) === null || _a === void 0 ? void 0 : _a.length) {
|
|
11489
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
11490
|
+
for (const header of pem.headers) {
|
|
11491
|
+
res.push(`${header.key}: ${header.value}`);
|
|
11492
|
+
}
|
|
11493
|
+
res.push(''); // blank line
|
|
11494
|
+
}
|
|
11495
|
+
const base64 = Convert_1.ToBase64(pem.rawData);
|
|
11496
|
+
let sliced;
|
|
11497
|
+
let offset = 0;
|
|
11498
|
+
const rows = Array();
|
|
11499
|
+
while (offset < base64.length) {
|
|
11500
|
+
if (base64.length - offset < 64) {
|
|
11501
|
+
sliced = base64.substring(offset);
|
|
11502
|
+
}
|
|
11503
|
+
else {
|
|
11504
|
+
sliced = base64.substring(offset, offset + 64);
|
|
11505
|
+
offset += 64;
|
|
11506
|
+
}
|
|
11507
|
+
if (sliced.length !== 0) {
|
|
11508
|
+
rows.push(sliced);
|
|
11509
|
+
if (sliced.length < 64) {
|
|
11510
|
+
break;
|
|
11511
|
+
}
|
|
11512
|
+
}
|
|
11513
|
+
else {
|
|
11514
|
+
break;
|
|
11515
|
+
}
|
|
11516
|
+
}
|
|
11517
|
+
res.push(...rows);
|
|
11518
|
+
res.push(`-----END ${upperCaseType}-----`);
|
|
11519
|
+
return res.join('\n');
|
|
11520
|
+
}
|
|
11521
|
+
}
|
|
11522
|
+
PemConverter.CertificateTag = 'CERTIFICATE';
|
|
11523
|
+
PemConverter.CrlTag = 'CRL';
|
|
11524
|
+
PemConverter.CertificateRequestTag = 'CERTIFICATE REQUEST';
|
|
11525
|
+
PemConverter.AttributeCertificateTag = 'ATTRIBUTE CERTIFICATE';
|
|
11526
|
+
|
|
11313
11527
|
/**
|
|
11314
11528
|
* @license
|
|
11315
11529
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -11352,30 +11566,27 @@ class CryptoProvider {
|
|
|
11352
11566
|
CryptoProvider.DEFAULT = 'default';
|
|
11353
11567
|
const cryptoProvider = new CryptoProvider();
|
|
11354
11568
|
|
|
11355
|
-
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11360
|
-
|
|
11361
|
-
|
|
11362
|
-
.replace(/(.{4})/g, '$1 ')
|
|
11363
|
-
.trim());
|
|
11364
|
-
const base64Format = (base64) => (base64
|
|
11365
|
-
.replace(/(.{64})/g, '$1\n'));
|
|
11569
|
+
/**
|
|
11570
|
+
* @license
|
|
11571
|
+
* Copyright (c) Peculiar Ventures, LLC.
|
|
11572
|
+
*
|
|
11573
|
+
* This source code is licensed under the MIT license found in the
|
|
11574
|
+
* LICENSE file in the root directory of this source tree.
|
|
11575
|
+
*/
|
|
11366
11576
|
const certificateRawToBuffer = (raw) => {
|
|
11367
|
-
|
|
11368
|
-
|
|
11369
|
-
if (isHex(rawClarified)) {
|
|
11370
|
-
buffer = Convert_1.FromHex(rawClarified);
|
|
11577
|
+
if (PemConverter.isPem(raw)) {
|
|
11578
|
+
return PemConverter.decode(raw)[0];
|
|
11371
11579
|
}
|
|
11372
|
-
|
|
11373
|
-
|
|
11580
|
+
if (Convert_1.isHex(raw)) {
|
|
11581
|
+
return Convert_1.FromHex(raw);
|
|
11374
11582
|
}
|
|
11375
|
-
|
|
11376
|
-
|
|
11583
|
+
if (Convert_1.isBase64(raw)) {
|
|
11584
|
+
return Convert_1.FromBase64(raw);
|
|
11585
|
+
}
|
|
11586
|
+
if (Convert_1.isBase64Url(raw)) {
|
|
11587
|
+
return Convert_1.FromBase64Url(raw);
|
|
11377
11588
|
}
|
|
11378
|
-
|
|
11589
|
+
throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url");
|
|
11379
11590
|
};
|
|
11380
11591
|
const getCertificateThumbprint = async (algorithm, data) => {
|
|
11381
11592
|
const crypto = cryptoProvider.get();
|
|
@@ -12566,7 +12777,7 @@ __decorate$1([
|
|
|
12566
12777
|
AsnProp({ type: CertificateSet, context: 0, implicit: true, optional: true })
|
|
12567
12778
|
], SignedData.prototype, "certificates", void 0);
|
|
12568
12779
|
__decorate$1([
|
|
12569
|
-
AsnProp({ type:
|
|
12780
|
+
AsnProp({ type: RevocationInfoChoices, context: 1, implicit: true, optional: true })
|
|
12570
12781
|
], SignedData.prototype, "crls", void 0);
|
|
12571
12782
|
__decorate$1([
|
|
12572
12783
|
AsnProp({ type: SignerInfos })
|
|
@@ -13004,6 +13215,6 @@ const DownloadIcon = (props) => {
|
|
|
13004
13215
|
h("path", { fill: `var(--pv-color-${color})`, d: "M21 12h-2c-.6 0-1 .4-1 1s.4 1 1 1h2c.6 0 1 .4 1 1v7c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-7c0-.6.4-1 1-1h2c.6 0 1-.4 1-1s-.4-1-1-1H9c-1.7 0-3 1.3-3 3v7c0 1.7 1.3 3 3 3h12c1.7 0 3-1.3 3-3v-7c0-1.7-1.3-3-3-3Zm-9.7 5.7 3 3c.2.2.4.3.7.3.3 0 .5-.1.7-.3l3-3c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L16 17.6V6c0-.6-.4-1-1-1s-1 .4-1 1v11.6l-1.3-1.3c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4Z" })));
|
|
13005
13216
|
};
|
|
13006
13217
|
|
|
13007
|
-
export {
|
|
13218
|
+
export { EDIPartyName as $, AsnData as A, id_pkcs9_at_challengePassword as B, CertificationRequest as C, Download as D, ECParameters as E, ChallengePassword as F, id_pkcs9_at_unstructuredName as G, ExtensionRequest as H, InsuranceValue as I, AttributeCertificate as J, dateDiff as K, Link as L, l10n as M, Name as N, OIDs as O, PemConverter as P, dateShort as Q, RSAPublicKey as R, Name$1 as S, TypeRelationship as T, UnstructuredName as U, ValuationRanking as V, WebGDPR as W, OtherName as X, DisplayText as Y, UserNotice as Z, BufferSourceConverter_1 as _, DownloadIcon as a, __decorate$1 as a0, AsnProp as a1, AsnPropTypes as a2, AsnType as a3, AsnTypeTypes as a4, AsnArray as a5, id_qcs_pkixQCSyntax_v2 as a6, SemanticsInformation as a7, AsnIntegerArrayBufferConverter as a8, AttestationApplicationId as a9, PrivateKeyUsagePeriod as aA, EntrustVersionInfo as aB, BiometricSyntax as aC, LogotypeExtn as aD, TNAuthorizationList as aE, PolicyConstraints as aF, PolicyMappings as aG, CRLNumber as aH, IssuingDistributionPoint as aI, NonStandardKeyDescription as aJ, CabforganizationIdentifier as aK, Certificate as aL, id_composite_key as aM, CompositePublicKey as aN, id_alg_composite as aO, CompositeSignatureValue as aP, CompositeParams as aQ, SignedData as aR, EncapsulatedContent as aS, OctetString as aT, CertificateSet as aU, CertificateChoices as aV, ContentInfo as aW, CertificateList as aX, InvalidityDate as aY, CertificateIssuer as aZ, RootOfTrust as aa, IntegerSet as ab, KeyUsage as ac, BasicConstraints as ad, ExtendedKeyUsage as ae, SubjectKeyIdentifier as af, AuthorityKeyIdentifier as ag, CRLDistributionPoints as ah, AuthorityInfoAccessSyntax as ai, SubjectInfoAccessSyntax as aj, SubjectAlternativeName as ak, CertificatePolicies as al, CertificateTransparency as am, NameConstraints as an, CertificateTemplate as ao, EnrollCertTypeChoice as ap, CaVersion as aq, QCStatements as ar, NetscapeComment as as, NetscapeCertType as at, LeiRole as au, LeiChoice as av, Timestamp as aw, ArchiveRevInfo as ax, CRLReason as ay, SubjectDirectoryAttributes as az, AsnConvert as b, certificateRawToBuffer as c, downloadFromBuffer as d, id_rsaEncryption as e, Convert_1 as f, getCertificateThumbprint as g, id_pkcs9_at_extensionRequest as h, id_ecPublicKey as i, Extension as j, Attribute$1 as k, AsnParser as l, id_DomainNameBeneficiary as m, DomainNameBeneficiary as n, id_DomainNameLegalRepresentative as o, DomainNameLegalRepresentative as p, id_DomainNameOwner as q, DomainNameOwner as r, id_DomainNameTechnicalOperator as s, DomainNameTechnicalOperator as t, id_TypeRelationship as u, id_ActivityDescription as v, ActivityDescription as w, id_WebGDPR as x, id_InsuranceValue as y, id_ValuationRanking as z };
|
|
13008
13219
|
|
|
13009
13220
|
//# sourceMappingURL=download.js.map
|