@peculiar/certificates-viewer 2.0.1 → 2.0.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/cjs/_commonjsHelpers-cb1f949a.js +23 -0
- package/dist/cjs/{download-cd98aa01.js → certification_request-96951e7b.js} +2880 -3313
- package/dist/cjs/{dom-760f300f.js → dom-f57e260e.js} +4 -1
- package/dist/cjs/download-5e7d5455.js +438 -0
- package/dist/cjs/{index-2973f90a.js → index-064e95c7.js} +287 -634
- package/dist/cjs/index.cjs.js +12 -0
- package/dist/cjs/{l10n-e971a5ac.js → l10n-2e7def18.js} +72 -90
- package/dist/cjs/loader.cjs.js +12 -3
- package/dist/cjs/peculiar-attribute-certificate-viewer_9.cjs.entry.js +1426 -1391
- package/dist/cjs/peculiar-certificate-summary_3.cjs.entry.js +66 -62
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +222 -217
- package/dist/cjs/peculiar.cjs.js +70 -3
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +220 -205
- package/dist/collection/components/attribute-certificate-viewer/holder.js +27 -24
- package/dist/collection/components/attribute-certificate-viewer/issuer.js +11 -8
- package/dist/collection/components/button/button.css +2 -7
- package/dist/collection/components/button/button.js +125 -122
- package/dist/collection/components/button-split/button-split.js +103 -100
- package/dist/collection/components/certificate-decoder/certificate-decoder.css +1 -3
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +158 -155
- package/dist/collection/components/certificate-summary/certificate-summary.js +75 -72
- package/dist/collection/components/certificate-viewer/attributes/activity_description_attribute.js +11 -8
- package/dist/collection/components/certificate-viewer/attributes/as_string_attribute.js +6 -3
- package/dist/collection/components/certificate-viewer/attributes/basic_attribute.js +11 -8
- package/dist/collection/components/certificate-viewer/attributes/challenge_password_attribute.js +6 -3
- package/dist/collection/components/certificate-viewer/attributes/index.js +45 -42
- package/dist/collection/components/certificate-viewer/attributes/insurance_value_attribute.js +7 -4
- package/dist/collection/components/certificate-viewer/attributes/name_attribute.js +6 -3
- package/dist/collection/components/certificate-viewer/attributes/name_part.js +8 -5
- package/dist/collection/components/certificate-viewer/attributes/type_relationship_attribute.js +5 -2
- package/dist/collection/components/certificate-viewer/attributes/unstructured_name_attribute.js +6 -3
- package/dist/collection/components/certificate-viewer/attributes/valuation_ranking_attribute.js +18 -15
- package/dist/collection/components/certificate-viewer/attributes/web_gdpr_attribute.js +13 -10
- package/dist/collection/components/certificate-viewer/basic_information.js +13 -10
- package/dist/collection/components/certificate-viewer/certificate-viewer.js +255 -240
- package/dist/collection/components/certificate-viewer/extensions/archive_rev_info_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/as_string_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/attribute_value.js +4 -1
- package/dist/collection/components/certificate-viewer/extensions/authority_key_identifier_extension.js +18 -15
- package/dist/collection/components/certificate-viewer/extensions/basic_constraints_extension.js +7 -4
- package/dist/collection/components/certificate-viewer/extensions/basic_extension.js +12 -9
- package/dist/collection/components/certificate-viewer/extensions/biometric_syntax_extension.js +12 -9
- package/dist/collection/components/certificate-viewer/extensions/ca_version_extension.js +8 -5
- package/dist/collection/components/certificate-viewer/extensions/certificate_policies_extension.js +28 -25
- package/dist/collection/components/certificate-viewer/extensions/certificate_template_extension.js +8 -5
- package/dist/collection/components/certificate-viewer/extensions/certificate_transparency_extension.js +13 -10
- package/dist/collection/components/certificate-viewer/extensions/crl_distribution_points_extension.js +11 -8
- package/dist/collection/components/certificate-viewer/extensions/crl_reason_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/enroll_cert_type_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/entrust_version_info_extension.js +7 -4
- package/dist/collection/components/certificate-viewer/extensions/extended_key_usage_extension.js +5 -2
- package/dist/collection/components/certificate-viewer/extensions/general_name_part.js +55 -52
- package/dist/collection/components/certificate-viewer/extensions/index.js +112 -109
- package/dist/collection/components/certificate-viewer/extensions/info_access_syntax_extension.js +9 -6
- package/dist/collection/components/certificate-viewer/extensions/key_usage_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/lei_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/lei_role_extennsion.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/logotype_extension.js +49 -46
- package/dist/collection/components/certificate-viewer/extensions/name_constraints_extension.js +8 -5
- package/dist/collection/components/certificate-viewer/extensions/netscape_cert_type_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/netscape_comment_extension.js +6 -3
- package/dist/collection/components/certificate-viewer/extensions/policy_constraints_extension.js +7 -4
- package/dist/collection/components/certificate-viewer/extensions/policy_mappings_extension.js +9 -6
- package/dist/collection/components/certificate-viewer/extensions/private_key_usage_period_extension.js +7 -4
- package/dist/collection/components/certificate-viewer/extensions/qc_statements_extension.js +9 -6
- package/dist/collection/components/certificate-viewer/extensions/subject_alternative_name_extension.js +5 -2
- package/dist/collection/components/certificate-viewer/extensions/subject_directory_attributes_extension.js +9 -6
- package/dist/collection/components/certificate-viewer/extensions/subject_key_identifier_extension.js +18 -15
- package/dist/collection/components/certificate-viewer/extensions/timestamp_extension.js +8 -5
- package/dist/collection/components/certificate-viewer/extensions/tn_auth_list_extension.js +10 -7
- package/dist/collection/components/certificate-viewer/get_string_by_oid.js +8 -5
- package/dist/collection/components/certificate-viewer/issuer_name.js +9 -6
- package/dist/collection/components/certificate-viewer/miscellaneous.js +29 -26
- package/dist/collection/components/certificate-viewer/public_key.js +31 -28
- package/dist/collection/components/certificate-viewer/row.js +35 -32
- package/dist/collection/components/certificate-viewer/signature.js +12 -9
- package/dist/collection/components/certificate-viewer/subject_name.js +8 -5
- package/dist/collection/components/certificate-viewer/thumbprints.js +15 -12
- package/dist/collection/components/certificates-viewer/certificates-viewer.css +1 -19
- package/dist/collection/components/certificates-viewer/certificates-viewer.js +384 -381
- package/dist/collection/components/circular-progress/circular-progress.css +2 -24
- package/dist/collection/components/circular-progress/circular-progress.js +73 -70
- package/dist/collection/components/csr-viewer/csr-viewer.js +197 -188
- package/dist/collection/components/highlight-words/highlight-words.js +56 -53
- package/dist/collection/components/link/link.css +1 -3
- package/dist/collection/components/link/link.js +60 -57
- package/dist/collection/components/text-hider/text-hider.js +75 -72
- package/dist/collection/components/typography/typography.css +1 -3
- package/dist/collection/components/typography/typography.js +126 -123
- package/dist/collection/constants/logs.js +79 -76
- package/dist/collection/constants/oids.js +2301 -2298
- package/dist/collection/crypto/asn_data.js +33 -32
- package/dist/collection/crypto/attribute.js +52 -49
- package/dist/collection/crypto/csr.js +64 -61
- package/dist/collection/crypto/extension.js +126 -123
- package/dist/collection/crypto/index.js +3 -0
- package/dist/collection/crypto/name.js +33 -32
- package/dist/collection/crypto/provider.js +28 -25
- package/dist/collection/crypto/utils.js +24 -21
- package/dist/collection/crypto/x509_attribute_certificate.js +61 -58
- package/dist/collection/crypto/x509_certificate.js +107 -104
- package/dist/collection/index.js +5 -1
- package/dist/collection/utils/date_formatter.js +19 -16
- package/dist/collection/utils/download.js +18 -15
- package/dist/collection/utils/download_from_buffer.js +30 -25
- package/dist/collection/utils/history.js +5 -2
- package/dist/collection/utils/index.js +3 -0
- package/dist/collection/utils/is_link.js +4 -1
- package/dist/collection/utils/l10n.js +28 -25
- package/dist/collection/utils/parse_hash.js +16 -13
- package/dist/collection/utils/query_stringify.js +12 -9
- package/dist/collection/utils/read_file.js +43 -40
- package/dist/collection/utils/third_party_links.js +3 -0
- package/dist/collection/utils/validator.js +15 -12
- package/dist/esm/_commonjsHelpers-bfbd2ad8.js +20 -0
- package/dist/esm/{download-1ff0a3be.js → certification_request-48e8b956.js} +2898 -3328
- package/dist/esm/{dom-91ed8d21.js → dom-f1b08a97.js} +4 -1
- package/dist/esm/download-cf68ac2c.js +434 -0
- package/dist/esm/{index-5ef692cc.js → index-bbd484d9.js} +278 -624
- package/dist/esm/index.js +5 -0
- package/dist/esm/{l10n-c8cf6930.js → l10n-ead9928b.js} +71 -86
- package/dist/esm/{loader.mjs → loader.js} +11 -2
- package/dist/esm/peculiar-attribute-certificate-viewer_9.entry.js +1425 -1390
- package/dist/esm/peculiar-certificate-summary_3.entry.js +66 -62
- package/dist/esm/peculiar-certificates-viewer.entry.js +222 -217
- package/dist/esm/peculiar.js +73 -0
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/polyfills/index.js +2 -2
- package/dist/esm-es5/_commonjsHelpers-bfbd2ad8.js +4 -0
- package/dist/esm-es5/certification_request-48e8b956.js +89 -0
- package/dist/esm-es5/dom-f1b08a97.js +24 -0
- package/dist/esm-es5/download-cf68ac2c.js +18 -0
- package/dist/esm-es5/index-bbd484d9.js +5 -0
- package/dist/esm-es5/index.js +4 -0
- package/dist/esm-es5/l10n-ead9928b.js +39 -0
- package/dist/esm-es5/loader.js +4 -0
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_9.entry.js +198 -1907
- package/dist/esm-es5/peculiar-certificate-summary_3.entry.js +4 -83
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +4 -290
- package/dist/esm-es5/peculiar.js +4 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -1
- package/dist/peculiar/index.esm.js +4 -0
- package/dist/peculiar/p-047b12d9.system.js +89 -0
- package/dist/peculiar/p-13e9d17d.system.entry.js +460 -0
- package/dist/peculiar/p-29cdd256.system.js +18 -0
- package/dist/peculiar/{p-75076c56.system.js → p-3929074b.system.js} +18 -15
- package/dist/peculiar/p-452d69af.entry.js +113 -0
- package/dist/peculiar/p-4f52a24f.system.js +39 -0
- package/dist/peculiar/p-5f7fbf05.system.entry.js +4 -0
- package/dist/peculiar/p-82033e2e.system.entry.js +4 -0
- package/dist/peculiar/p-886e9c53.js +87 -0
- package/dist/peculiar/p-88fbaf05.system.js +4 -0
- package/dist/peculiar/p-8df391dc.system.js +4 -0
- package/dist/peculiar/p-9837be14.system.js +5 -0
- package/dist/peculiar/p-9ae6b1f8.entry.js +4 -0
- package/dist/peculiar/{p-3d1015c2.js → p-9f4ee110.js} +5 -2
- package/dist/peculiar/p-c774ec0b.js +18 -0
- package/dist/peculiar/p-d09b762f.js +33 -0
- package/dist/peculiar/p-d0b55fbb.js +4 -0
- package/dist/peculiar/p-e5f99586.entry.js +4 -0
- package/dist/peculiar/p-ee0e2707.system.js +4 -0
- package/dist/peculiar/p-f7683ba5.js +5 -0
- package/dist/peculiar/peculiar.esm.js +4 -1
- package/dist/peculiar/peculiar.js +1 -3
- package/dist/types/components/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +56 -56
- package/dist/types/components/attribute-certificate-viewer/holder.d.ts +1 -1
- package/dist/types/components/attribute-certificate-viewer/issuer.d.ts +1 -1
- package/dist/types/components/button/button.d.ts +17 -17
- package/dist/types/components/button-split/button-split.d.ts +10 -10
- package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +16 -16
- package/dist/types/components/certificate-summary/certificate-summary.d.ts +4 -4
- package/dist/types/components/certificate-viewer/attributes/activity_description_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/as_string_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/basic_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/challenge_password_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/index.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/insurance_value_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/name_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/name_part.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/type_relationship_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/unstructured_name_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/valuation_ranking_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/attributes/web_gdpr_attribute.d.ts +1 -1
- package/dist/types/components/certificate-viewer/basic_information.d.ts +6 -6
- package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +66 -66
- package/dist/types/components/certificate-viewer/extensions/archive_rev_info_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/as_string_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/authority_key_identifier_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/basic_constraints_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/basic_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/biometric_syntax_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/ca_version_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/certificate_policies_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/certificate_template_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/certificate_transparency_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/crl_distribution_points_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/crl_reason_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/enroll_cert_type_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/entrust_version_info_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/extended_key_usage_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/general_name_part.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/index.d.ts +2 -2
- package/dist/types/components/certificate-viewer/extensions/info_access_syntax_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/key_usage_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/lei_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/lei_role_extennsion.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/logotype_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/name_constraints_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/netscape_cert_type_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/netscape_comment_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/policy_constraints_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/policy_mappings_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/private_key_usage_period_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/qc_statements_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/subject_alternative_name_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/subject_directory_attributes_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/subject_key_identifier_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/timestamp_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/extensions/tn_auth_list_extension.d.ts +1 -1
- package/dist/types/components/certificate-viewer/issuer_name.d.ts +2 -2
- package/dist/types/components/certificate-viewer/miscellaneous.d.ts +1 -1
- package/dist/types/components/certificate-viewer/public_key.d.ts +1 -1
- package/dist/types/components/certificate-viewer/row.d.ts +7 -7
- package/dist/types/components/certificate-viewer/signature.d.ts +1 -1
- package/dist/types/components/certificate-viewer/subject_name.d.ts +1 -1
- package/dist/types/components/certificate-viewer/thumbprints.d.ts +1 -1
- package/dist/types/components/certificate-viewer/types.d.ts +26 -0
- package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +64 -64
- package/dist/types/components/circular-progress/circular-progress.d.ts +10 -10
- package/dist/types/components/csr-viewer/csr-viewer.d.ts +45 -45
- package/dist/types/components/highlight-words/highlight-words.d.ts +8 -8
- package/dist/types/components/link/link.d.ts +6 -6
- package/dist/types/components/text-hider/text-hider.d.ts +4 -4
- package/dist/types/components/typography/typography.d.ts +18 -18
- package/dist/types/components.d.ts +11 -3
- package/dist/types/constants/logs.d.ts +76 -76
- package/dist/types/constants/oids.d.ts +2293 -2293
- package/dist/types/crypto/asn_data.d.ts +6 -6
- package/dist/types/crypto/attribute.d.ts +3 -3
- package/dist/types/crypto/csr.d.ts +19 -19
- package/dist/types/crypto/extension.d.ts +3 -3
- package/dist/types/crypto/name.d.ts +7 -7
- package/dist/types/crypto/provider.d.ts +15 -15
- package/dist/types/crypto/x509_attribute_certificate.d.ts +22 -22
- package/dist/types/crypto/x509_certificate.d.ts +28 -28
- package/dist/types/index.d.ts +2 -1
- package/dist/types/interface.d.ts +3 -0
- package/dist/types/stencil-public-runtime.d.ts +230 -217
- package/dist/types/utils/download.d.ts +8 -8
- package/dist/types/utils/download_from_buffer.d.ts +3 -3
- package/dist/types/utils/l10n.d.ts +43 -43
- package/dist/types/utils/read_file.d.ts +7 -7
- package/loader/cdn.js +3 -1
- package/loader/index.cjs.js +3 -1
- package/loader/index.d.ts +0 -1
- package/loader/index.es2017.js +5 -0
- package/loader/{index.mjs → index.js} +4 -2
- package/loader/package.json +4 -5
- package/package.json +15 -16
- package/dist/cjs/css-shim-1b988199.js +0 -6
- package/dist/cjs/patch-15ea31af.js +0 -112
- package/dist/cjs/shadow-css-376763e9.js +0 -385
- package/dist/esm/css-shim-5ce2b5c4.js +0 -4
- package/dist/esm/index.mjs +0 -1
- package/dist/esm/patch-f8a17185.js +0 -109
- package/dist/esm/peculiar.mjs +0 -6
- package/dist/esm/shadow-css-95922619.js +0 -383
- package/dist/esm-es5/css-shim-5ce2b5c4.js +0 -122
- package/dist/esm-es5/dom-91ed8d21.js +0 -468
- package/dist/esm-es5/download-1ff0a3be.js +0 -12692
- package/dist/esm-es5/index-5ef692cc.js +0 -1839
- package/dist/esm-es5/index.mjs +0 -0
- package/dist/esm-es5/l10n-c8cf6930.js +0 -758
- package/dist/esm-es5/loader.mjs +0 -10
- package/dist/esm-es5/patch-f8a17185.js +0 -106
- package/dist/esm-es5/peculiar.mjs +0 -5
- package/dist/esm-es5/shadow-css-95922619.js +0 -408
- package/dist/index.mjs +0 -1
- package/dist/peculiar/p-0ad0b6e8.js +0 -1
- package/dist/peculiar/p-198d9121.js +0 -1
- package/dist/peculiar/p-294c4ef9.entry.js +0 -1
- package/dist/peculiar/p-3d339152.system.entry.js +0 -1
- package/dist/peculiar/p-4b7cd42f.js +0 -12
- package/dist/peculiar/p-50ea2036.system.js +0 -1
- package/dist/peculiar/p-557d912f.system.js +0 -1
- package/dist/peculiar/p-84e8326d.entry.js +0 -110
- package/dist/peculiar/p-94f96303.system.js +0 -100
- package/dist/peculiar/p-983b5210.system.entry.js +0 -1
- package/dist/peculiar/p-9f815f76.system.js +0 -1
- package/dist/peculiar/p-aa0a9b36.system.js +0 -1
- package/dist/peculiar/p-bd1f9066.system.js +0 -36
- package/dist/peculiar/p-bd949790.js +0 -1
- package/dist/peculiar/p-cf1841f8.js +0 -30
- package/dist/peculiar/p-dbdd61e7.entry.js +0 -1
- package/dist/peculiar/p-dc6b70b2.js +0 -100
- package/dist/peculiar/p-fb53799e.system.js +0 -1
- package/dist/peculiar/p-fc92385a.system.entry.js +0 -457
- package/dist/peculiar/p-fdad110e.system.js +0 -13
- package/dist/peculiar.js +0 -30
- package/loader/index.es2017.mjs +0 -3
- package/loader/node-main.js +0 -3
|
@@ -1,82 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { r as registerInstance, h, H as Host, g as getElement } from './index-bbd484d9.js';
|
|
5
|
+
import { l as l10n, a as dateShort } from './l10n-ead9928b.js';
|
|
6
|
+
import './_commonjsHelpers-bfbd2ad8.js';
|
|
3
7
|
|
|
4
8
|
const certificateSummaryCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%}td{border:none;padding:0}table{width:100%;border-spacing:0;border-collapse:collapse}td{vertical-align:top;padding-top:5px;padding-bottom:5px}table td:first-child{width:130px;padding-right:10px}table td:last-child{width:calc(100% - 130px)}@media (max-width: 900px){table,tr,td{display:block}table td:last-child,table td:first-child{width:100%}}";
|
|
5
9
|
|
|
6
10
|
const CertificateSummary = class {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
registerInstance(this, hostRef);
|
|
13
|
+
this.showIssuer = true;
|
|
14
|
+
}
|
|
15
|
+
// eslint-disable-next-line class-methods-use-this
|
|
16
|
+
renderRow(name, value, monospace) {
|
|
17
|
+
return (h("tr", null, h("td", null, h("peculiar-typography", { color: "grey_5" }, name, ":")), h("td", null, h("peculiar-typography", { class: "meta_value", monospace: monospace }, value))));
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return (h(Host, null, h("table", null, h("tbody", null, this.renderRow(l10n.getString('subjectName'), this.certificate.subjectToString()), this.showIssuer && this.renderRow(l10n.getString('issuerName'), this.certificate.issuerToString()), this.renderRow(l10n.getString('serialNumber'), this.certificate.serialNumber, true), this.renderRow(l10n.getString('version'), this.certificate.version), this.renderRow(l10n.getString('validity'), this.certificate.validity), this.renderRow(l10n.getString('issued'), dateShort(this.certificate.notBefore)), this.renderRow(l10n.getString('expired'), dateShort(this.certificate.notAfter))))));
|
|
21
|
+
}
|
|
18
22
|
};
|
|
19
23
|
CertificateSummary.style = certificateSummaryCss;
|
|
20
24
|
|
|
21
25
|
const circularProgressCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%}@-webkit-keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes circular-rotate{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}@keyframes circular-dash{0%{stroke-dasharray:1, 200;stroke-dashoffset:0}50%{stroke-dasharray:100, 200;stroke-dashoffset:-15}to{stroke-dasharray:100, 200;stroke-dashoffset:-120}}.circle_progress{margin:0 auto}.circle_progress_svg{-webkit-animation:circular-rotate 1.4s linear infinite;animation:circular-rotate 1.4s linear infinite}.circle_progress_circle{stroke-linecap:round;-webkit-animation:circular-dash 1.4s ease-in-out infinite;animation:circular-dash 1.4s ease-in-out infinite;stroke-dasharray:80, 200;stroke-dashoffset:0;stroke:#3584f7;stroke:rgba(var(--pv-color-primary-rgb), 1)}.circle_progress_backdrop{stroke:#d1d5d9;stroke:rgba(var(--pv-color-grey_3-rgb), 1)}";
|
|
22
26
|
|
|
23
27
|
const CircularProgress = class {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
28
|
+
constructor(hostRef) {
|
|
29
|
+
registerInstance(this, hostRef);
|
|
30
|
+
/**
|
|
31
|
+
* Width/height of progress circle.
|
|
32
|
+
*/
|
|
33
|
+
this.size = 24;
|
|
34
|
+
/**
|
|
35
|
+
* Stroke width of progress bar circle.
|
|
36
|
+
*/
|
|
37
|
+
this.width = 4;
|
|
38
|
+
this.box = 50;
|
|
39
|
+
}
|
|
40
|
+
render() {
|
|
41
|
+
return (h(Host, null, h("div", { class: "circle_progress", style: {
|
|
42
|
+
width: `${this.size}px`,
|
|
43
|
+
height: `${this.size}px`,
|
|
44
|
+
} }, h("svg", { class: "circle_progress_svg", viewBox: `0 0 ${this.box} ${this.box}` }, h("circle", { class: "circle_progress_backdrop", cx: this.box / 2, cy: this.box / 2, r: (this.box / 2) - 5, fill: "none", style: {
|
|
45
|
+
strokeWidth: `${this.width}px`,
|
|
46
|
+
} }), h("circle", { class: "circle_progress_circle", cx: this.box / 2, cy: this.box / 2, r: (this.box / 2) - 5, fill: "none", style: {
|
|
47
|
+
strokeWidth: `${this.width}px`,
|
|
48
|
+
} })))));
|
|
49
|
+
}
|
|
46
50
|
};
|
|
47
51
|
CircularProgress.style = circularProgressCss;
|
|
48
52
|
|
|
49
53
|
const highlightWordsCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:inline}::slotted(mark){background-color:rgba(247, 168, 49, 0.4);background-color:rgba(var(--pv-color-attention-rgb), 0.4)}";
|
|
50
54
|
|
|
51
55
|
const HighlightWords = class {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
this.host.innerHTML = result;
|
|
70
|
-
}
|
|
71
|
-
resetHighlightSearch(source) {
|
|
72
|
-
// eslint-disable-next-line no-useless-escape
|
|
73
|
-
const substring = new RegExp(`<\/?${this.tag}>`, 'g');
|
|
74
|
-
return source.replace(substring, '');
|
|
75
|
-
}
|
|
76
|
-
render() {
|
|
77
|
-
return (h(Host, null, h("slot", null)));
|
|
56
|
+
constructor(hostRef) {
|
|
57
|
+
registerInstance(this, hostRef);
|
|
58
|
+
this.tag = 'mark';
|
|
59
|
+
}
|
|
60
|
+
componentDidLoad() {
|
|
61
|
+
this.handleHighlightSearch();
|
|
62
|
+
}
|
|
63
|
+
componentDidUpdate() {
|
|
64
|
+
this.handleHighlightSearch();
|
|
65
|
+
}
|
|
66
|
+
handleHighlightSearch() {
|
|
67
|
+
const basicString = this.resetHighlightSearch(this.host.innerHTML);
|
|
68
|
+
let result = basicString;
|
|
69
|
+
if (this.search) {
|
|
70
|
+
const substring = new RegExp(`(${this.search})`, 'gi');
|
|
71
|
+
result = basicString.replace(substring, `<${this.tag}>$1</${this.tag}>`);
|
|
78
72
|
}
|
|
79
|
-
|
|
73
|
+
this.host.innerHTML = result;
|
|
74
|
+
}
|
|
75
|
+
resetHighlightSearch(source) {
|
|
76
|
+
// eslint-disable-next-line no-useless-escape
|
|
77
|
+
const substring = new RegExp(`<\/?${this.tag}>`, 'g');
|
|
78
|
+
return source.replace(substring, '');
|
|
79
|
+
}
|
|
80
|
+
render() {
|
|
81
|
+
return (h(Host, null, h("slot", null)));
|
|
82
|
+
}
|
|
83
|
+
get host() { return getElement(this); }
|
|
80
84
|
};
|
|
81
85
|
HighlightWords.style = highlightWordsCss;
|
|
82
86
|
|
|
@@ -1,227 +1,232 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
4
|
+
import { r as registerInstance, c as createEvent, h, H as Host } from './index-bbd484d9.js';
|
|
5
|
+
import { as as X509Certificate, O as OIDs } from './certification_request-48e8b956.js';
|
|
6
|
+
import { D as Download } from './download-cf68ac2c.js';
|
|
7
|
+
import { l as l10n } from './l10n-ead9928b.js';
|
|
8
|
+
import './_commonjsHelpers-bfbd2ad8.js';
|
|
4
9
|
|
|
5
|
-
const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-
|
|
10
|
+
const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-webkit-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-moz-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search:-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.loading_container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42, 49, 52, 0.3);background:rgba(var(--pv-color-dark-rgb), 0.3);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.align_center{text-align:center}@media (hover: hover){table tbody tr:not(.expanded_summary):hover{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}}@media (max-width: 900px){table,tbody,tr,td{display:block}thead{display:none}tr{padding:0 15px;border-width:1px;border-style:solid}tr:not(:first-child){margin-top:-1px}tr:not(.expanded_summary) td:first-child{border:none !important}table td{padding-left:0;padding-right:0;border-width:1px 0 0 0 !important;border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr.expanded_summary td{padding:15px 0}.mobile_title{display:inline-block;width:90px;vertical-align:middle}.modal_title{padding:17px 60px 17px 15px}.content{display:inline-block;width:calc(100% - 90px);vertical-align:middle;text-align:left}.expanded_summary{border-top-color:transparent;padding-bottom:10px}.expanded_summary td:before{content:none}.status_wrapper{height:266px;display:table-cell}.search_section{height:60px;padding:15px}.align_center{text-align:inherit}}";
|
|
6
11
|
|
|
7
12
|
const CertificatesViewer = class {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
});
|
|
77
|
-
if (!hasRoots && decoded.isRoot) {
|
|
78
|
-
hasRoots = true;
|
|
79
|
-
}
|
|
80
|
-
if (!hasTests) {
|
|
81
|
-
if (certificate.tests
|
|
82
|
-
&& (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid)) {
|
|
83
|
-
hasTests = true;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
console.error('Error certificate parse:', error);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
this.isHasTests = hasTests;
|
|
92
|
-
this.isHasRoots = hasRoots;
|
|
93
|
-
this.isDecodeInProcess = false;
|
|
94
|
-
this.certificatesDecoded = data;
|
|
95
|
-
}
|
|
96
|
-
// eslint-disable-next-line class-methods-use-this
|
|
97
|
-
handleClickDownloadAsPem(certificate, e) {
|
|
98
|
-
e.stopPropagation();
|
|
99
|
-
Download.certificate.asPEM(certificate.body.exportAsPemFormatted(), certificate.name || certificate.body.commonName);
|
|
100
|
-
}
|
|
101
|
-
// eslint-disable-next-line class-methods-use-this
|
|
102
|
-
handleClickDownloadAsDer(certificate, e) {
|
|
103
|
-
e.stopPropagation();
|
|
104
|
-
Download.certificate.asPEM(certificate.body.exportAsHexFormatted(), certificate.name || certificate.body.commonName);
|
|
105
|
-
}
|
|
106
|
-
handleClickRow(index) {
|
|
107
|
-
const isExpandedRowClicked = this.expandedRow === index;
|
|
108
|
-
this.expandedRow = isExpandedRowClicked
|
|
109
|
-
? undefined
|
|
110
|
-
: index;
|
|
111
|
-
}
|
|
112
|
-
getMaxColSpanValue() {
|
|
113
|
-
let colSpan = 4;
|
|
114
|
-
if (this.isHasTests) {
|
|
115
|
-
colSpan += 1;
|
|
116
|
-
}
|
|
117
|
-
if (!this.isHasRoots) {
|
|
118
|
-
colSpan += 1;
|
|
119
|
-
}
|
|
120
|
-
return colSpan;
|
|
121
|
-
}
|
|
122
|
-
renderExpandedRow(certificate) {
|
|
123
|
-
const colSpan = this.getMaxColSpanValue();
|
|
124
|
-
return (h("tr", { class: "expanded_summary" }, h("td", { colSpan: colSpan }, h("peculiar-certificate-summary", { certificate: certificate, showIssuer: !certificate.isRoot }))));
|
|
125
|
-
}
|
|
126
|
-
// eslint-disable-next-line class-methods-use-this
|
|
127
|
-
renderCertificateTests(tests) {
|
|
128
|
-
if (!tests) {
|
|
129
|
-
return null;
|
|
130
|
-
}
|
|
131
|
-
const elems = [];
|
|
132
|
-
if (tests.valid) {
|
|
133
|
-
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.valid, target: "_blank" }, l10n.getString('valid'))));
|
|
134
|
-
}
|
|
135
|
-
if (tests.revoked) {
|
|
136
|
-
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.revoked, target: "_blank" }, l10n.getString('revoked'))));
|
|
137
|
-
}
|
|
138
|
-
if (tests.expired) {
|
|
139
|
-
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.expired, target: "_blank" }, l10n.getString('expired'))));
|
|
140
|
-
}
|
|
141
|
-
return elems;
|
|
142
|
-
}
|
|
143
|
-
renderContentState() {
|
|
144
|
-
const searchHighlight = this.highlightWithSearch
|
|
145
|
-
? this.search
|
|
146
|
-
: '';
|
|
147
|
-
const content = [];
|
|
148
|
-
this.certificatesDecoded.forEach((certificate, index) => {
|
|
149
|
-
const isExpandedRow = index === this.expandedRow;
|
|
150
|
-
const publicKeyValue = OIDs[certificate.body.signature.algorithm]
|
|
151
|
-
|| certificate.body.signature.algorithm;
|
|
152
|
-
if (this.filterWithSearch && this.search) {
|
|
153
|
-
const certificateStringForSearch = [
|
|
154
|
-
publicKeyValue,
|
|
155
|
-
certificate.body.issuerCommonName,
|
|
156
|
-
certificate.name,
|
|
157
|
-
certificate.body.commonName,
|
|
158
|
-
certificate.body.thumbprints['SHA-1'],
|
|
159
|
-
]
|
|
160
|
-
.join(' ')
|
|
161
|
-
.toLowerCase();
|
|
162
|
-
if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
content.push([
|
|
167
|
-
h("tr", { class: {
|
|
168
|
-
expanded: isExpandedRow,
|
|
169
|
-
}, onClick: this.handleClickRow.bind(this, index),
|
|
170
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
171
|
-
key: index }, !this.isHasRoots && (h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('issuer'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.body.issuerCommonName)))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('name'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.name || certificate.body.commonName))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('publicKey'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, publicKeyValue))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('fingerprint'), "\u00A0 (SHA-1):"), h("peculiar-typography", { class: "content", monospace: true }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.body.thumbprints['SHA-1']))), h("td", { class: "align_center" }, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('actions'), ":"), h("span", { class: "content" }, h("peculiar-button", { onClick: this.handleClickDetails.bind(this, certificate.body), class: "button_table_action" }, l10n.getString('details')), h("peculiar-button-split", { onClick: this.handleClickDownloadAsPem.bind(this, certificate), actions: [{
|
|
172
|
-
text: l10n.getString('download.der'),
|
|
173
|
-
onClick: this.handleClickDownloadAsDer.bind(this, certificate),
|
|
174
|
-
}], class: "button_table_action" }, l10n.getString('download.pem')))), this.isHasTests && (h("td", { class: "align_center" }, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('testURLs'), ":"), h("span", { class: "content" }, this.renderCertificateTests(certificate.tests))))),
|
|
175
|
-
isExpandedRow && this.renderExpandedRow(certificate.body),
|
|
176
|
-
]);
|
|
13
|
+
constructor(hostRef) {
|
|
14
|
+
registerInstance(this, hostRef);
|
|
15
|
+
this.detailsOpen = createEvent(this, "detailsOpen", 7);
|
|
16
|
+
this.detailsClose = createEvent(this, "detailsClose", 7);
|
|
17
|
+
/**
|
|
18
|
+
* List of certificates values for decode and show in the list.
|
|
19
|
+
* <br />
|
|
20
|
+
* **NOTE**: If you do not provide a `name` value when
|
|
21
|
+
* invocing the component it will take the first Subject CN value.
|
|
22
|
+
* <br />
|
|
23
|
+
* **NOTE**: If you do not provide a `tests` this column will be ommited from the rendered page.
|
|
24
|
+
* <br />
|
|
25
|
+
* **NOTE**: If the supplied certificates are self-signed the issuer column will be ommited.
|
|
26
|
+
*/
|
|
27
|
+
this.certificates = [];
|
|
28
|
+
/**
|
|
29
|
+
* Use filter in the list when search is changed.
|
|
30
|
+
*/
|
|
31
|
+
this.filterWithSearch = true;
|
|
32
|
+
/**
|
|
33
|
+
* Use highlight chapters in the list when search is changed.
|
|
34
|
+
*/
|
|
35
|
+
this.highlightWithSearch = true;
|
|
36
|
+
this.search = '';
|
|
37
|
+
this.certificatesDecoded = [];
|
|
38
|
+
this.isDecodeInProcess = true;
|
|
39
|
+
this.isHasTests = false;
|
|
40
|
+
this.isHasRoots = false;
|
|
41
|
+
this.handleClickDetails = (certificate, e) => {
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
this.certificateSelectedForDetails = certificate;
|
|
44
|
+
this.detailsOpen.emit(certificate);
|
|
45
|
+
};
|
|
46
|
+
this.handleModalClose = () => {
|
|
47
|
+
this.certificateSelectedForDetails = undefined;
|
|
48
|
+
this.detailsClose.emit();
|
|
49
|
+
};
|
|
50
|
+
this.handleSearch = (e) => {
|
|
51
|
+
this.search = e.target.value.trim();
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
componentWillLoad() {
|
|
55
|
+
this.certificatesDecodeAndSet();
|
|
56
|
+
}
|
|
57
|
+
watchCertificates(newValue, oldValue) {
|
|
58
|
+
/**
|
|
59
|
+
* Prevent rerender after set the same `certificates` prop.
|
|
60
|
+
*/
|
|
61
|
+
if (JSON.stringify(newValue) !== JSON.stringify(oldValue)) {
|
|
62
|
+
this.certificatesDecodeAndSet();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
async certificatesDecodeAndSet() {
|
|
66
|
+
let hasTests = false;
|
|
67
|
+
let hasRoots = false;
|
|
68
|
+
if (!Array.isArray(this.certificates)) {
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const data = [];
|
|
72
|
+
// eslint-disable-next-line no-restricted-syntax
|
|
73
|
+
for (const certificate of this.certificates) {
|
|
74
|
+
try {
|
|
75
|
+
const decoded = new X509Certificate(certificate.value);
|
|
76
|
+
await decoded.getThumbprint('SHA-1');
|
|
77
|
+
data.push({
|
|
78
|
+
body: decoded,
|
|
79
|
+
tests: certificate.tests,
|
|
80
|
+
name: certificate.name,
|
|
177
81
|
});
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
renderCertificateDetailsModal() {
|
|
181
|
-
if (!this.certificateSelectedForDetails) {
|
|
182
|
-
return null;
|
|
183
|
-
}
|
|
184
|
-
return (h("div", { class: "modal_wrapper", role: "presentation", "aria-hidden": "false", part: "presentation" }, h("div", { class: "modal_backdrop", onClick: this.handleModalClose, "aria-hidden": "true" }), h("div", { class: "modal_container", role: "dialog", part: "presentation_container" }, h("header", { class: "modal_title" }, h("peculiar-typography", { type: "h4" }, l10n.getString('certificateDetails')), h("button", { class: "modal_close", onClick: this.handleModalClose, type: "button", "aria-label": "Close", title: "Close" }, h("svg", { width: "30", height: "30", viewBox: "0 0 30 30", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M15.7204 14.375L21.0654 19.7185C21.3115 19.9658 21.3115 20.3693 21.0654 20.6154L20.615 21.0645C20.3689 21.3118 19.9667 21.3118 19.7181 21.0645L14.3744 15.721L9.03194 21.0645C8.78327 21.3118 8.3811 21.3118 8.13371 21.0645L7.68459 20.6154C7.43847 20.3693 7.43847 19.9658 7.68459 19.7185L13.0296 14.375L7.68459 9.03155C7.43847 8.78417 7.43847 8.38074 7.68459 8.13463L8.13371 7.68554C8.3811 7.43815 8.78327 7.43815 9.03194 7.68554L14.3744 13.029L19.7181 7.68554C19.9667 7.43815 20.3689 7.43815 20.615 7.68554L21.0654 8.13463C21.3115 8.38074 21.3115 8.78417 21.0654 9.03155L15.7204 14.375Z" })))), h("div", { class: "modal_content" }, h("peculiar-certificate-viewer", { certificate: this.certificateSelectedForDetails })))));
|
|
185
|
-
}
|
|
186
|
-
renderSearch() {
|
|
187
|
-
if (!this.filterWithSearch && !this.highlightWithSearch) {
|
|
188
|
-
return null;
|
|
82
|
+
if (!hasRoots && decoded.isRoot) {
|
|
83
|
+
hasRoots = true;
|
|
189
84
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
renderEmptySearchState() {
|
|
197
|
-
const colSpan = this.getMaxColSpanValue();
|
|
198
|
-
return (h("tr", null, h("td", { class: "status_wrapper", colSpan: colSpan }, h("peculiar-typography", { type: "b1", align: "center" }, "No results found for \u201C", this.search, "\u201C"))));
|
|
199
|
-
}
|
|
200
|
-
// eslint-disable-next-line class-methods-use-this
|
|
201
|
-
renderLoadingState() {
|
|
202
|
-
return (h("div", { class: "loading_container" }, h("peculiar-circular-progress", null)));
|
|
203
|
-
}
|
|
204
|
-
renderBody() {
|
|
205
|
-
if (this.isDecodeInProcess) {
|
|
206
|
-
return null;
|
|
85
|
+
if (!hasTests) {
|
|
86
|
+
if (certificate.tests
|
|
87
|
+
&& (certificate.tests.expired || certificate.tests.revoked || certificate.tests.valid)) {
|
|
88
|
+
hasTests = true;
|
|
89
|
+
}
|
|
207
90
|
}
|
|
208
|
-
|
|
209
|
-
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error('Error certificate parse:', error);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
this.isHasTests = hasTests;
|
|
97
|
+
this.isHasRoots = hasRoots;
|
|
98
|
+
this.isDecodeInProcess = false;
|
|
99
|
+
this.certificatesDecoded = data;
|
|
100
|
+
}
|
|
101
|
+
// eslint-disable-next-line class-methods-use-this
|
|
102
|
+
handleClickDownloadAsPem(certificate, e) {
|
|
103
|
+
e.stopPropagation();
|
|
104
|
+
Download.x509.asPEM(certificate.body.exportAsPemFormatted(), certificate.name || certificate.body.commonName);
|
|
105
|
+
}
|
|
106
|
+
// eslint-disable-next-line class-methods-use-this
|
|
107
|
+
handleClickDownloadAsDer(certificate, e) {
|
|
108
|
+
e.stopPropagation();
|
|
109
|
+
Download.x509.asPEM(certificate.body.exportAsHexFormatted(), certificate.name || certificate.body.commonName);
|
|
110
|
+
}
|
|
111
|
+
handleClickRow(index) {
|
|
112
|
+
const isExpandedRowClicked = this.expandedRow === index;
|
|
113
|
+
this.expandedRow = isExpandedRowClicked
|
|
114
|
+
? undefined
|
|
115
|
+
: index;
|
|
116
|
+
}
|
|
117
|
+
getMaxColSpanValue() {
|
|
118
|
+
let colSpan = 4;
|
|
119
|
+
if (this.isHasTests) {
|
|
120
|
+
colSpan += 1;
|
|
121
|
+
}
|
|
122
|
+
if (!this.isHasRoots) {
|
|
123
|
+
colSpan += 1;
|
|
124
|
+
}
|
|
125
|
+
return colSpan;
|
|
126
|
+
}
|
|
127
|
+
renderExpandedRow(certificate) {
|
|
128
|
+
const colSpan = this.getMaxColSpanValue();
|
|
129
|
+
return (h("tr", { class: "expanded_summary" }, h("td", { colSpan: colSpan }, h("peculiar-certificate-summary", { certificate: certificate, showIssuer: !certificate.isRoot }))));
|
|
130
|
+
}
|
|
131
|
+
// eslint-disable-next-line class-methods-use-this
|
|
132
|
+
renderCertificateTests(tests) {
|
|
133
|
+
if (!tests) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
const elems = [];
|
|
137
|
+
if (tests.valid) {
|
|
138
|
+
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.valid, target: "_blank" }, l10n.getString('valid'))));
|
|
139
|
+
}
|
|
140
|
+
if (tests.revoked) {
|
|
141
|
+
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.revoked, target: "_blank" }, l10n.getString('revoked'))));
|
|
142
|
+
}
|
|
143
|
+
if (tests.expired) {
|
|
144
|
+
elems.push((h("peculiar-button", { class: "button_table_action", href: tests.expired, target: "_blank" }, l10n.getString('expired'))));
|
|
145
|
+
}
|
|
146
|
+
return elems;
|
|
147
|
+
}
|
|
148
|
+
renderContentState() {
|
|
149
|
+
const searchHighlight = this.highlightWithSearch
|
|
150
|
+
? this.search
|
|
151
|
+
: '';
|
|
152
|
+
const content = [];
|
|
153
|
+
this.certificatesDecoded.forEach((certificate, index) => {
|
|
154
|
+
const isExpandedRow = index === this.expandedRow;
|
|
155
|
+
const publicKeyValue = OIDs[certificate.body.signature.algorithm]
|
|
156
|
+
|| certificate.body.signature.algorithm;
|
|
157
|
+
if (this.filterWithSearch && this.search) {
|
|
158
|
+
const certificateStringForSearch = [
|
|
159
|
+
publicKeyValue,
|
|
160
|
+
certificate.body.issuerCommonName,
|
|
161
|
+
certificate.name,
|
|
162
|
+
certificate.body.commonName,
|
|
163
|
+
certificate.body.thumbprints['SHA-1'],
|
|
164
|
+
]
|
|
165
|
+
.join(' ')
|
|
166
|
+
.toLowerCase();
|
|
167
|
+
if (certificateStringForSearch.indexOf(this.search.toLowerCase()) === -1) {
|
|
168
|
+
return;
|
|
210
169
|
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
170
|
+
}
|
|
171
|
+
content.push([
|
|
172
|
+
h("tr", { class: {
|
|
173
|
+
expanded: isExpandedRow,
|
|
174
|
+
}, onClick: this.handleClickRow.bind(this, index),
|
|
175
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
176
|
+
key: index }, !this.isHasRoots && (h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('issuer'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.body.issuerCommonName)))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('name'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.name || certificate.body.commonName))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('publicKey'), ":"), h("peculiar-typography", { class: "content" }, h("peculiar-highlight-words", { search: searchHighlight }, publicKeyValue))), h("td", null, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('fingerprint'), "\u00A0 (SHA-1):"), h("peculiar-typography", { class: "content", monospace: true }, h("peculiar-highlight-words", { search: searchHighlight }, certificate.body.thumbprints['SHA-1']))), h("td", { class: "align_center" }, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('actions'), ":"), h("span", { class: "content" }, h("peculiar-button", { onClick: this.handleClickDetails.bind(this, certificate.body), class: "button_table_action" }, l10n.getString('details')), h("peculiar-button-split", { onClick: this.handleClickDownloadAsPem.bind(this, certificate), actions: [{
|
|
177
|
+
text: l10n.getString('download.der'),
|
|
178
|
+
onClick: this.handleClickDownloadAsDer.bind(this, certificate),
|
|
179
|
+
}], class: "button_table_action" }, l10n.getString('download.pem')))), this.isHasTests && (h("td", { class: "align_center" }, h("peculiar-typography", { class: "mobile_title", color: "grey_5" }, l10n.getString('testURLs'), ":"), h("span", { class: "content" }, this.renderCertificateTests(certificate.tests))))),
|
|
180
|
+
isExpandedRow && this.renderExpandedRow(certificate.body),
|
|
181
|
+
]);
|
|
182
|
+
});
|
|
183
|
+
return content;
|
|
184
|
+
}
|
|
185
|
+
renderCertificateDetailsModal() {
|
|
186
|
+
if (!this.certificateSelectedForDetails) {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
return (h("div", { class: "modal_wrapper", role: "presentation", "aria-hidden": "false", part: "presentation" }, h("div", { class: "modal_backdrop", onClick: this.handleModalClose, "aria-hidden": "true" }), h("div", { class: "modal_container", role: "dialog", part: "presentation_container" }, h("header", { class: "modal_title" }, h("peculiar-typography", { type: "h4" }, l10n.getString('certificateDetails')), h("button", { class: "modal_close", onClick: this.handleModalClose, type: "button", "aria-label": "Close", title: "Close" }, h("svg", { width: "30", height: "30", viewBox: "0 0 30 30", xmlns: "http://www.w3.org/2000/svg" }, h("path", { "fill-rule": "evenodd", "clip-rule": "evenodd", d: "M15.7204 14.375L21.0654 19.7185C21.3115 19.9658 21.3115 20.3693 21.0654 20.6154L20.615 21.0645C20.3689 21.3118 19.9667 21.3118 19.7181 21.0645L14.3744 15.721L9.03194 21.0645C8.78327 21.3118 8.3811 21.3118 8.13371 21.0645L7.68459 20.6154C7.43847 20.3693 7.43847 19.9658 7.68459 19.7185L13.0296 14.375L7.68459 9.03155C7.43847 8.78417 7.43847 8.38074 7.68459 8.13463L8.13371 7.68554C8.3811 7.43815 8.78327 7.43815 9.03194 7.68554L14.3744 13.029L19.7181 7.68554C19.9667 7.43815 20.3689 7.43815 20.615 7.68554L21.0654 8.13463C21.3115 8.38074 21.3115 8.78417 21.0654 9.03155L15.7204 14.375Z" })))), h("div", { class: "modal_content" }, h("peculiar-certificate-viewer", { certificate: this.certificateSelectedForDetails })))));
|
|
190
|
+
}
|
|
191
|
+
renderSearch() {
|
|
192
|
+
if (!this.filterWithSearch && !this.highlightWithSearch) {
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
return (h("div", { class: "search_section" }, h("input", { onInput: this.handleSearch, type: "search", value: "", class: "input_search", disabled: !this.certificatesDecoded.length, placeholder: "Search" })));
|
|
196
|
+
}
|
|
197
|
+
renderEmptyState() {
|
|
198
|
+
const colSpan = this.getMaxColSpanValue();
|
|
199
|
+
return (h("tr", null, h("td", { class: "status_wrapper", colSpan: colSpan }, h("peculiar-typography", { type: "b1", align: "center" }, "There are no certificates available."))));
|
|
200
|
+
}
|
|
201
|
+
renderEmptySearchState() {
|
|
202
|
+
const colSpan = this.getMaxColSpanValue();
|
|
203
|
+
return (h("tr", null, h("td", { class: "status_wrapper", colSpan: colSpan }, h("peculiar-typography", { type: "b1", align: "center" }, "No results found for \u201C", this.search, "\u201C"))));
|
|
204
|
+
}
|
|
205
|
+
// eslint-disable-next-line class-methods-use-this
|
|
206
|
+
renderLoadingState() {
|
|
207
|
+
return (h("div", { class: "loading_container" }, h("peculiar-circular-progress", null)));
|
|
208
|
+
}
|
|
209
|
+
renderBody() {
|
|
210
|
+
if (this.isDecodeInProcess) {
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
if (!this.certificatesDecoded.length) {
|
|
214
|
+
return this.renderEmptyState();
|
|
215
|
+
}
|
|
216
|
+
const contentState = this.renderContentState();
|
|
217
|
+
if (this.search && !contentState.length) {
|
|
218
|
+
return this.renderEmptySearchState();
|
|
219
|
+
}
|
|
220
|
+
return contentState;
|
|
221
|
+
}
|
|
222
|
+
render() {
|
|
223
|
+
return (h(Host, null, this.renderSearch(), h("table", { class: {
|
|
224
|
+
m_extra: this.isHasTests || !this.isHasRoots,
|
|
225
|
+
} }, h("thead", null, h("tr", null, !this.isHasRoots && (h("th", { class: "col_issuer" }, h("peculiar-typography", { type: "h7", align: "left" }, l10n.getString('issuer')))), h("th", { class: "col_name" }, h("peculiar-typography", { type: "h7", align: "left" }, l10n.getString('name'))), h("th", { class: "col_public_key" }, h("peculiar-typography", { type: "h7", align: "left" }, l10n.getString('publicKey'))), h("th", { class: "col_fingerprint" }, h("peculiar-typography", { type: "h7", align: "left" }, l10n.getString('fingerprint'), "\u00A0 (SHA-1)")), h("th", { class: "col_actions" }, h("peculiar-typography", { type: "h7", align: "center" }, l10n.getString('actions'))), this.isHasTests && (h("th", { class: "col_tests" }, h("peculiar-typography", { type: "h7", align: "center" }, l10n.getString('testURLs')))))), h("tbody", null, this.renderBody())), this.renderCertificateDetailsModal(), this.isDecodeInProcess && this.renderLoadingState()));
|
|
226
|
+
}
|
|
227
|
+
static get watchers() { return {
|
|
228
|
+
"certificates": ["watchCertificates"]
|
|
229
|
+
}; }
|
|
225
230
|
};
|
|
226
231
|
CertificatesViewer.style = certificatesViewerCss;
|
|
227
232
|
|