@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,3 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @license
|
|
3
6
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -5,45 +8,43 @@
|
|
|
5
8
|
* This source code is licensed under the MIT license found in the
|
|
6
9
|
* LICENSE file in the root directory of this source tree.
|
|
7
10
|
*/
|
|
8
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return value;
|
|
11
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
12
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
13
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
14
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
15
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
14
16
|
};
|
|
15
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return privateMap.get(receiver);
|
|
17
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
18
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
19
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
20
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
21
|
};
|
|
21
|
-
var
|
|
22
|
+
var _Name_asn;
|
|
22
23
|
import { Name as AsnName } from '@peculiar/asn1-x509';
|
|
23
24
|
import { AsnParser } from '@peculiar/asn1-schema';
|
|
24
25
|
import { BufferSourceConverter } from 'pvtsutils';
|
|
25
26
|
import { OIDs, OIDsShort } from '../constants/oids';
|
|
26
27
|
export class Name {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
__classPrivateFieldSet(this, _asn, data);
|
|
34
|
-
}
|
|
28
|
+
constructor(data) {
|
|
29
|
+
_Name_asn.set(this, new AsnName());
|
|
30
|
+
if (BufferSourceConverter.isBufferSource(data)) {
|
|
31
|
+
__classPrivateFieldSet(this, _Name_asn, AsnParser.parse(data, AsnName), "f");
|
|
35
32
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
__classPrivateFieldGet(this, _asn).forEach((o) => (o.forEach((a) => {
|
|
39
|
-
res.push({
|
|
40
|
-
type: a.type,
|
|
41
|
-
name: OIDs[a.type],
|
|
42
|
-
shortName: OIDsShort[a.type],
|
|
43
|
-
value: a.value.toString(),
|
|
44
|
-
});
|
|
45
|
-
})));
|
|
46
|
-
return res;
|
|
33
|
+
else {
|
|
34
|
+
__classPrivateFieldSet(this, _Name_asn, data, "f");
|
|
47
35
|
}
|
|
36
|
+
}
|
|
37
|
+
toJSON() {
|
|
38
|
+
const res = [];
|
|
39
|
+
__classPrivateFieldGet(this, _Name_asn, "f").forEach((o) => (o.forEach((a) => {
|
|
40
|
+
res.push({
|
|
41
|
+
type: a.type,
|
|
42
|
+
name: OIDs[a.type],
|
|
43
|
+
shortName: OIDsShort[a.type],
|
|
44
|
+
value: a.value.toString(),
|
|
45
|
+
});
|
|
46
|
+
})));
|
|
47
|
+
return res;
|
|
48
|
+
}
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
_Name_asn = new WeakMap();
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @license
|
|
3
6
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -6,35 +9,35 @@
|
|
|
6
9
|
* LICENSE file in the root directory of this source tree.
|
|
7
10
|
*/
|
|
8
11
|
export class CryptoProvider {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
}
|
|
12
|
+
constructor() {
|
|
13
|
+
this.providers = new Map();
|
|
14
|
+
const crypto = window.crypto || window['msCrypto'];
|
|
15
|
+
if (typeof crypto !== 'undefined') {
|
|
16
|
+
this.set(CryptoProvider.DEFAULT, crypto);
|
|
15
17
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
}
|
|
19
|
+
static isCryptoKeyPair(data) {
|
|
20
|
+
return data && data.privateKey && data.publicKey;
|
|
21
|
+
}
|
|
22
|
+
get(key = CryptoProvider.DEFAULT) {
|
|
23
|
+
const crypto = this.providers.get(key.toLowerCase());
|
|
24
|
+
if (!crypto) {
|
|
25
|
+
throw new Error(`Cannot get Crypto by name '${key}'`);
|
|
18
26
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
return crypto;
|
|
28
|
+
}
|
|
29
|
+
set(key, value) {
|
|
30
|
+
if (typeof key === 'string') {
|
|
31
|
+
if (!value) {
|
|
32
|
+
throw new TypeError("Argument 'value' is required");
|
|
33
|
+
}
|
|
34
|
+
this.providers.set(key.toLowerCase(), value);
|
|
25
35
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
if (!value) {
|
|
29
|
-
throw new TypeError("Argument 'value' is required");
|
|
30
|
-
}
|
|
31
|
-
this.providers.set(key.toLowerCase(), value);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.providers.set(CryptoProvider.DEFAULT, key);
|
|
35
|
-
}
|
|
36
|
-
return this;
|
|
36
|
+
else {
|
|
37
|
+
this.providers.set(CryptoProvider.DEFAULT, key);
|
|
37
38
|
}
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
38
41
|
}
|
|
39
42
|
CryptoProvider.DEFAULT = 'default';
|
|
40
43
|
export const cryptoProvider = new CryptoProvider();
|
|
@@ -1,31 +1,34 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
import { Convert } from 'pvtsutils';
|
|
2
5
|
import { validator } from '../utils';
|
|
3
6
|
import { cryptoProvider } from './provider';
|
|
4
7
|
export const base64Clarify = (base64) => (base64
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
+
.replace(/.*base64,/, '')
|
|
9
|
+
.replace(/-----.+-----/g, '')
|
|
10
|
+
.replace(/[\s\r\n]/g, ''));
|
|
8
11
|
export const hexFormat = (hex) => (hex
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
.replace(/(.{32})/g, '$1\n')
|
|
13
|
+
.replace(/(.{4})/g, '$1 ')
|
|
14
|
+
.trim());
|
|
12
15
|
export const base64Format = (base64) => (base64
|
|
13
|
-
|
|
16
|
+
.replace(/(.{64})/g, '$1\n'));
|
|
14
17
|
export const certificateRawToBuffer = (raw) => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
const rawClarified = base64Clarify(raw);
|
|
19
|
+
let buffer;
|
|
20
|
+
if (validator.isHex(rawClarified)) {
|
|
21
|
+
buffer = Convert.FromHex(rawClarified);
|
|
22
|
+
}
|
|
23
|
+
else if (validator.isBase64(rawClarified) || validator.isPem(rawClarified)) {
|
|
24
|
+
buffer = Convert.FromBase64(rawClarified);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
buffer = Convert.FromBinary(raw);
|
|
28
|
+
}
|
|
29
|
+
return buffer;
|
|
27
30
|
};
|
|
28
31
|
export const getCertificateThumbprint = async (algorithm, data) => {
|
|
29
|
-
|
|
30
|
-
|
|
32
|
+
const crypto = cryptoProvider.get();
|
|
33
|
+
return crypto.subtle.digest(algorithm, data);
|
|
31
34
|
};
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @license
|
|
3
6
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -14,68 +17,68 @@ import { Extension } from './extension';
|
|
|
14
17
|
import { Attribute } from './attribute';
|
|
15
18
|
import { certificateRawToBuffer, hexFormat, base64Format, getCertificateThumbprint, } from './utils';
|
|
16
19
|
export class X509AttributeCertificate extends AsnData {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
this.notBefore = notBefore;
|
|
30
|
-
const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;
|
|
31
|
-
if (!notAfter) {
|
|
32
|
-
throw new Error("Cannot get 'notAfter' value");
|
|
33
|
-
}
|
|
34
|
-
this.notAfter = notAfter;
|
|
35
|
-
this.validity = dateDiff(this.notBefore, this.notAfter);
|
|
36
|
-
this.issuer = acinfo.issuer.v1Form || ((_a = acinfo.issuer.v2Form) === null || _a === void 0 ? void 0 : _a.issuerName);
|
|
37
|
-
this.holder = acinfo.holder;
|
|
38
|
-
}
|
|
39
|
-
get signature() {
|
|
40
|
-
const { signatureValue, signatureAlgorithm } = this.asn;
|
|
41
|
-
return {
|
|
42
|
-
value: signatureValue,
|
|
43
|
-
algorithm: signatureAlgorithm.algorithm,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
parseExtensions() {
|
|
47
|
-
const { acinfo } = this.asn;
|
|
48
|
-
if (acinfo.extensions) {
|
|
49
|
-
this.extensions = acinfo.extensions
|
|
50
|
-
.map((e) => new Extension(AsnConvert.serialize(e)));
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
parseAttributes() {
|
|
54
|
-
const { acinfo } = this.asn;
|
|
55
|
-
if (acinfo.attributes) {
|
|
56
|
-
this.attributes = acinfo.attributes
|
|
57
|
-
.map((e) => new Attribute(AsnConvert.serialize(e)));
|
|
58
|
-
}
|
|
20
|
+
constructor(raw) {
|
|
21
|
+
var _a;
|
|
22
|
+
super(certificateRawToBuffer(raw), AttributeCertificate);
|
|
23
|
+
this.thumbprints = {};
|
|
24
|
+
this.type = 'X.509 Attribute Certificate';
|
|
25
|
+
const { acinfo } = this.asn;
|
|
26
|
+
this.serialNumber = Convert.ToHex(acinfo.serialNumber);
|
|
27
|
+
this.version = acinfo.version;
|
|
28
|
+
const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;
|
|
29
|
+
if (!notBefore) {
|
|
30
|
+
throw new Error("Cannot get 'notBefore' value");
|
|
59
31
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
console.error('Error thumbprint get:', error);
|
|
67
|
-
}
|
|
32
|
+
this.notBefore = notBefore;
|
|
33
|
+
const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;
|
|
34
|
+
if (!notAfter) {
|
|
35
|
+
throw new Error("Cannot get 'notAfter' value");
|
|
68
36
|
}
|
|
69
|
-
|
|
70
|
-
|
|
37
|
+
this.notAfter = notAfter;
|
|
38
|
+
this.validity = dateDiff(this.notBefore, this.notAfter);
|
|
39
|
+
this.issuer = acinfo.issuer.v1Form || ((_a = acinfo.issuer.v2Form) === null || _a === void 0 ? void 0 : _a.issuerName);
|
|
40
|
+
this.holder = acinfo.holder;
|
|
41
|
+
}
|
|
42
|
+
get signature() {
|
|
43
|
+
const { signatureValue, signatureAlgorithm } = this.asn;
|
|
44
|
+
return {
|
|
45
|
+
value: signatureValue,
|
|
46
|
+
algorithm: signatureAlgorithm.algorithm,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
parseExtensions() {
|
|
50
|
+
const { acinfo } = this.asn;
|
|
51
|
+
if (acinfo.extensions) {
|
|
52
|
+
this.extensions = acinfo.extensions
|
|
53
|
+
.map((e) => new Extension(AsnConvert.serialize(e)));
|
|
71
54
|
}
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
}
|
|
56
|
+
parseAttributes() {
|
|
57
|
+
const { acinfo } = this.asn;
|
|
58
|
+
if (acinfo.attributes) {
|
|
59
|
+
this.attributes = acinfo.attributes
|
|
60
|
+
.map((e) => new Attribute(AsnConvert.serialize(e)));
|
|
74
61
|
}
|
|
75
|
-
|
|
76
|
-
|
|
62
|
+
}
|
|
63
|
+
async getThumbprint(algorithm = 'SHA-1') {
|
|
64
|
+
try {
|
|
65
|
+
const thumbprint = await getCertificateThumbprint(algorithm, this.raw);
|
|
66
|
+
this.thumbprints[algorithm['name'] || algorithm] = Convert.ToHex(thumbprint);
|
|
77
67
|
}
|
|
78
|
-
|
|
79
|
-
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.error('Error thumbprint get:', error);
|
|
80
70
|
}
|
|
71
|
+
}
|
|
72
|
+
exportAsBase64() {
|
|
73
|
+
return Convert.ToBase64(this.raw);
|
|
74
|
+
}
|
|
75
|
+
exportAsHexFormatted() {
|
|
76
|
+
return hexFormat(Convert.ToHex(this.raw));
|
|
77
|
+
}
|
|
78
|
+
exportAsPemFormatted() {
|
|
79
|
+
return `-----BEGIN ATTRIBUTE CERTIFICATE-----\n${base64Format(this.exportAsBase64())}\n-----END ATTRIBUTE CERTIFICATE-----`;
|
|
80
|
+
}
|
|
81
|
+
get commonName() {
|
|
82
|
+
return `attribute-certificate-${this.thumbprints['SHA-1']}`;
|
|
83
|
+
}
|
|
81
84
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @license
|
|
3
6
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -16,121 +19,121 @@ import { Extension } from './extension';
|
|
|
16
19
|
import { AsnData } from './asn_data';
|
|
17
20
|
import { certificateRawToBuffer, hexFormat, base64Format, getCertificateThumbprint, } from './utils';
|
|
18
21
|
export class X509Certificate extends AsnData {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
this.notBefore = notBefore;
|
|
34
|
-
const notAfter = tbsCertificate.validity.notAfter.utcTime
|
|
35
|
-
|| tbsCertificate.validity.notAfter.generalTime;
|
|
36
|
-
if (!notAfter) {
|
|
37
|
-
throw new Error("Cannot get 'notAfter' value");
|
|
38
|
-
}
|
|
39
|
-
this.notAfter = notAfter;
|
|
40
|
-
this.validity = dateDiff(this.notBefore, this.notAfter);
|
|
22
|
+
constructor(raw) {
|
|
23
|
+
super(certificateRawToBuffer(raw), Certificate);
|
|
24
|
+
this.thumbprints = {};
|
|
25
|
+
this.type = 'X.509 Certificate';
|
|
26
|
+
const { tbsCertificate } = this.asn;
|
|
27
|
+
this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);
|
|
28
|
+
this.subject = new Name(tbsCertificate.subject).toJSON();
|
|
29
|
+
this.issuer = new Name(tbsCertificate.issuer).toJSON();
|
|
30
|
+
this.version = tbsCertificate.version + 1;
|
|
31
|
+
const notBefore = tbsCertificate.validity.notBefore.utcTime
|
|
32
|
+
|| tbsCertificate.validity.notBefore.generalTime;
|
|
33
|
+
if (!notBefore) {
|
|
34
|
+
throw new Error("Cannot get 'notBefore' value");
|
|
41
35
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
36
|
+
this.notBefore = notBefore;
|
|
37
|
+
const notAfter = tbsCertificate.validity.notAfter.utcTime
|
|
38
|
+
|| tbsCertificate.validity.notAfter.generalTime;
|
|
39
|
+
if (!notAfter) {
|
|
40
|
+
throw new Error("Cannot get 'notAfter' value");
|
|
48
41
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
const spki = AsnConvert.serialize(this.asn.tbsCertificate.subjectPublicKeyInfo);
|
|
59
|
-
return {
|
|
60
|
-
params,
|
|
61
|
-
value: spki,
|
|
62
|
-
algorithm: algorithm.algorithm,
|
|
63
|
-
};
|
|
42
|
+
this.notAfter = notAfter;
|
|
43
|
+
this.validity = dateDiff(this.notBefore, this.notAfter);
|
|
44
|
+
}
|
|
45
|
+
parseExtensions() {
|
|
46
|
+
const { tbsCertificate } = this.asn;
|
|
47
|
+
if (tbsCertificate.extensions) {
|
|
48
|
+
this.extensions = tbsCertificate.extensions
|
|
49
|
+
.map((e) => new Extension(AsnConvert.serialize(e)));
|
|
64
50
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
51
|
+
}
|
|
52
|
+
get publicKey() {
|
|
53
|
+
const { subjectPublicKey, algorithm } = this.asn.tbsCertificate.subjectPublicKeyInfo;
|
|
54
|
+
let params;
|
|
55
|
+
if (algorithm.algorithm === id_ecPublicKey && algorithm.parameters) {
|
|
56
|
+
params = AsnConvert.parse(algorithm.parameters, ECParameters);
|
|
71
57
|
}
|
|
72
|
-
|
|
73
|
-
|
|
58
|
+
if (algorithm.algorithm === id_rsaEncryption) {
|
|
59
|
+
params = AsnConvert.parse(subjectPublicKey, RSAPublicKey);
|
|
74
60
|
}
|
|
75
|
-
|
|
76
|
-
|
|
61
|
+
const spki = AsnConvert.serialize(this.asn.tbsCertificate.subjectPublicKeyInfo);
|
|
62
|
+
return {
|
|
63
|
+
params,
|
|
64
|
+
value: spki,
|
|
65
|
+
algorithm: algorithm.algorithm,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
get signature() {
|
|
69
|
+
const { signatureValue, signatureAlgorithm } = this.asn;
|
|
70
|
+
return {
|
|
71
|
+
value: signatureValue,
|
|
72
|
+
algorithm: signatureAlgorithm.algorithm,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
exportAsBase64() {
|
|
76
|
+
return Convert.ToBase64(this.raw);
|
|
77
|
+
}
|
|
78
|
+
exportAsHexFormatted() {
|
|
79
|
+
return hexFormat(Convert.ToHex(this.raw));
|
|
80
|
+
}
|
|
81
|
+
exportAsPemFormatted() {
|
|
82
|
+
return `-----BEGIN CERTIFICATE-----\n${base64Format(this.exportAsBase64())}\n-----END CERTIFICATE-----`;
|
|
83
|
+
}
|
|
84
|
+
async getThumbprint(algorithm = 'SHA-1') {
|
|
85
|
+
try {
|
|
86
|
+
const thumbprint = await getCertificateThumbprint(algorithm, this.raw);
|
|
87
|
+
this.thumbprints[algorithm['name'] || algorithm] = Convert.ToHex(thumbprint);
|
|
77
88
|
}
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
catch (error) {
|
|
90
|
+
console.error('Error thumbprint get:', error);
|
|
80
91
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
catch (error) {
|
|
87
|
-
console.error('Error thumbprint get:', error);
|
|
88
|
-
}
|
|
92
|
+
}
|
|
93
|
+
get commonName() {
|
|
94
|
+
if (!this.subject) {
|
|
95
|
+
return '';
|
|
89
96
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const name = this.subject[i];
|
|
96
|
-
if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
|
|
97
|
-
return name.value;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return '';
|
|
97
|
+
for (let i = 0; i < this.subject.length; i += 1) {
|
|
98
|
+
const name = this.subject[i];
|
|
99
|
+
if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
|
|
100
|
+
return name.value;
|
|
101
|
+
}
|
|
101
102
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const name = this.issuer[i];
|
|
108
|
-
if (name.shortName === 'CN') {
|
|
109
|
-
return name.value;
|
|
110
|
-
}
|
|
111
|
-
if (name.shortName === 'E') {
|
|
112
|
-
return name.value;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
return '';
|
|
103
|
+
return '';
|
|
104
|
+
}
|
|
105
|
+
get issuerCommonName() {
|
|
106
|
+
if (!this.issuer) {
|
|
107
|
+
return '';
|
|
116
108
|
}
|
|
117
|
-
|
|
118
|
-
|
|
109
|
+
for (let i = 0; i < this.issuer.length; i += 1) {
|
|
110
|
+
const name = this.issuer[i];
|
|
111
|
+
if (name.shortName === 'CN') {
|
|
112
|
+
return name.value;
|
|
113
|
+
}
|
|
114
|
+
if (name.shortName === 'E') {
|
|
115
|
+
return name.value;
|
|
116
|
+
}
|
|
119
117
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
118
|
+
return '';
|
|
119
|
+
}
|
|
120
|
+
get isRoot() {
|
|
121
|
+
return JSON.stringify(this.issuer) === JSON.stringify(this.subject);
|
|
122
|
+
}
|
|
123
|
+
subjectToString() {
|
|
124
|
+
if (!this.subject) {
|
|
125
|
+
return '';
|
|
127
126
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
127
|
+
return this.subject
|
|
128
|
+
.map((name) => (`${name.shortName}=${name.value}`))
|
|
129
|
+
.join(', ');
|
|
130
|
+
}
|
|
131
|
+
issuerToString() {
|
|
132
|
+
if (!this.issuer) {
|
|
133
|
+
return '';
|
|
135
134
|
}
|
|
135
|
+
return this.issuer
|
|
136
|
+
.map((name) => (`${name.shortName}=${name.value}`))
|
|
137
|
+
.join(', ');
|
|
138
|
+
}
|
|
136
139
|
}
|
package/dist/collection/index.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* © Peculiar Ventures https://peculiarventures.com/ - MIT License
|
|
3
|
+
*/
|
|
1
4
|
/**
|
|
2
5
|
* @license
|
|
3
6
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -8,20 +11,20 @@
|
|
|
8
11
|
import dayjs from 'dayjs';
|
|
9
12
|
export const dateShort = (date) => (new Date(date).toUTCString());
|
|
10
13
|
export const dateDiff = (dateStart, dateEnd) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
14
|
+
if (!dateStart || !dateEnd) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
const start = dayjs(dateStart);
|
|
18
|
+
const end = dayjs(dateEnd);
|
|
19
|
+
const ending = (value) => (value === 1 ? '' : 's');
|
|
20
|
+
const diffYears = end.diff(start, 'year', true);
|
|
21
|
+
if (Number.isInteger(diffYears)) {
|
|
22
|
+
return `${diffYears} year${ending(diffYears)}`;
|
|
23
|
+
}
|
|
24
|
+
const diffMonth = end.diff(start, 'month', true);
|
|
25
|
+
if (Number.isInteger(diffMonth)) {
|
|
26
|
+
return `${diffMonth} month${ending(diffMonth)}`;
|
|
27
|
+
}
|
|
28
|
+
const diffDays = end.diff(start, 'day');
|
|
29
|
+
return `${diffDays} day${ending(diffDays)}`;
|
|
27
30
|
};
|