@peculiar/certificates-viewer 4.5.0 → 4.6.1
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/actions.js.map +1 -1
- package/components/arrow_top.js.map +1 -1
- package/components/attribute-certificate-viewer.js +4 -6
- package/components/attribute-certificate-viewer.js.map +1 -1
- package/components/attribute.js.map +1 -1
- package/components/button-menu.js +2 -4
- package/components/button-menu.js.map +1 -1
- package/components/button.js +5 -3
- package/components/button.js.map +1 -1
- package/components/certificate-chain-viewer.js +2 -3
- package/components/certificate-chain-viewer.js.map +1 -1
- package/components/certificate-viewer.js +5 -10
- package/components/certificate-viewer.js.map +1 -1
- package/components/circular-progress.js +3 -7
- package/components/circular-progress.js.map +1 -1
- package/components/crl-viewer.js +2 -4
- package/components/crl-viewer.js.map +1 -1
- package/components/cross.js.map +1 -1
- package/components/csr-viewer.js +2 -6
- package/components/csr-viewer.js.map +1 -1
- package/components/download.js +3317 -3097
- package/components/download.js.map +1 -1
- package/components/highlight-words.js +2 -2
- package/components/highlight-words.js.map +1 -1
- package/components/index.js +1 -1
- package/components/index2.js +2 -1
- package/components/index2.js.map +1 -1
- package/components/issuer_name.js +3 -1
- package/components/issuer_name.js.map +1 -1
- package/components/miscellaneous.js +15 -16
- package/components/miscellaneous.js.map +1 -1
- package/components/peculiar-certificate-decoder.js +9 -10
- package/components/peculiar-certificate-decoder.js.map +1 -1
- package/components/peculiar-certificates-viewer.js +45 -44
- package/components/peculiar-certificates-viewer.js.map +1 -1
- package/components/peculiar-text-hider.js +2 -2
- package/components/peculiar-text-hider.js.map +1 -1
- package/components/pkcs10_certificate_request.js.map +1 -1
- package/components/read_file.js.map +1 -1
- package/components/subject_name.js.map +1 -1
- package/dist/cjs/{actions-Dl4HXXlI.js → actions-ByC9jQU-.js} +3 -3
- package/dist/cjs/actions-ByC9jQU-.js.map +1 -0
- package/dist/cjs/{arrow_top-DBMPHVlB.js → arrow_top-Cw9KN115.js} +3 -3
- package/dist/cjs/arrow_top-Cw9KN115.js.map +1 -0
- package/dist/cjs/{button-C5jDF-CZ.js → button-C8EWG_-r.js} +8 -6
- package/dist/cjs/button-C8EWG_-r.js.map +1 -0
- package/dist/cjs/{certification_request-DS5FED4F.js → certification_request-CxHe71zR.js} +3318 -3098
- package/dist/cjs/certification_request-CxHe71zR.js.map +1 -0
- package/dist/cjs/{cross-pi7K0cHC.js → cross-3DqhA0G_.js} +3 -3
- package/dist/cjs/cross-3DqhA0G_.js.map +1 -0
- package/dist/cjs/{download-D9skkVoT.js → download-DQP0KR4o.js} +3 -3
- package/dist/cjs/download-DQP0KR4o.js.map +1 -0
- package/dist/cjs/{index-BO3rFndV.js → index-uHmGhObe.js} +430 -157
- package/dist/cjs/index-uHmGhObe.js.map +1 -0
- package/dist/cjs/index.cjs.js +9 -9
- package/dist/cjs/{link-CwLq-Nge.js → link-Cgh8wnbs.js} +5 -5
- package/dist/cjs/link-Cgh8wnbs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{miscellaneous-UxtK1SWb.js → miscellaneous-DeBEwLDy.js} +25 -24
- package/dist/cjs/miscellaneous-DeBEwLDy.js.map +1 -0
- package/dist/cjs/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js +14 -22
- package/dist/cjs/peculiar-attribute-certificate-viewer_4.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar-button-menu_3.cjs.entry.js +7 -13
- package/dist/cjs/peculiar-button-menu_3.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +13 -14
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-decoder.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +8 -10
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +51 -50
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificates-viewer.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar-text-hider.cjs.entry.js +4 -4
- package/dist/cjs/peculiar-text-hider.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-text-hider.entry.cjs.js.map +1 -1
- package/dist/cjs/peculiar.cjs.js +4 -5
- package/dist/cjs/peculiar.cjs.js.map +1 -1
- package/dist/cjs/{pkcs10_certificate_request-DaWYvR0i.js → pkcs10_certificate_request-CHMDxe2Z.js} +3 -3
- package/dist/cjs/pkcs10_certificate_request-CHMDxe2Z.js.map +1 -0
- package/dist/cjs/read_file-DWtcn3zU.js.map +1 -1
- package/dist/cjs/{x509_certificate-DBpSGIUT.js → x509_certificate-CzplJQ0X.js} +6 -9
- package/dist/cjs/x509_certificate-CzplJQ0X.js.map +1 -0
- package/dist/cjs/{x509_crl-BBnJqOIF.js → x509_crl-B7kFbLDV.js} +6 -6
- package/dist/cjs/x509_crl-B7kFbLDV.js.map +1 -0
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +11 -13
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js.map +1 -1
- package/dist/collection/components/button/button.js +3 -3
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/button/index.js.map +1 -1
- package/dist/collection/components/button-menu/button-menu.js +6 -7
- package/dist/collection/components/button-menu/button-menu.js.map +1 -1
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.css +3 -0
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js +3 -3
- package/dist/collection/components/certificate-chain-viewer/certificate-chain-viewer.js.map +1 -1
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +6 -2
- package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/activity_description_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/as_string_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/basic_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/challenge_password_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/index.js +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/index.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/insurance_value_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/name_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/name_part.js +1 -0
- package/dist/collection/components/certificate-details-parts/attributes/name_part.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/type_relationship_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/unstructured_name_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/valuation_ranking_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/attributes/web_gdpr_attribute.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/basic_information.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/archive_rev_info_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/as_string_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/authority_key_identifier_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/basic_constraints_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/basic_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/biometric_syntax_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/ca_version_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/cabforganization_identifier_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/certificate_policies_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/certificate_template_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/certificate_transparency_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/crl_distribution_points_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/crl_number_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/crl_reason_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/enroll_cert_type_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/entrust_version_info_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/extended_key_usage_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js +3 -3
- package/dist/collection/components/certificate-details-parts/extensions/general_name_part.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/index.js +2 -2
- package/dist/collection/components/certificate-details-parts/extensions/index.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/info_access_syntax_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js +0 -1
- package/dist/collection/components/certificate-details-parts/extensions/issuing_distribution_point_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js +2 -2
- package/dist/collection/components/certificate-details-parts/extensions/key_description_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/key_usage_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/lei_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/lei_role_extennsion.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/logotype_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/name_constraints_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/netscape_cert_type_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/netscape_comment_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/policy_constraints_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/policy_mappings_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/private_key_usage_period_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/qc_statements_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/subject_alternative_name_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/subject_directory_attributes_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/subject_key_identifier_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/timestamp_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/extensions/tn_auth_list_extension.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/holder.js +1 -1
- package/dist/collection/components/certificate-details-parts/holder.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/issuer.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/issuer_name.js +3 -1
- package/dist/collection/components/certificate-details-parts/issuer_name.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/miscellaneous.js +2 -2
- package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/public_key.js +1 -1
- package/dist/collection/components/certificate-details-parts/public_key.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/revoked_certificates.js +3 -3
- package/dist/collection/components/certificate-details-parts/revoked_certificates.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/row.js +3 -3
- package/dist/collection/components/certificate-details-parts/row.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/signature.js +1 -1
- package/dist/collection/components/certificate-details-parts/signature.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/subject_name.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/thumbprints.js.map +1 -1
- package/dist/collection/components/certificate-summary/certificate-summary.js.map +1 -1
- package/dist/collection/components/certificate-viewer/certificate-viewer.css +3 -0
- package/dist/collection/components/certificate-viewer/certificate-viewer.js +13 -15
- package/dist/collection/components/certificate-viewer/certificate-viewer.js.map +1 -1
- package/dist/collection/components/certificates-viewer/certificates-viewer.js +48 -46
- package/dist/collection/components/certificates-viewer/certificates-viewer.js.map +1 -1
- package/dist/collection/components/circular-progress/circular-progress.js +4 -8
- package/dist/collection/components/circular-progress/circular-progress.js.map +1 -1
- package/dist/collection/components/crl-viewer/crl-viewer.js +10 -12
- package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
- package/dist/collection/components/csr-viewer/csr-viewer.js +9 -13
- package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
- package/dist/collection/components/highlight-words/highlight-words.js +2 -2
- package/dist/collection/components/highlight-words/highlight-words.js.map +1 -1
- package/dist/collection/components/icons/actions.js.map +1 -1
- package/dist/collection/components/icons/arrow_bottom.js.map +1 -1
- package/dist/collection/components/icons/arrow_top.js.map +1 -1
- package/dist/collection/components/icons/cross.js.map +1 -1
- package/dist/collection/components/icons/details.js.map +1 -1
- package/dist/collection/components/icons/download.js.map +1 -1
- package/dist/collection/components/icons/link.js.map +1 -1
- package/dist/collection/components/link/link.js +1 -1
- package/dist/collection/components/link/link.js.map +1 -1
- package/dist/collection/components/text-hider/text-hider.js +1 -1
- package/dist/collection/components/text-hider/text-hider.js.map +1 -1
- package/dist/collection/components/typography/typography.js +1 -1
- package/dist/collection/components/typography/typography.js.map +1 -1
- package/dist/collection/constants/oids.js +5 -0
- package/dist/collection/constants/oids.js.map +1 -1
- package/dist/collection/crypto/asn_data.js +1 -1
- package/dist/collection/crypto/asn_data.js.map +1 -1
- package/dist/collection/crypto/attribute.js.map +1 -1
- package/dist/collection/crypto/extension.js.map +1 -1
- package/dist/collection/crypto/name.js.map +1 -1
- package/dist/collection/crypto/pem_converter.js +13 -8
- package/dist/collection/crypto/pem_converter.js.map +1 -1
- package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -1
- package/dist/collection/crypto/provider.js +7 -3
- package/dist/collection/crypto/provider.js.map +1 -1
- package/dist/collection/crypto/utils.js.map +1 -1
- package/dist/collection/crypto/x509_attribute_certificate.js +2 -2
- package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificate.js +3 -6
- package/dist/collection/crypto/x509_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificates.js +3 -7
- package/dist/collection/crypto/x509_certificates.js.map +1 -1
- package/dist/collection/crypto/x509_crl.js.map +1 -1
- package/dist/collection/utils/download.js +1 -0
- package/dist/collection/utils/download.js.map +1 -1
- package/dist/collection/utils/download_from_buffer.js +3 -3
- package/dist/collection/utils/download_from_buffer.js.map +1 -1
- package/dist/collection/utils/l10n.js +1 -3
- package/dist/collection/utils/l10n.js.map +1 -1
- package/dist/collection/utils/read_file.js.map +1 -1
- package/dist/esm/{actions-DzoPRObK.js → actions-BOY2Tl0T.js} +3 -3
- package/dist/esm/actions-BOY2Tl0T.js.map +1 -0
- package/dist/esm/{arrow_top-CF9pv-tQ.js → arrow_top-DL0RWe4n.js} +3 -3
- package/dist/esm/arrow_top-DL0RWe4n.js.map +1 -0
- package/dist/esm/{button-Djn8UI82.js → button-Bbh7MwG6.js} +8 -6
- package/dist/esm/button-Bbh7MwG6.js.map +1 -0
- package/dist/esm/{certification_request-Wtz6WM17.js → certification_request-PeMaLTUD.js} +3318 -3098
- package/dist/esm/certification_request-PeMaLTUD.js.map +1 -0
- package/dist/esm/{cross-DdCuR1F2.js → cross-G84H_-QL.js} +3 -3
- package/dist/esm/cross-G84H_-QL.js.map +1 -0
- package/dist/esm/{download-Cqfc-Sxf.js → download-ykcxSgxU.js} +3 -3
- package/dist/esm/download-ykcxSgxU.js.map +1 -0
- package/dist/esm/{index-DDDrq3In.js → index-CwgZaF40.js} +430 -158
- package/dist/esm/index-CwgZaF40.js.map +1 -0
- package/dist/esm/index.js +9 -9
- package/dist/esm/{link-BfDk078v.js → link-CGURvKy1.js} +5 -5
- package/dist/esm/link-CGURvKy1.js.map +1 -0
- package/dist/esm/loader.js +3 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{miscellaneous-CsGuJ6zr.js → miscellaneous-bVeJt-6m.js} +25 -24
- package/dist/esm/miscellaneous-bVeJt-6m.js.map +1 -0
- package/dist/esm/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js +14 -22
- package/dist/esm/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
- package/dist/esm/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
- package/dist/esm/peculiar-button-menu_3.entry.js +7 -13
- package/dist/esm/peculiar-button-menu_3.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-decoder.entry.js +13 -14
- package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-viewer.entry.js +8 -10
- package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-certificates-viewer.entry.js +51 -50
- 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-text-hider.entry.js.map +1 -1
- package/dist/esm/peculiar.js +4 -5
- package/dist/esm/peculiar.js.map +1 -1
- package/dist/esm/{pkcs10_certificate_request-Cn7_Z7a1.js → pkcs10_certificate_request-CK8FH47X.js} +3 -3
- package/dist/esm/pkcs10_certificate_request-CK8FH47X.js.map +1 -0
- package/dist/esm/read_file-F2F0McJX.js.map +1 -1
- package/dist/esm/{x509_certificate-ObET7_Te.js → x509_certificate-CEEWtU_T.js} +6 -9
- package/dist/esm/x509_certificate-CEEWtU_T.js.map +1 -0
- package/dist/esm/{x509_crl-CeW7yzP9.js → x509_crl-BcZd9KVn.js} +6 -6
- package/dist/esm/x509_crl-BcZd9KVn.js.map +1 -0
- package/dist/esm-es5/{actions-DzoPRObK.js → actions-BOY2Tl0T.js} +2 -2
- package/dist/esm-es5/actions-BOY2Tl0T.js.map +1 -0
- package/dist/esm-es5/{arrow_top-CF9pv-tQ.js → arrow_top-DL0RWe4n.js} +2 -2
- package/dist/esm-es5/arrow_top-DL0RWe4n.js.map +1 -0
- package/dist/esm-es5/button-Bbh7MwG6.js +19 -0
- package/dist/esm-es5/button-Bbh7MwG6.js.map +1 -0
- package/dist/esm-es5/{certification_request-Wtz6WM17.js → certification_request-PeMaLTUD.js} +5 -5
- package/dist/esm-es5/certification_request-PeMaLTUD.js.map +1 -0
- package/dist/esm-es5/{cross-DdCuR1F2.js → cross-G84H_-QL.js} +2 -2
- package/dist/esm-es5/cross-G84H_-QL.js.map +1 -0
- package/dist/esm-es5/{download-Cqfc-Sxf.js → download-ykcxSgxU.js} +2 -2
- package/dist/esm-es5/download-ykcxSgxU.js.map +1 -0
- package/dist/esm-es5/index-CwgZaF40.js +6 -0
- package/dist/esm-es5/index-CwgZaF40.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/link-CGURvKy1.js +12 -0
- package/dist/esm-es5/link-CGURvKy1.js.map +1 -0
- package/dist/esm-es5/loader.js +2 -2
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/{miscellaneous-CsGuJ6zr.js → miscellaneous-bVeJt-6m.js} +3 -3
- package/dist/esm-es5/miscellaneous-bVeJt-6m.js.map +1 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js +2 -2
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_4.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.js.map +1 -1
- 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 +1 -1
- 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-Cn7_Z7a1.js → pkcs10_certificate_request-CK8FH47X.js} +2 -2
- package/dist/esm-es5/pkcs10_certificate_request-CK8FH47X.js.map +1 -0
- package/dist/esm-es5/read_file-F2F0McJX.js.map +1 -1
- package/dist/esm-es5/{x509_certificate-ObET7_Te.js → x509_certificate-CEEWtU_T.js} +3 -3
- package/dist/esm-es5/x509_certificate-CEEWtU_T.js.map +1 -0
- package/dist/esm-es5/{x509_crl-CeW7yzP9.js → x509_crl-BcZd9KVn.js} +2 -2
- package/dist/esm-es5/x509_crl-BcZd9KVn.js.map +1 -0
- package/dist/peculiar/index.esm.js +1 -1
- package/dist/peculiar/loader.esm.js.map +1 -1
- package/dist/peculiar/p-00d6f11f.system.entry.js +111 -0
- package/dist/peculiar/p-00d6f11f.system.entry.js.map +1 -0
- package/dist/peculiar/{p-7a3bf94e.entry.js → p-0de4837d.entry.js} +2 -2
- package/dist/peculiar/p-0de4837d.entry.js.map +1 -0
- package/dist/peculiar/{p-5b829829.system.entry.js → p-14fcbc5c.system.entry.js} +2 -2
- package/dist/peculiar/p-14fcbc5c.system.entry.js.map +1 -0
- package/dist/peculiar/{p-12d2e080.entry.js → p-27ae6a3a.entry.js} +2 -2
- package/dist/peculiar/p-27ae6a3a.entry.js.map +1 -0
- package/dist/peculiar/{p-0e8ab957.entry.js → p-315805ce.entry.js} +2 -2
- package/dist/peculiar/p-315805ce.entry.js.map +1 -0
- package/dist/peculiar/{p-69b461b4.entry.js → p-5479a530.entry.js} +3 -3
- package/dist/peculiar/p-5479a530.entry.js.map +1 -0
- package/dist/peculiar/{p-5608ba3e.system.entry.js → p-591a9019.system.entry.js} +2 -2
- package/dist/peculiar/p-591a9019.system.entry.js.map +1 -0
- package/dist/peculiar/p-607d08e8.system.entry.js +5 -0
- package/dist/peculiar/{p-cae95996.system.entry.js.map → p-607d08e8.system.entry.js.map} +1 -1
- package/dist/peculiar/{p-63aa01ad.system.entry.js → p-84f69023.system.entry.js} +3 -3
- package/dist/peculiar/p-84f69023.system.entry.js.map +1 -0
- package/dist/peculiar/p-9d9f24bd.entry.js +5 -0
- package/dist/peculiar/{p-f4490197.entry.js.map → p-9d9f24bd.entry.js.map} +1 -1
- package/dist/peculiar/{p-BRhx1gbw.system.js → p-B4PdAFCr.system.js} +4 -4
- package/dist/peculiar/p-B4PdAFCr.system.js.map +1 -0
- package/dist/peculiar/p-BGASC3UX.system.js +5 -0
- package/dist/peculiar/p-BGASC3UX.system.js.map +1 -0
- package/dist/peculiar/p-BaebEpW0.system.js.map +1 -0
- package/dist/peculiar/{p-B2YrZuK2.system.js → p-Bi5mjeeg.system.js} +2 -2
- package/dist/peculiar/p-Bi5mjeeg.system.js.map +1 -0
- package/dist/peculiar/p-BipKYW6e.system.js +142 -0
- package/dist/peculiar/p-BipKYW6e.system.js.map +1 -0
- package/dist/peculiar/{p-B859JpGw.system.js → p-Bknpl7EO.system.js} +3 -3
- package/dist/peculiar/p-Bknpl7EO.system.js.map +1 -0
- package/dist/peculiar/p-BloT0Xj9.system.js.map +1 -0
- package/dist/peculiar/p-BypepohK.system.js.map +1 -0
- package/dist/peculiar/{p-L1KL0R34.system.js → p-C9sY8yng.system.js} +3 -3
- package/dist/peculiar/p-C9sY8yng.system.js.map +1 -0
- package/dist/peculiar/{p-CttQwkXH.js → p-CGRNSrHk.js} +42 -42
- package/dist/peculiar/p-CGRNSrHk.js.map +1 -0
- package/dist/peculiar/{p-DhdG07f8.js → p-CHnDlTqM.js} +2 -2
- package/dist/peculiar/p-CHnDlTqM.js.map +1 -0
- package/dist/peculiar/{p-CcANm2qm.system.js → p-CZwhKPgb.system.js} +2 -2
- package/dist/peculiar/p-CZwhKPgb.system.js.map +1 -0
- package/dist/peculiar/p-CbJQZ9Hh.system.js.map +1 -0
- package/dist/peculiar/{p-BBgwMHRZ.system.js → p-CdS84qJs.system.js} +5 -5
- package/dist/peculiar/p-CdS84qJs.system.js.map +1 -0
- package/dist/peculiar/{p-uFLk5hDd.system.js → p-CezfC5i1.system.js} +42 -42
- package/dist/peculiar/p-CezfC5i1.system.js.map +1 -0
- package/dist/peculiar/{p-t-yLLnfF.js → p-CjWRKsN-.js} +3 -3
- package/dist/peculiar/p-CjWRKsN-.js.map +1 -0
- package/dist/peculiar/{p-BCATfe_H.js → p-CutTi-2B.js} +4 -4
- package/dist/peculiar/p-CutTi-2B.js.map +1 -0
- package/dist/peculiar/p-CwgZaF40.js +6 -0
- package/dist/peculiar/p-CwgZaF40.js.map +1 -0
- package/dist/peculiar/{p-lNFxlG5A.js → p-D1eNnGDF.js} +4 -4
- package/dist/peculiar/p-D1eNnGDF.js.map +1 -0
- package/dist/peculiar/p-D2QB-8Q6.system.js.map +1 -1
- package/dist/peculiar/{p-BP2bmYR2.system.js → p-D8xU284r.system.js} +3 -3
- package/dist/peculiar/p-D8xU284r.system.js.map +1 -0
- package/dist/peculiar/p-DKl0YViA.system.js +6 -0
- package/dist/peculiar/p-DKl0YViA.system.js.map +1 -0
- package/dist/peculiar/{p-BisXzAqN.js → p-DMZr5ztF.js} +2 -2
- package/dist/peculiar/p-DMZr5ztF.js.map +1 -0
- package/dist/peculiar/{p-CKoxwzVA.system.js → p-DRvp86xt.system.js} +2 -2
- package/dist/peculiar/p-DRvp86xt.system.js.map +1 -0
- package/dist/peculiar/{p-DkAhB3Vy.js → p-DanjeXNk.js} +2 -2
- package/dist/peculiar/p-DanjeXNk.js.map +1 -0
- package/dist/peculiar/{p-B3myni_G.js → p-DrmgUhyv.js} +2 -2
- package/dist/peculiar/p-DrmgUhyv.js.map +1 -0
- package/dist/peculiar/p-F2F0McJX.js.map +1 -1
- package/dist/peculiar/p-ITVWR0oT.system.js.map +1 -0
- package/dist/peculiar/{p-DPre0WhP.system.js → p-J1t5v5N3.system.js} +4 -4
- package/dist/peculiar/p-J1t5v5N3.system.js.map +1 -0
- package/dist/peculiar/{p-BHBizfwo.js → p-JyD6URnB.js} +3 -3
- package/dist/peculiar/p-JyD6URnB.js.map +1 -0
- package/dist/peculiar/{p-D13P_msn.system.js.map → p-N3w4Sc5c.system.js.map} +1 -1
- package/dist/peculiar/{p-BOSH9vjy.system.js → p-NnCM1ETy.system.js} +3 -3
- package/dist/peculiar/p-NnCM1ETy.system.js.map +1 -0
- package/dist/peculiar/p-PeMaLTUD.js +142 -0
- package/dist/peculiar/p-PeMaLTUD.js.map +1 -0
- package/dist/peculiar/{p-CeKqQ13Z.js → p-ZT6tVIen.js} +4 -4
- package/dist/peculiar/p-ZT6tVIen.js.map +1 -0
- package/dist/peculiar/p-c8b3766a.entry.js +110 -0
- package/dist/peculiar/p-c8b3766a.entry.js.map +1 -0
- package/dist/peculiar/{p-1af57833.system.entry.js → p-de857304.system.entry.js} +2 -2
- package/dist/peculiar/p-de857304.system.entry.js.map +1 -0
- package/dist/peculiar/p-eziSY5IJ.system.js.map +1 -0
- package/dist/peculiar/peculiar-attribute-certificate-viewer.peculiar-certificate-chain-viewer.peculiar-crl-viewer.peculiar-csr-viewer.entry.esm.js.map +1 -1
- package/dist/peculiar/peculiar-button-menu.peculiar-circular-progress.peculiar-highlight-words.entry.esm.js.map +1 -1
- package/dist/peculiar/peculiar-certificate-decoder.entry.esm.js.map +1 -1
- package/dist/peculiar/peculiar-certificate-viewer.entry.esm.js.map +1 -1
- package/dist/peculiar/peculiar-certificates-viewer.entry.esm.js.map +1 -1
- package/dist/peculiar/peculiar-text-hider.entry.esm.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/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +3 -3
- package/dist/types/components/button/button.d.ts +2 -2
- package/dist/types/components/button/index.d.ts +1 -1
- package/dist/types/components/button-menu/button-menu.d.ts +5 -5
- package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
- package/dist/types/components/certificate-summary/certificate-summary.d.ts +2 -2
- package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +3 -3
- package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +3 -2
- package/dist/types/components/crl-viewer/crl-viewer.d.ts +3 -3
- package/dist/types/components/csr-viewer/csr-viewer.d.ts +3 -3
- package/dist/types/components/icons/actions.d.ts +2 -2
- package/dist/types/components/icons/arrow_bottom.d.ts +2 -2
- package/dist/types/components/icons/arrow_top.d.ts +2 -2
- package/dist/types/components/icons/cross.d.ts +2 -2
- package/dist/types/components/icons/details.d.ts +2 -2
- package/dist/types/components/icons/download.d.ts +2 -2
- package/dist/types/components/icons/link.d.ts +2 -2
- package/dist/types/components/link/link.d.ts +4 -4
- package/dist/types/components/typography/typography.d.ts +7 -6
- package/dist/types/components.d.ts +46 -20
- package/dist/types/constants/oids.d.ts +5 -0
- package/dist/types/crypto/asn_data.d.ts +1 -3
- package/dist/types/crypto/pem_converter.d.ts +7 -19
- package/dist/types/crypto/provider.d.ts +1 -6
- package/dist/types/interface.d.ts +3 -3
- package/dist/types/stencil-public-runtime.d.ts +34 -6
- package/dist/types/utils/l10n.d.ts +6 -6
- package/dist/types/utils/read_file.d.ts +7 -7
- package/hydrate/index.d.ts +38 -24
- package/hydrate/index.js +4386 -3421
- package/hydrate/index.mjs +4385 -3422
- package/package.json +32 -33
- package/dist/cjs/actions-Dl4HXXlI.js.map +0 -1
- package/dist/cjs/app-globals-BOZYdIuK.js +0 -11
- package/dist/cjs/app-globals-BOZYdIuK.js.map +0 -1
- package/dist/cjs/arrow_top-DBMPHVlB.js.map +0 -1
- package/dist/cjs/button-C5jDF-CZ.js.map +0 -1
- package/dist/cjs/certification_request-DS5FED4F.js.map +0 -1
- package/dist/cjs/cross-pi7K0cHC.js.map +0 -1
- package/dist/cjs/download-D9skkVoT.js.map +0 -1
- package/dist/cjs/index-BO3rFndV.js.map +0 -1
- package/dist/cjs/link-CwLq-Nge.js.map +0 -1
- package/dist/cjs/miscellaneous-UxtK1SWb.js.map +0 -1
- package/dist/cjs/pkcs10_certificate_request-DaWYvR0i.js.map +0 -1
- package/dist/cjs/x509_certificate-DBpSGIUT.js.map +0 -1
- package/dist/cjs/x509_crl-BBnJqOIF.js.map +0 -1
- package/dist/esm/actions-DzoPRObK.js.map +0 -1
- package/dist/esm/app-globals-zVR349KA.js +0 -9
- package/dist/esm/app-globals-zVR349KA.js.map +0 -1
- package/dist/esm/arrow_top-CF9pv-tQ.js.map +0 -1
- package/dist/esm/button-Djn8UI82.js.map +0 -1
- package/dist/esm/certification_request-Wtz6WM17.js.map +0 -1
- package/dist/esm/cross-DdCuR1F2.js.map +0 -1
- package/dist/esm/download-Cqfc-Sxf.js.map +0 -1
- package/dist/esm/index-DDDrq3In.js.map +0 -1
- package/dist/esm/link-BfDk078v.js.map +0 -1
- package/dist/esm/miscellaneous-CsGuJ6zr.js.map +0 -1
- package/dist/esm/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
- package/dist/esm/x509_certificate-ObET7_Te.js.map +0 -1
- package/dist/esm/x509_crl-CeW7yzP9.js.map +0 -1
- package/dist/esm-es5/actions-DzoPRObK.js.map +0 -1
- package/dist/esm-es5/app-globals-zVR349KA.js +0 -5
- package/dist/esm-es5/app-globals-zVR349KA.js.map +0 -1
- package/dist/esm-es5/arrow_top-CF9pv-tQ.js.map +0 -1
- package/dist/esm-es5/button-Djn8UI82.js +0 -19
- package/dist/esm-es5/button-Djn8UI82.js.map +0 -1
- package/dist/esm-es5/certification_request-Wtz6WM17.js.map +0 -1
- package/dist/esm-es5/cross-DdCuR1F2.js.map +0 -1
- package/dist/esm-es5/download-Cqfc-Sxf.js.map +0 -1
- package/dist/esm-es5/index-DDDrq3In.js +0 -6
- package/dist/esm-es5/index-DDDrq3In.js.map +0 -1
- package/dist/esm-es5/link-BfDk078v.js +0 -12
- package/dist/esm-es5/link-BfDk078v.js.map +0 -1
- package/dist/esm-es5/miscellaneous-CsGuJ6zr.js.map +0 -1
- package/dist/esm-es5/pkcs10_certificate_request-Cn7_Z7a1.js.map +0 -1
- package/dist/esm-es5/x509_certificate-ObET7_Te.js.map +0 -1
- package/dist/esm-es5/x509_crl-CeW7yzP9.js.map +0 -1
- package/dist/peculiar/p-0e8ab957.entry.js.map +0 -1
- package/dist/peculiar/p-12d2e080.entry.js.map +0 -1
- package/dist/peculiar/p-1af57833.system.entry.js.map +0 -1
- package/dist/peculiar/p-3e4062f6.entry.js +0 -110
- package/dist/peculiar/p-3e4062f6.entry.js.map +0 -1
- package/dist/peculiar/p-5608ba3e.system.entry.js.map +0 -1
- package/dist/peculiar/p-5b829829.system.entry.js.map +0 -1
- package/dist/peculiar/p-63aa01ad.system.entry.js.map +0 -1
- package/dist/peculiar/p-69b461b4.entry.js.map +0 -1
- package/dist/peculiar/p-7Nmqck4T.system.js.map +0 -1
- package/dist/peculiar/p-7a3bf94e.entry.js.map +0 -1
- package/dist/peculiar/p-B2YrZuK2.system.js.map +0 -1
- package/dist/peculiar/p-B3myni_G.js.map +0 -1
- package/dist/peculiar/p-B859JpGw.system.js.map +0 -1
- package/dist/peculiar/p-BBgwMHRZ.system.js.map +0 -1
- package/dist/peculiar/p-BCATfe_H.js.map +0 -1
- package/dist/peculiar/p-BFenL1ap.system.js +0 -6
- package/dist/peculiar/p-BFenL1ap.system.js.map +0 -1
- package/dist/peculiar/p-BHBizfwo.js.map +0 -1
- package/dist/peculiar/p-BOSH9vjy.system.js.map +0 -1
- package/dist/peculiar/p-BP2bmYR2.system.js.map +0 -1
- package/dist/peculiar/p-BRhx1gbw.system.js.map +0 -1
- package/dist/peculiar/p-BX9qW3ww.system.js.map +0 -1
- package/dist/peculiar/p-BisXzAqN.js.map +0 -1
- package/dist/peculiar/p-CFhlbr47.system.js.map +0 -1
- package/dist/peculiar/p-CKoxwzVA.system.js.map +0 -1
- package/dist/peculiar/p-C_vT-OYk.system.js.map +0 -1
- package/dist/peculiar/p-CcANm2qm.system.js.map +0 -1
- package/dist/peculiar/p-CeKqQ13Z.js.map +0 -1
- package/dist/peculiar/p-CttQwkXH.js.map +0 -1
- package/dist/peculiar/p-CwlxH4oM.system.js +0 -5
- package/dist/peculiar/p-CwlxH4oM.system.js.map +0 -1
- package/dist/peculiar/p-D5BWI7FK.system.js +0 -5
- package/dist/peculiar/p-D5BWI7FK.system.js.map +0 -1
- package/dist/peculiar/p-DDDrq3In.js +0 -6
- package/dist/peculiar/p-DDDrq3In.js.map +0 -1
- package/dist/peculiar/p-DPre0WhP.system.js.map +0 -1
- package/dist/peculiar/p-DX5B2Msh.system.js.map +0 -1
- package/dist/peculiar/p-DgcB4Nqx.system.js +0 -142
- package/dist/peculiar/p-DgcB4Nqx.system.js.map +0 -1
- package/dist/peculiar/p-DhdG07f8.js.map +0 -1
- package/dist/peculiar/p-Dk86_qlM.system.js.map +0 -1
- package/dist/peculiar/p-DkAhB3Vy.js.map +0 -1
- package/dist/peculiar/p-L1KL0R34.system.js.map +0 -1
- package/dist/peculiar/p-Wtz6WM17.js +0 -142
- package/dist/peculiar/p-Wtz6WM17.js.map +0 -1
- package/dist/peculiar/p-bafc3336.system.entry.js +0 -111
- package/dist/peculiar/p-bafc3336.system.entry.js.map +0 -1
- package/dist/peculiar/p-cae95996.system.entry.js +0 -5
- package/dist/peculiar/p-f4490197.entry.js +0 -5
- package/dist/peculiar/p-lNFxlG5A.js.map +0 -1
- package/dist/peculiar/p-t-yLLnfF.js.map +0 -1
- package/dist/peculiar/p-uFLk5hDd.system.js.map +0 -1
- package/dist/peculiar/p-zVR349KA.js +0 -5
- package/dist/peculiar/p-zVR349KA.js.map +0 -1
|
@@ -17,8 +17,8 @@ export const Miscellaneous = (props) => {
|
|
|
17
17
|
const { certificate } = props;
|
|
18
18
|
return [
|
|
19
19
|
h(RowTitle, { value: l10n.getString('miscellaneous') }),
|
|
20
|
-
h("tr", null, h("td", null, h(Button, { onClick: () => certificate.downloadAsPEM()
|
|
21
|
-
h("tr", null, h("td", null, h(Button, { onClick: () => certificate.downloadAsDER()
|
|
20
|
+
h("tr", null, h("td", null, h(Button, { startIcon: h(DownloadIcon, null), onClick: () => certificate.downloadAsPEM() }, l10n.getString('download.pem')))),
|
|
21
|
+
h("tr", null, h("td", null, h(Button, { startIcon: h(DownloadIcon, null), onClick: () => certificate.downloadAsDER() }, l10n.getString('download.der')))),
|
|
22
22
|
];
|
|
23
23
|
};
|
|
24
24
|
//# sourceMappingURL=miscellaneous.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"miscellaneous.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/miscellaneous.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"miscellaneous.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/miscellaneous.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AAQvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAYjC,MAAM,CAAC,MAAM,aAAa,GAA6C,CAAC,KAAK,EAAE,EAAE;IAC/E,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GACtC;QACF;YACE;gBACE,EAAC,MAAM,IACL,SAAS,EAAE,EAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,IAEzC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CACxB,CACN,CACF;QACL;YACE;gBACE,EAAC,MAAM,IACL,SAAS,EAAE,EAAC,YAAY,OAAG,EAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,IAEzC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CACxB,CACN,CACF;KACN,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n X509Certificates,\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { l10n } from '../../utils';\nimport { Button } from '../button';\nimport { DownloadIcon } from '../icons';\nimport { RowTitle } from './row';\n\ntype TCertificateType = X509Certificates\n | X509Certificate\n | X509AttributeCertificate\n | Pkcs10CertificateRequest\n | X509Crl;\n\ninterface IMiscellaneousProps {\n certificate: TCertificateType;\n}\n\nexport const Miscellaneous: FunctionalComponent<IMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n startIcon={<DownloadIcon />}\n onClick={() => certificate.downloadAsPEM()}\n >\n {l10n.getString('download.pem')}\n </Button>\n </td>\n </tr>,\n <tr>\n <td>\n <Button\n startIcon={<DownloadIcon />}\n onClick={() => certificate.downloadAsDER()}\n >\n {l10n.getString('download.der')}\n </Button>\n </td>\n </tr>,\n ];\n};\n"]}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { h } from "@stencil/core";
|
|
12
12
|
import { Convert } from "pvtsutils";
|
|
13
13
|
import { l10n, getStringByOID } from "../../utils";
|
|
14
|
-
import { RowTitle, RowValue, TableRowTable } from "./row";
|
|
14
|
+
import { RowTitle, RowValue, TableRowTable, } from "./row";
|
|
15
15
|
function getPublicKeyModulus(publicKey) {
|
|
16
16
|
if (publicKey.params && 'modulus' in publicKey.params) {
|
|
17
17
|
let length = publicKey.params.modulus.byteLength;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_key.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/public_key.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"public_key.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/public_key.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAClC,MAAM,OAAO,CAAC;AAEf,SAAS,mBAAmB,CAAC,SAAqB;IAChD,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACtD,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QAEjD,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,CAAC;QACd,CAAC;QAED,OAAO,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAqB;IACjD,IAAI,SAAS,CAAC,MAAM,IAAI,gBAAgB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QAC7D,OAAO,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,KAAK,CAAC;YACrD,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAMD,MAAM,CAAC,MAAM,SAAS,GAAyC,CAAC,KAAK,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,gBAAgB,CAAC,GAAe;QACvC,OAAO;YACL,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EACjC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,GACpC;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAClC,KAAK,EAAE,cAAc,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GACrG;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAChC,KAAK,EAAE,oBAAoB,CAAC,GAAG,CAAC,GAChC;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAC/B,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAC/B;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAC/B,SAAS,QACT,QAAQ,SACR;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,GACtC;QACF,gBAAgB,CAAC,SAAS,CAAC;QAC3B,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7F,EAAC,aAAa,QACX,gBAAgB,CAAC,KAAK,CAAC,CACV,CACjB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\nimport { IPublicKey } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\n\nfunction getPublicKeyModulus(publicKey: IPublicKey) {\n if (publicKey.params && 'modulus' in publicKey.params) {\n let length = publicKey.params.modulus.byteLength;\n\n if (length % 2) {\n length -= 1;\n }\n\n return length * 8;\n }\n\n return null;\n}\n\nfunction getPublicKeyExponent(publicKey: IPublicKey) {\n if (publicKey.params && 'publicExponent' in publicKey.params) {\n return publicKey.params.publicExponent.byteLength === 3\n ? 65537\n : 3;\n }\n\n return null;\n}\n\ninterface IPublicKeyProps {\n publicKey: IPublicKey;\n}\n\nexport const PublicKey: FunctionalComponent<IPublicKeyProps> = (props) => {\n const { publicKey } = props;\n\n if (!publicKey) {\n return null;\n }\n\n function renderKeyDetails(key: IPublicKey) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name={l10n.getString('namedCurve')}\n value={getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined)}\n />,\n <RowValue\n name={l10n.getString('exponent')}\n value={getPublicKeyExponent(key)}\n />,\n <RowValue\n name={l10n.getString('modulus')}\n value={getPublicKeyModulus(key)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(key.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n renderKeyDetails(publicKey),\n (Array.isArray(publicKey.params) && publicKey.params.length && publicKey.params.map((param) => (\n <TableRowTable>\n {renderKeyDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n"]}
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/
|
|
11
11
|
import { h } from "@stencil/core";
|
|
12
|
-
import { CRLReason, InvalidityDate, CertificateIssuer } from "@peculiar/asn1-x509";
|
|
12
|
+
import { CRLReason, InvalidityDate, CertificateIssuer, } from "@peculiar/asn1-x509";
|
|
13
13
|
import { Convert } from "pvtsutils";
|
|
14
|
-
import { dateShort, l10n, getStringByOID } from "../../utils";
|
|
14
|
+
import { dateShort, l10n, getStringByOID, } from "../../utils";
|
|
15
15
|
import { GeneralNamePart } from "./extensions/general_name_part";
|
|
16
|
-
import { RowTitle, RowValue, TableRowTable } from "./row";
|
|
16
|
+
import { RowTitle, RowValue, TableRowTable, } from "./row";
|
|
17
17
|
export const RevokedCertificates = (props) => {
|
|
18
18
|
const { revokedCertificates, getDNSNameLink, getIPAddressLink, } = props;
|
|
19
19
|
if (!revokedCertificates || !revokedCertificates.length) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revoked_certificates.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/revoked_certificates.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,
|
|
1
|
+
{"version":3,"file":"revoked_certificates.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/revoked_certificates.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EACL,SAAS,EAAE,cAAc,EAAE,iBAAiB,GAC7C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,SAAS,EAAE,IAAI,EAAE,cAAc,GAChC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAClC,MAAM,OAAO,CAAC;AAMf,MAAM,CAAC,MAAM,mBAAmB,GAAmD,CAAC,KAAK,EAAE,EAAE;IAC3F,MAAM,EACJ,mBAAmB,EACnB,cAAc,EACd,gBAAgB,GACjB,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAC5C;QACF,mBAAmB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACxC,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EACpC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,EACjD,SAAS,SACT;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EACtC,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,GACtD;YACF,CAAC,WAAW,CAAC,kBAAkB,IAAI,WAAW,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC;gBAC3E,EAAC,QAAQ,IACP,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,GAAG,EAChD,KAAK,EAAC,EAAE,GACR;gBACF,EAAC,aAAa,QAEV,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;oBAC/C,IAAI,SAAS,CAAC,KAAK,YAAY,SAAS,EAAE,CAAC;wBACzC,OAAO,CACL,EAAC,QAAQ,IACP,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1C,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GACzD,CACH,CAAC;oBACJ,CAAC;oBAED,IAAI,SAAS,CAAC,KAAK,YAAY,cAAc,EAAE,CAAC;wBAC9C,OAAO,CACL,EAAC,QAAQ,IACP,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1C,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GACtC,CACH,CAAC;oBACJ,CAAC;oBAED,IAAI,SAAS,CAAC,KAAK,YAAY,iBAAiB,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC3E,OAAO,CAAC;4BACN,EAAC,QAAQ,IACP,IAAI,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAChD,KAAK,EAAC,EAAE,GACR;4BACF,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAC1B,EAAC,aAAa;gCACZ,EAAC,eAAe,IACd,WAAW,EAAE,EAAE,EACf,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,gBAAgB,GAClC,CACY,CACjB,CAAC;yBACH,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,CACL,EAAC,QAAQ,IACP,IAAI,EAAE,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAC1C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAC7C,SAAS,SACT,CACH,CAAC;gBACJ,CAAC,CAAC,CAEU;aACjB,CAAC,CAAC;YACH;gBACE,UAAI,OAAO,EAAE,CAAC,EAAE,KAAK,EAAC,SAAS;oBAC7B,eAAQ,CACL,CACF;SACN,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport {\n CRLReason, InvalidityDate, CertificateIssuer,\n} from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport {\n dateShort, l10n, getStringByOID,\n} from '../../utils';\nimport { IRevokedCertificate } from '../../crypto';\nimport { GeneralNamePart } from './extensions/general_name_part';\nimport {\n RowTitle, RowValue, TableRowTable,\n} 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"]}
|
|
@@ -39,8 +39,8 @@ export const RowValue = (props) => {
|
|
|
39
39
|
elementValue = value;
|
|
40
40
|
}
|
|
41
41
|
const hasValue = !!value.toString();
|
|
42
|
-
return (h("tr", null, h("td", { colSpan: hasValue ? 1 : 2 }, h(Typography, { variant: "b2", color: "gray-9" }, name)), hasValue && (h("td", { class: {
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
return (h("tr", null, h("td", { colSpan: hasValue ? 1 : 2 }, h(Typography, { variant: "b2", color: "gray-9" }, name)), hasValue && (h("td", { class: { monospace } }, (isLink(value.toString()) || href)
|
|
43
|
+
? (h(Link, { variant: "b2", href: href || value.toString() }, value))
|
|
44
|
+
: (h(Typography, { variant: "b2", color: "black" }, elementValue, extraValue))))));
|
|
45
45
|
};
|
|
46
46
|
//# sourceMappingURL=row.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/row.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CACjE;IACE,UAAI,OAAO,EAAE,CAAC;QACZ,iBACG,QAAQ,CACH,CACL,CACF,CACN,CAAC;AAMF,MAAM,CAAC,MAAM,QAAQ,GAAwC,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAI,KAAK,EAAC,OAAO;YACf,UAAI,OAAO,EAAE,CAAC;gBACZ,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO,IAEZ,KAAK,CACK,CACV,CACF;QACL;YACE,UAAI,OAAO,EAAE,CAAC,EAAE,KAAK,EAAC,SAAS;gBAC7B,eAAQ,CACL,CACF;KACN,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,QAAQ,GAAwC,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,GAAG,CACb,+BACG,KAAK,CACc,CACvB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEpC,OAAO,CACL;QACE,UACE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzB,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,QAAQ,IAEb,IAAI,CACM,CACV;QACJ,QAAQ,IAAI,CACX,UACE,KAAK,EAAE
|
|
1
|
+
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/row.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAwB,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CACjE;IACE,UAAI,OAAO,EAAE,CAAC;QACZ,iBACG,QAAQ,CACH,CACL,CACF,CACN,CAAC;AAMF,MAAM,CAAC,MAAM,QAAQ,GAAwC,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAExB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,UAAI,KAAK,EAAC,OAAO;YACf,UAAI,OAAO,EAAE,CAAC;gBACZ,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO,IAEZ,KAAK,CACK,CACV,CACF;QACL;YACE,UAAI,OAAO,EAAE,CAAC,EAAE,KAAK,EAAC,SAAS;gBAC7B,eAAQ,CACL,CACF;KACN,CAAC;AACJ,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,QAAQ,GAAwC,CAAC,KAAK,EAAE,EAAE;IACrE,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,CAAC;IAEjB,IAAI,QAAQ,EAAE,CAAC;QACb,YAAY,GAAG,CACb,+BACG,KAAK,CACc,CACvB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAEpC,OAAO,CACL;QACE,UACE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEzB,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,QAAQ,IAEb,IAAI,CACM,CACV;QACJ,QAAQ,IAAI,CACX,UACE,KAAK,EAAE,EAAE,SAAS,EAAE,IAEnB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC;YACjC,CAAC,CAAC,CACE,EAAC,IAAI,IACH,OAAO,EAAC,IAAI,EACZ,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,IAE7B,KAAK,CACD,CACR;YACH,CAAC,CAAC,CACE,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO;gBAEZ,YAAY;gBACZ,UAAU,CACA,CACd,CACF,CACN,CACE,CACN,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport isLink from '../../utils/is_link';\nimport { Typography } from '../typography';\nimport { Link } from '../link';\n\nexport const TableRowTable: FunctionalComponent = (_, children) => (\n <tr>\n <td colSpan={2}>\n <table>\n {children}\n </table>\n </td>\n </tr>\n);\n\ninterface IRowTitleProps {\n value: string | string[];\n}\n\nexport const RowTitle: FunctionalComponent<IRowTitleProps> = (props) => {\n const { value } = props;\n\n if (!value) {\n return null;\n }\n\n return [\n <tr class=\"title\">\n <td colSpan={2}>\n <Typography\n variant=\"s1\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ];\n};\n\ninterface IRowValueProps {\n name: string | string[];\n value: string | number | string[];\n monospace?: boolean;\n collapse?: boolean;\n href?: string;\n extraValue?: Element[];\n}\n\nexport const RowValue: FunctionalComponent<IRowValueProps> = (props) => {\n const {\n name,\n value,\n monospace,\n collapse,\n href,\n extraValue,\n } = props;\n\n if (!name) {\n return null;\n }\n\n if (value === undefined || value === null) {\n return null;\n }\n\n let elementValue;\n\n if (collapse) {\n elementValue = (\n <peculiar-text-hider>\n {value}\n </peculiar-text-hider>\n );\n } else {\n elementValue = value;\n }\n\n const hasValue = !!value.toString();\n\n return (\n <tr>\n <td\n colSpan={hasValue ? 1 : 2}\n >\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n {hasValue && (\n <td\n class={{ monospace }}\n >\n {(isLink(value.toString()) || href)\n ? (\n <Link\n variant=\"b2\"\n href={href || value.toString()}\n >\n {value}\n </Link>\n )\n : (\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {elementValue}\n {extraValue}\n </Typography>\n )}\n </td>\n )}\n </tr>\n );\n};\n"]}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { h } from "@stencil/core";
|
|
12
12
|
import { Convert } from "pvtsutils";
|
|
13
13
|
import { l10n, getStringByOID } from "../../utils";
|
|
14
|
-
import { RowTitle, RowValue, TableRowTable } from "./row";
|
|
14
|
+
import { RowTitle, RowValue, TableRowTable, } from "./row";
|
|
15
15
|
export const Signature = (props) => {
|
|
16
16
|
const { signature } = props;
|
|
17
17
|
if (!signature) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/signature.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/signature.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAClC,MAAM,OAAO,CAAC;AAMf,MAAM,CAAC,MAAM,SAAS,GAAyC,CAAC,KAAK,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAE5B,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,sBAAsB,CAAC,IAAgB;QAC9C,OAAO;YACL,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EACjC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,GACrC;YACF,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAChC,SAAS,QACT,QAAQ,SACR;SACH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAClC;QACF,sBAAsB,CAAC,SAAS,CAAC;QACjC,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC9E,EAAC,aAAa,QACX,sBAAsB,CAAC,KAAK,CAAC,CAChB,CACjB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\nimport { ISignature } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\nimport {\n RowTitle, RowValue, TableRowTable,\n} from './row';\n\ninterface ISignatureProps {\n signature: ISignature;\n}\n\nexport const Signature: FunctionalComponent<ISignatureProps> = (props) => {\n const { signature } = props;\n\n if (!signature) {\n return null;\n }\n\n function renderSignatureDetails(data: ISignature) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(data.algorithm)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(data.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('signature')}\n />,\n renderSignatureDetails(signature),\n (signature.params && signature.params.length && signature.params.map((param) => (\n <TableRowTable>\n {renderSignatureDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subject_name.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/subject_name.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"subject_name.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/subject_name.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,CAAC,MAAM,WAAW,GAA2C,CAAC,KAAK,EAAE,EAAE;IAC3E,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GACpC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACd,EAAC,QAAQ,IACP,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EACtB,KAAK,EAAE,CAAC,CAAC,KAAK,GACd,CACH,CAAC;KACH,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n}\n\nexport const SubjectName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name } = props;\n\n return [\n <RowTitle\n value={l10n.getString('subjectName')}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\n )),\n ];\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbprints.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/thumbprints.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"thumbprints.js","sourceRoot":"","sources":["../../../src/components/certificate-details-parts/thumbprints.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAuB,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,CAAC,MAAM,WAAW,GAA2C,CAAC,KAAK,EAAE,EAAE;IAC3E,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAEtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,EAAC,QAAQ,IACP,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GACrC;QACF,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACjB,EAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,WAAW,CAAC,IAAI,CAAC,EACxB,SAAS,SACT,CACH,CAAC;KACH,CAAC;AACJ,CAAC,CAAC","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 { h, FunctionalComponent } from '@stencil/core';\nimport { l10n } from '../../utils';\nimport { RowTitle, RowValue } from './row';\n\ninterface IThumbprintsProps {\n thumbprints: Record<string, string>;\n}\n\nexport const Thumbprints: FunctionalComponent<IThumbprintsProps> = (props) => {\n const { thumbprints } = props;\n\n if (!thumbprints) {\n return null;\n }\n\n const keys = Object.keys(thumbprints);\n\n if (!keys.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('fingerprints')}\n />,\n keys.map((name) => (\n <RowValue\n name={name}\n value={thumbprints[name]}\n monospace\n />\n )),\n ];\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate-summary.js","sourceRoot":"","sources":["../../../src/components/certificate-summary/certificate-summary.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,MAAM,CAAC,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"certificate-summary.js","sourceRoot":"","sources":["../../../src/components/certificate-summary/certificate-summary.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAuB,CAAC,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,MAAM,CAAC,MAAM,kBAAkB,GAAkD,CAAC,KAAK,EAAE,EAAE;IACzF,MAAM,EACJ,WAAW,EACX,UAAU,GACX,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAE,KAAsB,EAAE,EAAE,CAAC,CACrE;QACE;YACE,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,QAAQ,IAEb,IAAI,CACM,CACV;QACL;YACE,EAAC,UAAU,IACT,OAAO,EAAC,IAAI,EACZ,KAAK,EAAC,OAAO,IAEZ,KAAK,CACK,CACV,CACF,CACN,CAAC;IAEF,OAAO,CACL;QACE;YACG,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAC7B,WAAW,CAAC,eAAe,EAAE,CAC9B;YACA,UAAU,IAAI,SAAS,CACtB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAC5B,WAAW,CAAC,cAAc,EAAE,CAC7B;YAEA,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAC9B,WAAW,CAAC,YAAY,CACzB;YACA,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,WAAW,CAAC,OAAO,CACpB;YACA,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAC1B,WAAW,CAAC,QAAQ,CACrB;YACA,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EACxB,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CACjC;YACA,SAAS,CACR,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EACzB,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,CAChC,CACK,CACF,CACT,CAAC;AACJ,CAAC,CAAC","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 { FunctionalComponent, h } from '@stencil/core';\nimport type { X509Certificate } from '../../crypto';\nimport { dateShort, l10n } from '../../utils';\nimport { Typography } from '../typography';\n\ninterface ICertificateSummaryProps {\n certificate: X509Certificate;\n showIssuer?: boolean;\n}\n\nexport const CertificateSummary: FunctionalComponent<ICertificateSummaryProps> = (props) => {\n const {\n certificate,\n showIssuer,\n } = props;\n\n const renderRow = (name: string | string[], value: string | number) => (\n <tr>\n <td>\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n <td>\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>\n );\n\n return (\n <table>\n <tbody>\n {renderRow(\n l10n.getString('subjectName'),\n certificate.subjectToString(),\n )}\n {showIssuer && renderRow(\n l10n.getString('issuerName'),\n certificate.issuerToString(),\n )}\n\n {renderRow(\n l10n.getString('serialNumber'),\n certificate.serialNumber,\n )}\n {renderRow(\n l10n.getString('version'),\n certificate.version,\n )}\n {renderRow(\n l10n.getString('validity'),\n certificate.validity,\n )}\n {renderRow(\n l10n.getString('issued'),\n dateShort(certificate.notBefore),\n )}\n {renderRow(\n l10n.getString('expired'),\n dateShort(certificate.notAfter),\n )}\n </tbody>\n </table>\n );\n};\n"]}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* LICENSE file in the root directory of this source tree.
|
|
10
10
|
*/
|
|
11
11
|
import { h, Host, Build, } from "@stencil/core";
|
|
12
|
-
import { X509Certificate
|
|
13
|
-
import { getDNSNameLink, getIPAddressLink, getLEILink } from "../../utils/third_party_links";
|
|
12
|
+
import { X509Certificate } from "../../crypto";
|
|
13
|
+
import { getDNSNameLink, getIPAddressLink, getLEILink, } from "../../utils/third_party_links";
|
|
14
14
|
import { BasicInformation, SubjectName, IssuerName, PublicKey, Signature, Thumbprints, Extensions, Miscellaneous, } from "../certificate-details-parts";
|
|
15
15
|
import { Typography } from "../typography";
|
|
16
16
|
export class CertificateViewer {
|
|
@@ -97,11 +97,9 @@ export class CertificateViewer {
|
|
|
97
97
|
getIssuerDnLink() {
|
|
98
98
|
return this.issuerDnLink;
|
|
99
99
|
}
|
|
100
|
-
// eslint-disable-next-line class-methods-use-this
|
|
101
100
|
renderErrorState() {
|
|
102
101
|
return (h("div", { class: "status_wrapper" }, h(Typography, null, "There was an error decoding this certificate.")));
|
|
103
102
|
}
|
|
104
|
-
// eslint-disable-next-line class-methods-use-this
|
|
105
103
|
renderEmptyState() {
|
|
106
104
|
return (h("div", { class: "status_wrapper" }, h(Typography, null, "There is no certificate available.")));
|
|
107
105
|
}
|
|
@@ -130,15 +128,16 @@ export class CertificateViewer {
|
|
|
130
128
|
return {
|
|
131
129
|
"certificate": {
|
|
132
130
|
"type": "string",
|
|
131
|
+
"attribute": "certificate",
|
|
133
132
|
"mutable": false,
|
|
134
133
|
"complexType": {
|
|
135
|
-
"original": "
|
|
134
|
+
"original": "TCertificateProp",
|
|
136
135
|
"resolved": "X509Certificate | string",
|
|
137
136
|
"references": {
|
|
138
|
-
"
|
|
137
|
+
"TCertificateProp": {
|
|
139
138
|
"location": "local",
|
|
140
139
|
"path": "/Users/donskov/Documents/work/pv/pv-certificates-viewer/packages/webcomponents/src/components/certificate-viewer/certificate-viewer.tsx",
|
|
141
|
-
"id": "src/components/certificate-viewer/certificate-viewer.tsx::
|
|
140
|
+
"id": "src/components/certificate-viewer/certificate-viewer.tsx::TCertificateProp"
|
|
142
141
|
}
|
|
143
142
|
}
|
|
144
143
|
},
|
|
@@ -150,11 +149,11 @@ export class CertificateViewer {
|
|
|
150
149
|
},
|
|
151
150
|
"getter": false,
|
|
152
151
|
"setter": false,
|
|
153
|
-
"attribute": "certificate",
|
|
154
152
|
"reflect": true
|
|
155
153
|
},
|
|
156
154
|
"download": {
|
|
157
155
|
"type": "boolean",
|
|
156
|
+
"attribute": "download",
|
|
158
157
|
"mutable": false,
|
|
159
158
|
"complexType": {
|
|
160
159
|
"original": "boolean",
|
|
@@ -169,11 +168,11 @@ export class CertificateViewer {
|
|
|
169
168
|
},
|
|
170
169
|
"getter": false,
|
|
171
170
|
"setter": false,
|
|
172
|
-
"attribute": "download",
|
|
173
171
|
"reflect": true
|
|
174
172
|
},
|
|
175
173
|
"authKeyIdParentLink": {
|
|
176
174
|
"type": "string",
|
|
175
|
+
"attribute": "auth-key-id-parent-link",
|
|
177
176
|
"mutable": false,
|
|
178
177
|
"complexType": {
|
|
179
178
|
"original": "string",
|
|
@@ -191,11 +190,11 @@ export class CertificateViewer {
|
|
|
191
190
|
},
|
|
192
191
|
"getter": false,
|
|
193
192
|
"setter": false,
|
|
194
|
-
"attribute": "auth-key-id-parent-link",
|
|
195
193
|
"reflect": true
|
|
196
194
|
},
|
|
197
195
|
"authKeyIdSiblingsLink": {
|
|
198
196
|
"type": "string",
|
|
197
|
+
"attribute": "auth-key-id-siblings-link",
|
|
199
198
|
"mutable": false,
|
|
200
199
|
"complexType": {
|
|
201
200
|
"original": "string",
|
|
@@ -213,11 +212,11 @@ export class CertificateViewer {
|
|
|
213
212
|
},
|
|
214
213
|
"getter": false,
|
|
215
214
|
"setter": false,
|
|
216
|
-
"attribute": "auth-key-id-siblings-link",
|
|
217
215
|
"reflect": true
|
|
218
216
|
},
|
|
219
217
|
"subjectKeyIdChildrenLink": {
|
|
220
218
|
"type": "string",
|
|
219
|
+
"attribute": "subject-key-id-children-link",
|
|
221
220
|
"mutable": false,
|
|
222
221
|
"complexType": {
|
|
223
222
|
"original": "string",
|
|
@@ -235,11 +234,11 @@ export class CertificateViewer {
|
|
|
235
234
|
},
|
|
236
235
|
"getter": false,
|
|
237
236
|
"setter": false,
|
|
238
|
-
"attribute": "subject-key-id-children-link",
|
|
239
237
|
"reflect": true
|
|
240
238
|
},
|
|
241
239
|
"subjectKeyIdSiblingsLink": {
|
|
242
240
|
"type": "string",
|
|
241
|
+
"attribute": "subject-key-id-siblings-link",
|
|
243
242
|
"mutable": false,
|
|
244
243
|
"complexType": {
|
|
245
244
|
"original": "string",
|
|
@@ -257,11 +256,11 @@ export class CertificateViewer {
|
|
|
257
256
|
},
|
|
258
257
|
"getter": false,
|
|
259
258
|
"setter": false,
|
|
260
|
-
"attribute": "subject-key-id-siblings-link",
|
|
261
259
|
"reflect": true
|
|
262
260
|
},
|
|
263
261
|
"issuerDnLink": {
|
|
264
262
|
"type": "string",
|
|
263
|
+
"attribute": "issuer-dn-link",
|
|
265
264
|
"mutable": false,
|
|
266
265
|
"complexType": {
|
|
267
266
|
"original": "string",
|
|
@@ -276,11 +275,11 @@ export class CertificateViewer {
|
|
|
276
275
|
},
|
|
277
276
|
"getter": false,
|
|
278
277
|
"setter": false,
|
|
279
|
-
"attribute": "issuer-dn-link",
|
|
280
278
|
"reflect": true
|
|
281
279
|
},
|
|
282
280
|
"mobileMediaQueryString": {
|
|
283
281
|
"type": "string",
|
|
282
|
+
"attribute": "mobile-media-query-string",
|
|
284
283
|
"mutable": false,
|
|
285
284
|
"complexType": {
|
|
286
285
|
"original": "string",
|
|
@@ -298,7 +297,6 @@ export class CertificateViewer {
|
|
|
298
297
|
},
|
|
299
298
|
"getter": false,
|
|
300
299
|
"setter": false,
|
|
301
|
-
"attribute": "mobile-media-query-string",
|
|
302
300
|
"reflect": false,
|
|
303
301
|
"defaultValue": "'(max-width: 900px)'"
|
|
304
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate-viewer.js","sourceRoot":"","sources":["../../../src/components/certificate-viewer/certificate-viewer.tsx"],"names":[],"mappings":"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","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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\n\nimport {\n X509Certificate,\n} from '../../crypto';\nimport { getDNSNameLink, getIPAddressLink, getLEILink } from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type CertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\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: CertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) 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 * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: 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: CertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(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 /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: CertificateProp, oldValue: CertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\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 getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\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.\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 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 <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\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 getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"certificate-viewer.js","sourceRoot":"","sources":["../../../src/components/certificate-viewer/certificate-viewer.tsx"],"names":[],"mappings":"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","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 {\n Component,\n h,\n Prop,\n State,\n Watch,\n Host,\n Build,\n} from '@stencil/core';\nimport { X509Certificate } from '../../crypto';\nimport {\n getDNSNameLink, getIPAddressLink, getLEILink,\n} from '../../utils/third_party_links';\nimport {\n BasicInformation,\n SubjectName,\n IssuerName,\n PublicKey,\n Signature,\n Thumbprints,\n Extensions,\n Miscellaneous,\n} from '../certificate-details-parts';\nimport { Typography } from '../typography';\n\nexport type TCertificateProp = string | X509Certificate;\n\n@Component({\n tag: 'peculiar-certificate-viewer',\n styleUrl: 'certificate-viewer.scss',\n shadow: true,\n})\nexport class CertificateViewer {\n private certificateDecoded: X509Certificate;\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: TCertificateProp;\n\n /**\n * If `true` - component will show split-button to download certificate as PEM or DER.\n */\n @Prop({ reflect: true }) 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 * Subject Key Identifier extension children link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://censys.io/certificates?q=parsed.extensions.authority_key_id:%20{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdChildrenLink?: string;\n\n /**\n * Subject Key Identifier extension siblings link.\n * <br />\n * **NOTE**: `{{subjectKeyId}}` will be replaced to value from the extension.\n * @example\n * https://some.com/{{subjectKeyId}}\n */\n @Prop({ reflect: true }) subjectKeyIdSiblingsLink?: 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 = false;\n\n @State() isDecodeInProcess = 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: TCertificateProp) {\n this.isDecodeInProcess = true;\n\n try {\n if (certificate instanceof X509Certificate) {\n this.certificateDecoded = certificate;\n } else if (typeof certificate === 'string') {\n this.certificateDecoded = new X509Certificate(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 /**\n * Rerun decodeCertificate if previuos value not equal current value\n */\n @Watch('certificate')\n watchCertificateAndDecode(newValue: TCertificateProp, oldValue: TCertificateProp) {\n if (typeof newValue === 'string' && typeof oldValue === 'string') {\n if (newValue !== oldValue) {\n this.decodeCertificate(newValue);\n }\n\n return;\n }\n\n if (newValue instanceof X509Certificate && oldValue instanceof X509Certificate) {\n if (newValue.serialNumber !== oldValue.serialNumber) {\n this.decodeCertificate(newValue);\n }\n }\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 getSubjectKeyIdChildrenLink = (value: string) => this.subjectKeyIdChildrenLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getSubjectKeyIdSiblingsLink = (value: string) => this.subjectKeyIdSiblingsLink\n ?.replace('{{subjectKeyId}}', value);\n\n private getIssuerDnLink() {\n return this.issuerDnLink;\n }\n\n private renderErrorState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There was an error decoding this certificate.\n </Typography>\n </div>\n );\n }\n\n private renderEmptyState() {\n return (\n <div class=\"status_wrapper\">\n <Typography>\n There is no certificate 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 <SubjectName\n name={this.certificateDecoded.subject}\n />\n\n <IssuerName\n name={this.certificateDecoded.issuer}\n issuerDnLink={this.getIssuerDnLink()}\n />\n\n <PublicKey\n publicKey={this.certificateDecoded.publicKey}\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 getSubjectKeyIdChildrenLink={this.getSubjectKeyIdChildrenLink}\n getSubjectKeyIdSiblingsLink={this.getSubjectKeyIdSiblingsLink}\n />\n\n {this.download && (\n <Miscellaneous\n certificate={this.certificateDecoded}\n />\n )}\n </table>\n </Host>\n );\n }\n}\n"]}
|