@peculiar/certificates-viewer 4.2.1 → 4.3.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/components/attribute-certificate-viewer.js +17 -14
- package/components/attribute-certificate-viewer.js.map +1 -1
- package/components/attribute.js +53 -0
- package/components/attribute.js.map +1 -0
- package/components/certificate-viewer.js +15 -13
- package/components/certificate-viewer.js.map +1 -1
- package/components/crl-viewer.js +20 -18
- package/components/crl-viewer.js.map +1 -1
- package/components/csr-viewer.js +9 -99
- package/components/csr-viewer.js.map +1 -1
- package/components/download.js +12518 -9
- package/components/download.js.map +1 -1
- package/components/index.js +2 -0
- package/components/index.js.map +1 -1
- package/components/index2.js +3 -48
- package/components/index2.js.map +1 -1
- package/components/issuer_name.js +2 -2
- package/components/miscellaneous.js +41 -12555
- package/components/miscellaneous.js.map +1 -1
- package/components/peculiar-certificate-decoder.js +17 -105
- package/components/peculiar-certificate-decoder.js.map +1 -1
- package/components/peculiar-certificates-viewer.js +1 -2
- package/components/peculiar-certificates-viewer.js.map +1 -1
- package/components/peculiar-crl-viewer.js +1 -1
- package/components/peculiar-csr-viewer.js +1 -1
- package/components/pkcs10_certificate_request.js +102 -0
- package/components/pkcs10_certificate_request.js.map +1 -0
- package/components/read_file.js +110 -0
- package/components/read_file.js.map +1 -0
- package/components/subject_name.js +2 -2
- package/dist/cjs/{certification_request-b0d72620.js → certification_request-314859bb.js} +3266 -2810
- package/dist/cjs/certification_request-314859bb.js.map +1 -0
- package/dist/cjs/index.cjs.js +12 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{miscellaneous-dcb93a5b.js → miscellaneous-f1bc3a4b.js} +22 -23
- package/dist/cjs/miscellaneous-f1bc3a4b.js.map +1 -0
- package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +20 -20
- package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +20 -108
- package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +3 -4
- package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -3
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js.map +1 -1
- package/dist/cjs/pkcs10_certificate_request-93c66ce7.js +149 -0
- package/dist/cjs/pkcs10_certificate_request-93c66ce7.js.map +1 -0
- package/dist/cjs/read_file-2e22a97e.js +115 -0
- package/dist/cjs/read_file-2e22a97e.js.map +1 -0
- package/dist/cjs/{x509_certificate-ebf4cbd4.js → x509_certificate-0776e3ec.js} +17 -16
- package/dist/cjs/x509_certificate-0776e3ec.js.map +1 -0
- package/dist/cjs/x509_crl-5326d209.js +179 -0
- package/dist/cjs/x509_crl-5326d209.js.map +1 -0
- package/dist/collection/components/certificate-decoder/certificate-decoder.js +15 -72
- package/dist/collection/components/certificate-decoder/certificate-decoder.js.map +1 -1
- package/dist/collection/components/certificate-details-parts/miscellaneous.js.map +1 -1
- package/dist/collection/components/crl-viewer/crl-viewer.js +6 -6
- package/dist/collection/components/crl-viewer/crl-viewer.js.map +1 -1
- package/dist/collection/components/csr-viewer/csr-viewer.js +6 -6
- package/dist/collection/components/csr-viewer/csr-viewer.js.map +1 -1
- package/dist/collection/constants/oids.js +3 -0
- package/dist/collection/constants/oids.js.map +1 -1
- package/dist/collection/crypto/index.js +2 -2
- package/dist/collection/crypto/index.js.map +1 -1
- package/dist/collection/crypto/{csr.js → pkcs10_certificate_request.js} +14 -12
- package/dist/collection/crypto/pkcs10_certificate_request.js.map +1 -0
- package/dist/collection/crypto/x509_attribute_certificate.js +13 -11
- package/dist/collection/crypto/x509_attribute_certificate.js.map +1 -1
- package/dist/collection/crypto/x509_certificate.js +13 -11
- package/dist/collection/crypto/x509_certificate.js.map +1 -1
- package/dist/collection/crypto/{crl.js → x509_crl.js} +14 -12
- package/dist/collection/crypto/x509_crl.js.map +1 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/utils/download.js +8 -8
- package/dist/collection/utils/download.js.map +1 -1
- package/dist/collection/utils/validator.js +0 -8
- package/dist/collection/utils/validator.js.map +1 -1
- package/dist/esm/{certification_request-2c054ece.js → certification_request-b531916a.js} +3202 -2745
- package/dist/esm/certification_request-b531916a.js.map +1 -0
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -3
- package/dist/esm/miscellaneous-7fe71e3f.js.map +1 -0
- package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +12 -12
- package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-decoder.entry.js +18 -106
- package/dist/esm/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm/peculiar-certificate-viewer.entry.js +3 -4
- package/dist/esm/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm/peculiar-certificates-viewer.entry.js +2 -3
- package/dist/esm/peculiar-certificates-viewer.entry.js.map +1 -1
- package/dist/esm/pkcs10_certificate_request-cca2ca68.js +146 -0
- package/dist/esm/pkcs10_certificate_request-cca2ca68.js.map +1 -0
- package/dist/esm/read_file-bb0b1450.js +110 -0
- package/dist/esm/read_file-bb0b1450.js.map +1 -0
- package/dist/esm/{x509_certificate-ad568d3a.js → x509_certificate-050175dd.js} +15 -14
- package/dist/esm/x509_certificate-050175dd.js.map +1 -0
- package/dist/esm/x509_crl-c497f907.js +176 -0
- package/dist/esm/x509_crl-c497f907.js.map +1 -0
- package/dist/esm-es5/{certification_request-2c054ece.js → certification_request-b531916a.js} +61 -23
- package/dist/esm-es5/certification_request-b531916a.js.map +1 -0
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{miscellaneous-0e98b5bc.js → miscellaneous-7fe71e3f.js} +2 -2
- package/dist/esm-es5/{miscellaneous-0e98b5bc.js.map → miscellaneous-7fe71e3f.js.map} +1 -1
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js +2 -2
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_3.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js +2 -9
- package/dist/esm-es5/peculiar-certificate-decoder.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js +2 -2
- package/dist/esm-es5/peculiar-certificate-viewer.entry.js.map +1 -1
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +1 -1
- package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js +19 -0
- package/dist/esm-es5/pkcs10_certificate_request-cca2ca68.js.map +1 -0
- package/dist/esm-es5/read_file-bb0b1450.js +12 -0
- package/dist/esm-es5/read_file-bb0b1450.js.map +1 -0
- package/dist/esm-es5/x509_certificate-050175dd.js +12 -0
- package/dist/esm-es5/x509_certificate-050175dd.js.map +1 -0
- package/dist/esm-es5/x509_crl-c497f907.js +19 -0
- package/dist/esm-es5/x509_crl-c497f907.js.map +1 -0
- package/dist/peculiar/index.esm.js +1 -1
- package/dist/peculiar/p-05af3b74.system.js +13 -0
- package/dist/peculiar/p-05af3b74.system.js.map +1 -0
- package/dist/peculiar/p-163a3052.system.js +20 -0
- package/dist/peculiar/p-163a3052.system.js.map +1 -0
- package/dist/peculiar/p-25a532a3.js +12 -0
- package/dist/peculiar/p-25a532a3.js.map +1 -0
- package/dist/peculiar/{p-5cf4562f.system.entry.js → p-2d9c40d6.system.entry.js} +16 -16
- package/dist/peculiar/p-2d9c40d6.system.entry.js.map +1 -0
- package/dist/peculiar/p-494d26fb.entry.js +5 -0
- package/dist/peculiar/p-494d26fb.entry.js.map +1 -0
- package/dist/peculiar/{p-ff3ced3c.system.js → p-52f13c4a.system.js} +45 -45
- package/dist/peculiar/{p-ff3ced3c.system.js.map → p-52f13c4a.system.js.map} +1 -1
- package/dist/peculiar/p-55303453.system.js +12 -0
- package/dist/peculiar/p-55303453.system.js.map +1 -0
- package/dist/peculiar/p-5a699274.js +19 -0
- package/dist/peculiar/p-5a699274.js.map +1 -0
- package/dist/peculiar/p-6221d0a4.system.entry.js +5 -0
- package/dist/peculiar/p-6221d0a4.system.entry.js.map +1 -0
- package/dist/peculiar/p-666438a8.js +135 -0
- package/dist/peculiar/p-666438a8.js.map +1 -0
- package/dist/peculiar/{p-c23fd001.entry.js → p-7a5173be.entry.js} +16 -16
- package/dist/peculiar/p-7a5173be.entry.js.map +1 -0
- package/dist/peculiar/p-80477c05.js +12 -0
- package/dist/peculiar/p-80477c05.js.map +1 -0
- package/dist/peculiar/p-8393399a.system.js +1 -1
- package/dist/peculiar/p-8ff95ad8.entry.js +5 -0
- package/dist/peculiar/{p-54b37ef9.entry.js.map → p-8ff95ad8.entry.js.map} +1 -1
- package/dist/peculiar/p-a06f51a2.system.js +19 -0
- package/dist/peculiar/p-a06f51a2.system.js.map +1 -0
- package/dist/peculiar/{p-75166532.js → p-adf16adb.js} +21 -21
- package/dist/peculiar/{p-75166532.js.map → p-adf16adb.js.map} +1 -1
- package/dist/peculiar/p-b6d5e413.js +19 -0
- package/dist/peculiar/p-b6d5e413.js.map +1 -0
- package/dist/peculiar/p-bd7fb688.system.entry.js +5 -0
- package/dist/peculiar/{p-00302a20.system.entry.js.map → p-bd7fb688.system.entry.js.map} +1 -1
- package/dist/peculiar/{p-496449cf.system.entry.js → p-cc256004.system.entry.js} +2 -2
- package/dist/peculiar/p-d1066b51.system.js +135 -0
- package/dist/peculiar/p-d1066b51.system.js.map +1 -0
- package/dist/peculiar/p-d6229f42.system.js +5 -0
- package/dist/peculiar/{p-5f3b0fc7.entry.js → p-ddadcb44.entry.js} +3 -3
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
- package/dist/types/components/certificate-details-parts/miscellaneous.d.ts +2 -2
- package/dist/types/components/crl-viewer/crl-viewer.d.ts +2 -2
- package/dist/types/components/csr-viewer/csr-viewer.d.ts +2 -2
- package/dist/types/constants/oids.d.ts +3 -0
- package/dist/types/crypto/index.d.ts +2 -2
- package/dist/types/crypto/{csr.d.ts → pkcs10_certificate_request.d.ts} +4 -5
- package/dist/types/crypto/x509_attribute_certificate.d.ts +3 -4
- package/dist/types/crypto/x509_certificate.d.ts +3 -4
- package/dist/types/crypto/{crl.d.ts → x509_crl.d.ts} +4 -5
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/download.d.ts +4 -4
- package/dist/types/utils/validator.d.ts +0 -4
- package/hydrate/index.js +84 -138
- package/package.json +4 -4
- package/dist/cjs/certification_request-b0d72620.js.map +0 -1
- package/dist/cjs/crl-812dd7a1.js +0 -312
- package/dist/cjs/crl-812dd7a1.js.map +0 -1
- package/dist/cjs/download-6f550549.js +0 -476
- package/dist/cjs/download-6f550549.js.map +0 -1
- package/dist/cjs/miscellaneous-dcb93a5b.js.map +0 -1
- package/dist/cjs/x509_certificate-ebf4cbd4.js.map +0 -1
- package/dist/collection/crypto/crl.js.map +0 -1
- package/dist/collection/crypto/csr.js.map +0 -1
- package/dist/esm/certification_request-2c054ece.js.map +0 -1
- package/dist/esm/crl-a7318483.js +0 -308
- package/dist/esm/crl-a7318483.js.map +0 -1
- package/dist/esm/download-8c128e2e.js +0 -470
- package/dist/esm/download-8c128e2e.js.map +0 -1
- package/dist/esm/miscellaneous-0e98b5bc.js.map +0 -1
- package/dist/esm/x509_certificate-ad568d3a.js.map +0 -1
- package/dist/esm-es5/certification_request-2c054ece.js.map +0 -1
- package/dist/esm-es5/crl-a7318483.js +0 -33
- package/dist/esm-es5/crl-a7318483.js.map +0 -1
- package/dist/esm-es5/download-8c128e2e.js +0 -43
- package/dist/esm-es5/download-8c128e2e.js.map +0 -1
- package/dist/esm-es5/x509_certificate-ad568d3a.js +0 -12
- package/dist/esm-es5/x509_certificate-ad568d3a.js.map +0 -1
- package/dist/peculiar/p-00302a20.system.entry.js +0 -5
- package/dist/peculiar/p-0dbc8238.system.js +0 -13
- package/dist/peculiar/p-0dbc8238.system.js.map +0 -1
- package/dist/peculiar/p-1302bd67.js +0 -97
- package/dist/peculiar/p-1302bd67.js.map +0 -1
- package/dist/peculiar/p-1f766dd5.js +0 -43
- package/dist/peculiar/p-1f766dd5.js.map +0 -1
- package/dist/peculiar/p-3d44cbd2.js +0 -12
- package/dist/peculiar/p-3d44cbd2.js.map +0 -1
- package/dist/peculiar/p-3f9af5f5.system.js +0 -97
- package/dist/peculiar/p-3f9af5f5.system.js.map +0 -1
- package/dist/peculiar/p-54b37ef9.entry.js +0 -5
- package/dist/peculiar/p-5c6f9a14.entry.js +0 -12
- package/dist/peculiar/p-5c6f9a14.entry.js.map +0 -1
- package/dist/peculiar/p-5cf4562f.system.entry.js.map +0 -1
- package/dist/peculiar/p-6680f277.system.entry.js +0 -13
- package/dist/peculiar/p-6680f277.system.entry.js.map +0 -1
- package/dist/peculiar/p-924790f5.js +0 -33
- package/dist/peculiar/p-924790f5.js.map +0 -1
- package/dist/peculiar/p-b2890eb8.system.js +0 -5
- package/dist/peculiar/p-c156b495.system.js +0 -33
- package/dist/peculiar/p-c156b495.system.js.map +0 -1
- package/dist/peculiar/p-c23fd001.entry.js.map +0 -1
- package/dist/peculiar/p-dde511c8.system.js +0 -43
- package/dist/peculiar/p-dde511c8.system.js.map +0 -1
- /package/dist/peculiar/{p-496449cf.system.entry.js.map → p-cc256004.system.entry.js.map} +0 -0
- /package/dist/peculiar/{p-b2890eb8.system.js.map → p-d6229f42.system.js.map} +0 -0
- /package/dist/peculiar/{p-5f3b0fc7.entry.js.map → p-ddadcb44.entry.js.map} +0 -0
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -5,26 +5,33 @@
|
|
|
5
5
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const certification_request = require('./certification_request-314859bb.js');
|
|
9
|
+
const read_file = require('./read_file-2e22a97e.js');
|
|
10
|
+
const pkcs10_certificate_request = require('./pkcs10_certificate_request-93c66ce7.js');
|
|
9
11
|
const button = require('./button-87086210.js');
|
|
10
12
|
const link = require('./link-a3d3799d.js');
|
|
11
13
|
const cross = require('./cross-bd099933.js');
|
|
12
|
-
const download
|
|
14
|
+
const download = require('./download-820d66ba.js');
|
|
13
15
|
const actions = require('./actions-789906f5.js');
|
|
14
16
|
const arrow_top = require('./arrow_top-76e4261e.js');
|
|
15
17
|
require('./index-e2ae280a.js');
|
|
16
18
|
|
|
17
19
|
|
|
18
20
|
|
|
19
|
-
exports.Download =
|
|
20
|
-
exports.downloadFromBuffer =
|
|
21
|
+
exports.Download = certification_request.Download;
|
|
22
|
+
exports.downloadFromBuffer = certification_request.downloadFromBuffer;
|
|
23
|
+
exports.readAsArrayBuffer = read_file.readAsArrayBuffer;
|
|
24
|
+
exports.readAsBinaryString = read_file.readAsBinaryString;
|
|
25
|
+
exports.readAsDataUrl = read_file.readAsDataUrl;
|
|
26
|
+
exports.readAsText = read_file.readAsText;
|
|
27
|
+
exports.Pkcs10CertificateRequest = pkcs10_certificate_request.Pkcs10CertificateRequest;
|
|
21
28
|
exports.Button = button.Button;
|
|
22
29
|
exports.Typography = button.Typography;
|
|
23
30
|
exports.Link = link.Link;
|
|
24
31
|
exports.CrossIcon = cross.CrossIcon;
|
|
25
32
|
exports.DetailsIcon = cross.DetailsIcon;
|
|
26
33
|
exports.LinkIcon = cross.LinkIcon;
|
|
27
|
-
exports.DownloadIcon = download
|
|
34
|
+
exports.DownloadIcon = download.DownloadIcon;
|
|
28
35
|
exports.ActionsIcon = actions.ActionsIcon;
|
|
29
36
|
exports.ArrowBottomIcon = arrow_top.ArrowBottomIcon;
|
|
30
37
|
exports.ArrowTopIcon = arrow_top.ArrowTopIcon;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.cjs.js","mappings":"
|
|
1
|
+
{"file":"index.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -4,11 +4,10 @@
|
|
|
4
4
|
'use strict';
|
|
5
5
|
|
|
6
6
|
const index = require('./index-e2ae280a.js');
|
|
7
|
-
const certification_request = require('./certification_request-
|
|
8
|
-
const download = require('./download-6f550549.js');
|
|
7
|
+
const certification_request = require('./certification_request-314859bb.js');
|
|
9
8
|
const link = require('./link-a3d3799d.js');
|
|
10
9
|
const button = require('./button-87086210.js');
|
|
11
|
-
const download
|
|
10
|
+
const download = require('./download-820d66ba.js');
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* @license
|
|
@@ -167,7 +166,7 @@ const PublicKey = (props) => {
|
|
|
167
166
|
index.h(RowValue, { name: certification_request.l10n.getString('namedCurve'), value: getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined) }),
|
|
168
167
|
index.h(RowValue, { name: certification_request.l10n.getString('exponent'), value: getPublicKeyExponent(key) }),
|
|
169
168
|
index.h(RowValue, { name: certification_request.l10n.getString('modulus'), value: getPublicKeyModulus(key) }),
|
|
170
|
-
index.h(RowValue, { name: certification_request.l10n.getString('value'), value:
|
|
169
|
+
index.h(RowValue, { name: certification_request.l10n.getString('value'), value: certification_request.Convert_1.ToHex(key.value), monospace: true, collapse: true }),
|
|
171
170
|
];
|
|
172
171
|
}
|
|
173
172
|
return [
|
|
@@ -223,7 +222,7 @@ const Signature = (props) => {
|
|
|
223
222
|
function renderSignatureDetails(data) {
|
|
224
223
|
return [
|
|
225
224
|
index.h(RowValue, { name: certification_request.l10n.getString('algorithm'), value: getStringByOID(data.algorithm) }),
|
|
226
|
-
index.h(RowValue, { name: certification_request.l10n.getString('value'), value:
|
|
225
|
+
index.h(RowValue, { name: certification_request.l10n.getString('value'), value: certification_request.Convert_1.ToHex(data.value), monospace: true, collapse: true }),
|
|
227
226
|
];
|
|
228
227
|
}
|
|
229
228
|
return [
|
|
@@ -326,7 +325,7 @@ const ExtendedKeyUsageExtension = (props) => {
|
|
|
326
325
|
*/
|
|
327
326
|
const SubjectKeyIdentifierExtension = (props) => {
|
|
328
327
|
const { extension, getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink } = props;
|
|
329
|
-
const keyId =
|
|
328
|
+
const keyId = certification_request.Convert_1.ToHex(extension.value.buffer);
|
|
330
329
|
const childrenLink = getSubjectKeyIdChildrenLink(keyId);
|
|
331
330
|
const siblingsLink = getSubjectKeyIdSiblingsLink(keyId);
|
|
332
331
|
return (index.h(BasicExtension, { extension: extension },
|
|
@@ -351,7 +350,7 @@ const SubjectKeyIdentifierExtension = (props) => {
|
|
|
351
350
|
*/
|
|
352
351
|
const AuthorityKeyIdentifierExtension = (props) => {
|
|
353
352
|
const { extension, getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink } = props;
|
|
354
|
-
const keyId =
|
|
353
|
+
const keyId = certification_request.Convert_1.ToHex(extension.value.keyIdentifier.buffer);
|
|
355
354
|
const parentLink = getAuthKeyIdParentLink(keyId);
|
|
356
355
|
const siblingsLink = getAuthKeyIdSiblingsLink(keyId);
|
|
357
356
|
return (index.h(BasicExtension, { extension: extension },
|
|
@@ -415,10 +414,10 @@ const GeneralNamePart = (props) => {
|
|
|
415
414
|
catch (error) {
|
|
416
415
|
//
|
|
417
416
|
}
|
|
418
|
-
return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value:
|
|
417
|
+
return (index.h(RowValue, { name: certification_request.OIDs[value.typeId] || value.typeId, value: certification_request.Convert_1.ToHex(value.value), monospace: true }));
|
|
419
418
|
}
|
|
420
|
-
if (
|
|
421
|
-
return (index.h(RowValue, { name: names[name] || name, value:
|
|
419
|
+
if (certification_request.BufferSourceConverter_1.isBufferSource(value)) {
|
|
420
|
+
return (index.h(RowValue, { name: names[name] || name, value: certification_request.Convert_1.ToString(value) }));
|
|
422
421
|
}
|
|
423
422
|
if (value instanceof certification_request.EDIPartyName) {
|
|
424
423
|
return (index.h(RowValue, { name: names[name] || name, value: value.partyName.toString() }));
|
|
@@ -825,7 +824,7 @@ const QCStatementsExtension = (props) => {
|
|
|
825
824
|
index.h(RowValue, { name: "Language", value: location.language })))),
|
|
826
825
|
]);
|
|
827
826
|
}
|
|
828
|
-
return (index.h(RowValue, { name: "Info", value:
|
|
827
|
+
return (index.h(RowValue, { name: "Info", value: certification_request.Convert_1.ToHex(statementInfo), monospace: true }));
|
|
829
828
|
}
|
|
830
829
|
return (index.h(BasicExtension, { extension: extension }, Boolean(extension.value.length) && ([
|
|
831
830
|
index.h(RowValue, { name: "Statements", value: "" }),
|
|
@@ -936,7 +935,7 @@ const CRLReasonExtension = (props) => {
|
|
|
936
935
|
* LICENSE file in the root directory of this source tree.
|
|
937
936
|
*/
|
|
938
937
|
function getAttributeValue(attribute) {
|
|
939
|
-
return
|
|
938
|
+
return certification_request.Convert_1.ToString(attribute.values[0]);
|
|
940
939
|
}
|
|
941
940
|
|
|
942
941
|
/**
|
|
@@ -1012,7 +1011,7 @@ const BiometricSyntaxExtension = (props) => {
|
|
|
1012
1011
|
index.h(RowValue, { name: "OID", value: getStringByOID(data.typeOfBiometricData.biometricDataOid) }),
|
|
1013
1012
|
index.h(RowValue, { name: "Type", value: data.typeOfBiometricData.predefinedBiometricType }),
|
|
1014
1013
|
index.h(RowValue, { name: "Algorithm", value: getStringByOID(data.hashAlgorithm.algorithm) }),
|
|
1015
|
-
index.h(RowValue, { name: "Hash", value:
|
|
1014
|
+
index.h(RowValue, { name: "Hash", value: certification_request.Convert_1.ToHex(data.biometricDataHash.buffer), monospace: true }),
|
|
1016
1015
|
index.h(RowValue, { name: "Source Uri", value: data.sourceDataUri })))),
|
|
1017
1016
|
])));
|
|
1018
1017
|
};
|
|
@@ -1034,7 +1033,7 @@ const LogotypeExtension = (props) => {
|
|
|
1034
1033
|
const { imageDetails } = img;
|
|
1035
1034
|
return [
|
|
1036
1035
|
index.h(RowValue, { name: "Image Type", value: imageDetails.mediaType }),
|
|
1037
|
-
index.h(RowValue, { name: "Image Hash", value:
|
|
1036
|
+
index.h(RowValue, { name: "Image Hash", value: certification_request.Convert_1.ToHex(imageDetails.logotypeHash[0].hashValue), monospace: true }),
|
|
1038
1037
|
index.h(RowValue, { name: "Image URL", value: imageDetails.logotypeURI[0], monospace: true, collapse: true }),
|
|
1039
1038
|
index.h(RowValue, { name: "Image Hash Algorithm", value: getStringByOID(imageDetails.logotypeHash[0].hashAlg.algorithm) }),
|
|
1040
1039
|
];
|
|
@@ -1048,7 +1047,7 @@ const LogotypeExtension = (props) => {
|
|
|
1048
1047
|
const { audioDetails } = aud;
|
|
1049
1048
|
return [
|
|
1050
1049
|
index.h(RowValue, { name: "Audio Type", value: audioDetails.mediaType }),
|
|
1051
|
-
index.h(RowValue, { name: "Audio Hash", value:
|
|
1050
|
+
index.h(RowValue, { name: "Audio Hash", value: certification_request.Convert_1.ToHex(audioDetails.logotypeHash[0].hashValue), monospace: true }),
|
|
1052
1051
|
index.h(RowValue, { name: "Audio URL", value: audioDetails.logotypeURI[0], monospace: true, collapse: true }),
|
|
1053
1052
|
index.h(RowValue, { name: "Audio Hash Algorithm", value: getStringByOID(audioDetails.logotypeHash[0].hashAlg.algorithm) }),
|
|
1054
1053
|
];
|
|
@@ -1187,7 +1186,7 @@ const KeyDescriptionExtension = (props) => {
|
|
|
1187
1186
|
index.h(RowValue, { name: camelCaseToWords(keyName), value: "" }),
|
|
1188
1187
|
index.h(TableRowTable, null, renderRowValue(keyValue)),
|
|
1189
1188
|
];
|
|
1190
|
-
case
|
|
1189
|
+
case certification_request.BufferSourceConverter_1.isBufferSource(keyValue):
|
|
1191
1190
|
if (keyName === 'attestationApplicationId') {
|
|
1192
1191
|
try {
|
|
1193
1192
|
const parsed = certification_request.AsnParser.parse(keyValue, certification_request.AttestationApplicationId);
|
|
@@ -1205,10 +1204,10 @@ const KeyDescriptionExtension = (props) => {
|
|
|
1205
1204
|
}
|
|
1206
1205
|
}
|
|
1207
1206
|
try {
|
|
1208
|
-
value =
|
|
1207
|
+
value = certification_request.Convert_1.ToString(keyValue);
|
|
1209
1208
|
}
|
|
1210
1209
|
catch (error) {
|
|
1211
|
-
value =
|
|
1210
|
+
value = certification_request.Convert_1.ToHex(keyValue);
|
|
1212
1211
|
}
|
|
1213
1212
|
break;
|
|
1214
1213
|
}
|
|
@@ -1228,8 +1227,8 @@ const KeyDescriptionExtension = (props) => {
|
|
|
1228
1227
|
index.h(RowValue, { name: camelCaseToWords('attestationSecurityLevel'), value: extension.value.attestationSecurityLevel }),
|
|
1229
1228
|
index.h(RowValue, { name: camelCaseToWords('keymasterVersion'), value: extension.value.keymasterVersion }),
|
|
1230
1229
|
index.h(RowValue, { name: camelCaseToWords('keymasterSecurityLevel'), value: extension.value.keymasterSecurityLevel }),
|
|
1231
|
-
index.h(RowValue, { name: camelCaseToWords('attestationChallenge'), value:
|
|
1232
|
-
index.h(RowValue, { name: camelCaseToWords('uniqueId'), value:
|
|
1230
|
+
index.h(RowValue, { name: camelCaseToWords('attestationChallenge'), value: certification_request.Convert_1.ToString(extension.value.attestationChallenge) }),
|
|
1231
|
+
index.h(RowValue, { name: camelCaseToWords('uniqueId'), value: certification_request.Convert_1.ToString(extension.value.uniqueId) || undefined }),
|
|
1233
1232
|
renderAuthorizationList(camelCaseToWords('softwareEnforced'), extension.value.softwareEnforced),
|
|
1234
1233
|
renderAuthorizationList(camelCaseToWords('teeEnforced'), extension.value.teeEnforced)));
|
|
1235
1234
|
};
|
|
@@ -1391,10 +1390,10 @@ const Miscellaneous = (props) => {
|
|
|
1391
1390
|
index.h(RowTitle, { value: certification_request.l10n.getString('miscellaneous') }),
|
|
1392
1391
|
index.h("tr", null,
|
|
1393
1392
|
index.h("td", null,
|
|
1394
|
-
index.h(button.Button, { onClick: () => certificate.downloadAsPEM(), startIcon: index.h(download
|
|
1393
|
+
index.h(button.Button, { onClick: () => certificate.downloadAsPEM(), startIcon: index.h(download.DownloadIcon, null) }, certification_request.l10n.getString('download.pem')))),
|
|
1395
1394
|
index.h("tr", null,
|
|
1396
1395
|
index.h("td", null,
|
|
1397
|
-
index.h(button.Button, { onClick: () => certificate.downloadAsDER(), startIcon: index.h(download
|
|
1396
|
+
index.h(button.Button, { onClick: () => certificate.downloadAsDER(), startIcon: index.h(download.DownloadIcon, null) }, certification_request.l10n.getString('download.der')))),
|
|
1398
1397
|
];
|
|
1399
1398
|
};
|
|
1400
1399
|
|
|
@@ -1416,4 +1415,4 @@ exports.getIPAddressLink = getIPAddressLink;
|
|
|
1416
1415
|
exports.getLEILink = getLEILink;
|
|
1417
1416
|
exports.getStringByOID = getStringByOID;
|
|
1418
1417
|
|
|
1419
|
-
//# sourceMappingURL=miscellaneous-
|
|
1418
|
+
//# sourceMappingURL=miscellaneous-f1bc3a4b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"miscellaneous-f1bc3a4b.js","mappings":"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","names":["OIDs","h","Typography","Link","l10n","dateShort","Convert","Name","OtherName","AsnParser","DisplayText","UserNotice","BufferSourceConverter","EDIPartyName","__decorate","AsnProp","AsnPropTypes","AsnType","AsnTypeTypes","AsnArray","id_qcs_pkixQCSyntax_v2","SemanticsInformation","AsnIntegerArrayBufferConverter","IntegerSet","RootOfTrust","AttestationApplicationId","KeyUsage","BasicConstraints","ExtendedKeyUsage","SubjectKeyIdentifier","AuthorityKeyIdentifier","CRLDistributionPoints","AuthorityInfoAccessSyntax","SubjectInfoAccessSyntax","SubjectAlternativeName","CertificatePolicies","CertificateTransparency","NameConstraints","CertificateTemplate","EnrollCertTypeChoice","CaVersion","QCStatements","NetscapeComment","NetscapeCertType","LeiRole","LeiChoice","Timestamp","ArchiveRevInfo","CRLReason","SubjectDirectoryAttributes","PrivateKeyUsagePeriod","EntrustVersionInfo","BiometricSyntax","LogotypeExtn","TNAuthorizationList","PolicyConstraints","PolicyMappings","CRLNumber","IssuingDistributionPoint","NonStandardKeyDescription","CabforganizationIdentifier","Button","DownloadIcon"],"sources":["src/utils/get_string_by_oid.ts","src/utils/camel_case_to_words.ts","src/utils/third_party_links.ts","src/utils/is_link.ts","src/components/certificate-details-parts/row.tsx","src/components/certificate-details-parts/basic_information.tsx","src/components/certificate-details-parts/public_key.tsx","src/components/certificate-details-parts/subject_name.tsx","src/components/certificate-details-parts/issuer_name.tsx","src/components/certificate-details-parts/signature.tsx","src/components/certificate-details-parts/thumbprints.tsx","src/components/certificate-details-parts/extensions/basic_extension.tsx","src/components/certificate-details-parts/extensions/key_usage_extension.tsx","src/components/certificate-details-parts/extensions/basic_constraints_extension.tsx","src/components/certificate-details-parts/extensions/extended_key_usage_extension.tsx","src/components/certificate-details-parts/extensions/subject_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/authority_key_identifier_extension.tsx","src/components/certificate-details-parts/extensions/general_name_part.tsx","src/components/certificate-details-parts/extensions/crl_distribution_points_extension.tsx","src/components/certificate-details-parts/extensions/info_access_syntax_extension.tsx","src/components/certificate-details-parts/extensions/subject_alternative_name_extension.tsx","src/components/certificate-details-parts/extensions/certificate_policies_extension.tsx","src/constants/logs.ts","src/components/certificate-details-parts/extensions/certificate_transparency_extension.tsx","src/components/certificate-details-parts/extensions/name_constraints_extension.tsx","src/components/certificate-details-parts/extensions/certificate_template_extension.tsx","src/components/certificate-details-parts/extensions/enroll_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/ca_version_extension.tsx","../../node_modules/@peculiar/asn1-x509-qualified-etsi/build/es2015/index.js","src/components/certificate-details-parts/extensions/qc_statements_extension.tsx","src/components/certificate-details-parts/extensions/netscape_comment_extension.tsx","src/components/certificate-details-parts/extensions/netscape_cert_type_extension.tsx","src/components/certificate-details-parts/extensions/lei_role_extennsion.tsx","src/components/certificate-details-parts/extensions/lei_extension.tsx","src/components/certificate-details-parts/extensions/timestamp_extension.tsx","src/components/certificate-details-parts/extensions/archive_rev_info_extension.tsx","src/components/certificate-details-parts/extensions/crl_reason_extension.tsx","src/components/certificate-details-parts/extensions/attribute_value.ts","src/components/certificate-details-parts/extensions/subject_directory_attributes_extension.tsx","src/components/certificate-details-parts/extensions/as_string_extension.tsx","src/components/certificate-details-parts/extensions/private_key_usage_period_extension.tsx","src/components/certificate-details-parts/extensions/entrust_version_info_extension.tsx","src/components/certificate-details-parts/extensions/biometric_syntax_extension.tsx","src/components/certificate-details-parts/extensions/logotype_extension.tsx","src/components/certificate-details-parts/extensions/tn_auth_list_extension.tsx","src/components/certificate-details-parts/extensions/policy_constraints_extension.tsx","src/components/certificate-details-parts/extensions/policy_mappings_extension.tsx","src/components/certificate-details-parts/extensions/crl_number_extension.tsx","src/components/certificate-details-parts/extensions/issuing_distribution_point_extension.tsx","src/components/certificate-details-parts/extensions/key_description_extension.tsx","src/components/certificate-details-parts/extensions/cabforganization_identifier_extension.tsx","src/components/certificate-details-parts/extensions/index.tsx","src/components/certificate-details-parts/miscellaneous.tsx"],"sourcesContent":["/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { OIDs } from '../constants/oids';\n\nexport function getStringByOID(value: string) {\n const oid = OIDs[value];\n\n if (oid) {\n return `${oid} (${value})`;\n }\n\n return value;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport function camelCaseToWords(value: string) {\n const result = value.replace(/([A-Z])/g, ' $1');\n\n return result.charAt(0).toUpperCase() + result.slice(1);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport const getLEILink = (lei: string) => `https://search.gleif.org/#/record/${lei}`;\n\nexport const getDNSNameLink = (dnsName: string) => `https://search.censys.io/search?resource=hosts&q=dns.names%3A${dnsName}`;\n\nexport const getIPAddressLink = (ipAddress: string) => `https://search.censys.io/search?resource=hosts&q=ip%3A${ipAddress}`;\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport default function isLink(value: string): boolean {\n return value.indexOf('http') === 0;\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport isLink from '../../utils/is_link';\nimport { Typography } from '../typography';\nimport { Link } from '../link';\n\nexport const TableRowTable: FunctionalComponent = (_, children) => (\n <tr>\n <td colSpan={2}>\n <table>\n {children}\n </table>\n </td>\n </tr>\n);\n\ninterface IRowTitleProps {\n value: string | string[];\n}\n\nexport const RowTitle: FunctionalComponent<IRowTitleProps> = (props) => {\n const { value } = props;\n\n if (!value) {\n return null;\n }\n\n return [\n <tr class=\"title\">\n <td colSpan={2}>\n <Typography\n variant=\"s1\"\n color=\"black\"\n >\n {value}\n </Typography>\n </td>\n </tr>,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ];\n};\n\ninterface IRowValueProps {\n name: string | string[];\n value: string | number | string[];\n monospace?: boolean;\n collapse?: boolean;\n href?: string;\n extraValue?: Element[];\n}\n\nexport const RowValue: FunctionalComponent<IRowValueProps> = (props) => {\n const {\n name,\n value,\n monospace,\n collapse,\n href,\n extraValue,\n } = props;\n\n if (!name) {\n return null;\n }\n\n if (value === undefined || value === null) {\n return null;\n }\n\n let elementValue;\n\n if (collapse) {\n elementValue = (\n <peculiar-text-hider>\n {value}\n </peculiar-text-hider>\n );\n } else {\n elementValue = value;\n }\n\n const hasValue = !!value.toString();\n\n return (\n <tr>\n <td\n colSpan={hasValue ? 1 : 2}\n >\n <Typography\n variant=\"b2\"\n color=\"gray-9\"\n >\n {name}\n </Typography>\n </td>\n {hasValue && (\n <td\n class={{\n monospace,\n }}\n >\n {(isLink(value.toString()) || href) ? (\n <Link\n variant=\"b2\"\n href={href || value.toString()}\n >\n {value}\n </Link>\n ) : (\n <Typography\n variant=\"b2\"\n color=\"black\"\n >\n {elementValue}\n {extraValue}\n </Typography>\n )}\n </td>\n )}\n </tr>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { dateShort, l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IBasicInformationProps {\n serialNumber?: string;\n version?: number;\n validity?: string;\n notBefore?: Date;\n notAfter?: Date;\n lastUpdate?: Date;\n nextUpdate?: Date;\n type: string;\n}\n\nexport const BasicInformation: FunctionalComponent<IBasicInformationProps> = (props) => {\n const {\n serialNumber,\n version,\n validity,\n notBefore,\n notAfter,\n lastUpdate,\n nextUpdate,\n type,\n } = props;\n\n return [\n <RowTitle\n value={l10n.getString('basicInformation')}\n />,\n <RowValue\n name={l10n.getString('type')}\n value={type}\n />,\n <RowValue\n name={l10n.getString('serialNumber')}\n value={serialNumber}\n monospace\n />,\n <RowValue\n name={l10n.getString('version')}\n value={version}\n />,\n <RowValue\n name={l10n.getString('validity')}\n value={validity}\n />,\n <RowValue\n name={l10n.getString('issued')}\n value={notBefore ? dateShort(notBefore) : undefined}\n />,\n <RowValue\n name={l10n.getString('expired')}\n value={notAfter ? dateShort(notAfter) : undefined}\n />,\n <RowValue\n name={l10n.getString('lastUpdate')}\n value={lastUpdate ? dateShort(lastUpdate) : undefined}\n />,\n <RowValue\n name={l10n.getString('nextUpdate')}\n value={nextUpdate ? dateShort(nextUpdate) : undefined}\n />,\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { IPublicKey } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\nfunction getPublicKeyModulus(publicKey: IPublicKey) {\n if (publicKey.params && 'modulus' in publicKey.params) {\n let length = publicKey.params.modulus.byteLength;\n\n if (length % 2) {\n length -= 1;\n }\n\n return length * 8;\n }\n\n return null;\n}\n\nfunction getPublicKeyExponent(publicKey: IPublicKey) {\n if (publicKey.params && 'publicExponent' in publicKey.params) {\n return publicKey.params.publicExponent.byteLength === 3\n ? 65537\n : 3;\n }\n\n return null;\n}\n\ninterface IPublicKeyProps {\n publicKey: IPublicKey;\n}\n\nexport const PublicKey: FunctionalComponent<IPublicKeyProps> = (props) => {\n const { publicKey } = props;\n\n if (!publicKey) {\n return null;\n }\n\n function renderKeyDetails(key: IPublicKey) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(key.algorithm)}\n />,\n <RowValue\n name={l10n.getString('namedCurve')}\n value={getStringByOID((key.params && 'namedCurve' in key.params) ? key.params.namedCurve : undefined)}\n />,\n <RowValue\n name={l10n.getString('exponent')}\n value={getPublicKeyExponent(key)}\n />,\n <RowValue\n name={l10n.getString('modulus')}\n value={getPublicKeyModulus(key)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(key.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('publicKeyInfo')}\n />,\n renderKeyDetails(publicKey),\n (Array.isArray(publicKey.params) && publicKey.params.length && publicKey.params.map((param) => (\n <TableRowTable>\n {renderKeyDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n}\n\nexport const SubjectName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name } = props;\n\n return [\n <RowTitle\n value={l10n.getString('subjectName')}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport type { INameJSON } from '../../crypto/name';\nimport { l10n } from '../../utils';\nimport { Link } from '../link';\nimport { RowTitle, RowValue } from './row';\n\ninterface ISubjectNameProps {\n name: INameJSON[];\n issuerDnLink?: string;\n}\n\nexport const IssuerName: FunctionalComponent<ISubjectNameProps> = (props) => {\n const { name, issuerDnLink } = props;\n const title = l10n.getString('issuerName');\n\n return [\n <RowTitle\n value={issuerDnLink ? (\n <Link\n href={issuerDnLink}\n >\n {title}\n </Link>\n ) : title}\n />,\n name.map((n) => (\n <RowValue\n name={n.name || n.type}\n value={n.value}\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Convert } from 'pvtsutils';\n\nimport { ISignature } from '../../crypto';\nimport { l10n, getStringByOID } from '../../utils';\n\nimport { RowTitle, RowValue, TableRowTable } from './row';\n\ninterface ISignatureProps {\n signature: ISignature;\n}\n\nexport const Signature: FunctionalComponent<ISignatureProps> = (props) => {\n const { signature } = props;\n\n if (!signature) {\n return null;\n }\n\n function renderSignatureDetails(data: ISignature) {\n return [\n <RowValue\n name={l10n.getString('algorithm')}\n value={getStringByOID(data.algorithm)}\n />,\n <RowValue\n name={l10n.getString('value')}\n value={Convert.ToHex(data.value)}\n monospace\n collapse\n />,\n ];\n }\n\n return [\n <RowTitle\n value={l10n.getString('signature')}\n />,\n renderSignatureDetails(signature),\n (signature.params && signature.params.length && signature.params.map((param) => (\n <TableRowTable>\n {renderSignatureDetails(param)}\n </TableRowTable>\n ))),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { l10n } from '../../utils';\n\nimport { RowTitle, RowValue } from './row';\n\ninterface IThumbprintsProps {\n thumbprints: Record<string, string>;\n}\n\nexport const Thumbprints: FunctionalComponent<IThumbprintsProps> = (props) => {\n const { thumbprints } = props;\n\n if (!thumbprints) {\n return null;\n }\n\n const keys = Object.keys(thumbprints);\n\n if (!keys.length) {\n return null;\n }\n\n return [\n <RowTitle\n value={l10n.getString('fingerprints')}\n />,\n keys.map((name) => (\n <RowValue\n name={name}\n value={thumbprints[name]}\n monospace\n />\n )),\n ];\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport { l10n, getStringByOID } from '../../../utils';\nimport { RowValue } from '../row';\n\ninterface IBasicExtensionProps {\n extension: Extension<TExtensionValue>;\n}\n\nexport const BasicExtension: FunctionalComponent<IBasicExtensionProps> = (props, children) => {\n const { extension } = props;\n\n return ([\n <RowValue\n name=\"Name\"\n value={getStringByOID(extension.asn.extnID)}\n />,\n <RowValue\n name=\"Critical\"\n value={extension.asn.critical ? l10n.getString('yes') : l10n.getString('no')}\n />,\n children,\n <tr>\n <td colSpan={2} class=\"divider\">\n <span />\n </td>\n </tr>,\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { KeyUsage } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyUsageExtensionProps {\n extension: Extension<KeyUsage>;\n}\n\nexport const KeyUsageExtension: FunctionalComponent<IKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Usage\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { BasicConstraints } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBasicConstraintsExtensionProps {\n extension: Extension<BasicConstraints>;\n}\n\nexport const BasicConstraintsExtension:\nFunctionalComponent<IBasicConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Authority\"\n value={extension.value.cA ? l10n.getString('yes') : l10n.getString('no')}\n />\n <RowValue\n name=\"Path Length Constraint\"\n value={extension.value.pathLenConstraint}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ExtendedKeyUsage } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IExtendedKeyUsageExtensionProps {\n extension: Extension<ExtendedKeyUsage>;\n}\n\nexport const ExtendedKeyUsageExtension:\nFunctionalComponent<IExtendedKeyUsageExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Purposes\"\n value=\"\"\n />,\n extension.value.map((usage) => (\n <TableRowTable>\n <RowValue\n name=\"Purpose\"\n value={getStringByOID(usage)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface ISubjectKeyIdentifierExtensionProps extends ISubjectKeyIdentifierOptions {\n extension: Extension<SubjectKeyIdentifier>;\n}\n\nexport const SubjectKeyIdentifierExtension:\nFunctionalComponent<ISubjectKeyIdentifierExtensionProps> = (props) => {\n const { extension, getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.buffer);\n const childrenLink = getSubjectKeyIdChildrenLink(keyId);\n const siblingsLink = getSubjectKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n childrenLink && (\n <span>\n [\n <Link href={childrenLink}>\n children\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n [\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityKeyIdentifier } from '@peculiar/asn1-x509';\nimport { Convert } from 'pvtsutils';\nimport { Extension } from '../../../crypto/extension';\nimport { Link } from '../../link';\nimport { RowValue } from '../row';\nimport { BasicExtension } from './basic_extension';\n\ninterface IAuthorityKeyIdentifierExtensionProps extends IAuthorityKeyIdentifierOptions {\n extension: Extension<AuthorityKeyIdentifier>;\n}\n\nexport const AuthorityKeyIdentifierExtension:\nFunctionalComponent<IAuthorityKeyIdentifierExtensionProps> = (props) => {\n const { extension, getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink } = props;\n\n const keyId = Convert.ToHex(extension.value.keyIdentifier.buffer);\n const parentLink = getAuthKeyIdParentLink(keyId);\n const siblingsLink = getAuthKeyIdSiblingsLink(keyId);\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Key ID\"\n value={keyId}\n monospace\n extraValue={[\n parentLink && (\n <span>\n [\n <Link href={parentLink}>\n parents\n </Link>\n ]\n </span>\n ),\n siblingsLink && (\n <span>\n [\n <Link href={siblingsLink}>\n siblings\n </Link>\n ]\n </span>\n ),\n ]}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n GeneralName,\n Name,\n OtherName,\n DisplayText,\n EDIPartyName,\n UserNotice,\n} from '@peculiar/asn1-x509';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { OIDs } from '../../../constants/oids';\nimport { RowValue, TableRowTable } from '../row';\n\nconst names: Record<keyof GeneralName, string> = {\n otherName: 'Other Name',\n rfc822Name: 'RFC 822 Name',\n dNSName: 'DNS Name',\n x400Address: 'X400 Address',\n directoryName: 'Directory Name',\n ediPartyName: 'Edi Party Name ',\n uniformResourceIdentifier: 'URI',\n iPAddress: 'IP Address',\n registeredID: 'Registered ID',\n};\n\ninterface IGeneralNamePartProps extends IGeneralNameOptions {\n generalName: GeneralName;\n}\n\nexport const GeneralNamePart: FunctionalComponent<IGeneralNamePartProps> = (props) => {\n const { generalName, getDNSNameLink, getIPAddressLink } = props;\n\n if (!generalName) {\n return null;\n }\n\n return Object.keys(generalName).map((name: keyof GeneralName) => {\n const value = generalName[name];\n\n if (value instanceof Name) {\n return [\n <RowValue\n name={names[name] || name}\n value=\"\"\n />,\n <TableRowTable>\n {value.map((relativeDistinguishedName) => (\n relativeDistinguishedName.map((attributeTypeAndValue) => (\n <RowValue\n name={OIDs[attributeTypeAndValue.type] || attributeTypeAndValue.type}\n value={attributeTypeAndValue.value.toString()}\n />\n ))\n ))}\n </TableRowTable>,\n ];\n }\n\n if (value instanceof OtherName) {\n try {\n const text = AsnParser.parse(value.value, DisplayText);\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.toString()}\n />\n );\n } catch (error) {\n //\n }\n\n try {\n const text = AsnParser.parse(value.value, UserNotice);\n\n if (text.explicitText) {\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={text.explicitText.toString()}\n />\n );\n }\n } catch (error) {\n //\n }\n\n return (\n <RowValue\n name={OIDs[value.typeId] || value.typeId}\n value={Convert.ToHex(value.value)}\n monospace\n />\n );\n }\n\n if (BufferSourceConverter.isBufferSource(value)) {\n return (\n <RowValue\n name={names[name] || name}\n value={Convert.ToString(value)}\n />\n );\n }\n\n if (value instanceof EDIPartyName) {\n return (\n <RowValue\n name={names[name] || name}\n value={value.partyName.toString()}\n />\n );\n }\n\n if (name === 'dNSName') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getDNSNameLink(value)}\n />\n );\n }\n\n if (name === 'iPAddress') {\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n href={getIPAddressLink(value)}\n />\n );\n }\n\n return (\n <RowValue\n name={names[name] || name}\n value={value}\n />\n );\n });\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLDistributionPoints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ICRLDistributionPointsExtensionProps extends IGeneralNameOptions {\n extension: Extension<CRLDistributionPoints>;\n}\n\nexport const CRLDistributionPointsExtension:\nFunctionalComponent<ICRLDistributionPointsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((point) => ([\n point.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n point.cRLIssuer?.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n )),\n ]))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { AuthorityInfoAccessSyntax, SubjectInfoAccessSyntax } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IInfoAccessSyntaxExtensionProps extends IGeneralNameOptions {\n extension: Extension<AuthorityInfoAccessSyntax | SubjectInfoAccessSyntax>;\n}\n\nexport const InfoAccessSyntaxExtension:\nFunctionalComponent<IInfoAccessSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Descriptions\"\n value=\"\"\n />,\n extension.value.map((description) => (\n <TableRowTable>\n <RowValue\n name=\"Method\"\n value={getStringByOID(description.accessMethod)}\n />\n <GeneralNamePart\n generalName={description.accessLocation}\n {...props}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectAlternativeName } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ISubjectAlternativeNameExtensionProps extends IGeneralNameOptions {\n extension: Extension<SubjectAlternativeName>;\n}\n\nexport const SubjectAlternativeNameExtension:\nFunctionalComponent<ISubjectAlternativeNameExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CertificatePolicies, UserNotice, DisplayText } from '@peculiar/asn1-x509';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificatePoliciesExtensionProps {\n extension: Extension<CertificatePolicies>;\n}\n\nexport const CertificatePoliciesExtension:\nFunctionalComponent<ICertificatePoliciesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Policy ID\"\n value={getStringByOID(policy.policyIdentifier)}\n />\n {policy.policyQualifiers && Boolean(policy.policyQualifiers.length) && ([\n <RowValue\n name=\"Qualifiers\"\n value=\"\"\n />,\n policy.policyQualifiers.map((qualifierInfo) => {\n const data = [\n <RowValue\n name=\"Qualifier ID\"\n value={getStringByOID(qualifierInfo.policyQualifierId)}\n />,\n ];\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.1') {\n const value = AsnParser.parse(qualifierInfo.qualifier, DisplayText);\n\n data.push(\n <RowValue\n name=\"Value\"\n value={value.toString()}\n />,\n );\n }\n\n if (qualifierInfo.policyQualifierId === '1.3.6.1.5.5.7.2.2') {\n const value = AsnParser.parse(qualifierInfo.qualifier, UserNotice);\n\n if (value.explicitText) {\n data.push(\n <RowValue\n name=\"Value\"\n value={value.explicitText.toString()}\n />,\n );\n }\n }\n\n return (\n <TableRowTable>\n {data}\n </TableRowTable>\n );\n }),\n ])}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport default {\n '9606c02c690033aa1d145f59c6e2648d0549f0df96aab8db915a70d8ecf390a5': 'Akamai CT',\n '39376f545f7b4607f59742d768cd5d2437bf3473b6534a4834bcf72e681c83c9': 'Alpha CT',\n a577ac9ced7548dd8f025b67a241089df86e0f476ec203c2ecbedb185f282638: 'CNNIC CT',\n cdb5179b7fc1c046feea31136a3f8f002e6182faf8896fecc8b2f5b5ab604900: 'Certly.IO',\n '1fbc36e002ede97f40199e86b3573b8a4217d80187746ad0da03a06054d20df4': 'Cloudflare “Nimbus2017”',\n db74afeecb29ecb1feca3e716d2ce5b9aabb36f7847183c75d9d4f37b61fbf64: 'Cloudflare “Nimbus2018”',\n '747eda8331ad331091219cce254f4270c2bffd5e422008c6373579e6107bcc56': 'Cloudflare “Nimbus2019”',\n '5ea773f9df56c0e7b536487dd049e0327a919a0c84a112128418759681714558': 'Cloudflare “Nimbus2020”',\n '4494652eb0eeceafc44007d8a8fe28c0dae682bed8cb31b53fd33396b5b681a8': 'Cloudflare “Nimbus2021”',\n '41c8cab1df22464a10c6a13a0942875e4e318b1b03ebeb4bc768f090629606f6': 'Cloudflare “Nimbus2022”',\n '7a328c54d8b72db620ea38e0521ee98416703213854d3bd22bc13a57a352eb52': 'Cloudflare “Nimbus2023”',\n '6ff141b5647e4222f7ef052cefae7c21fd608e27d2af5a6e9f4b8a37d6633ee5': 'DigiCert Nessie2018',\n fe446108b1d01ab78a62ccfeab6ab2b2babff3abdad80a4d8b30df2d0008830c: 'DigiCert Nessie2019',\n c652a0ec48ceb3fcab170992c43a87413309e80065a26252401ba3362a17c565: 'DigiCert Nessie2020',\n eec095ee8d72640f92e3c3b91bc712a3696a097b4b6a1a1438e647b2cbedc5f9: 'DigiCert Nessie2021',\n '51a3b0f5fd01799c566db837788f0ca47acc1b27cbf79e88429a0dfed48b05e5': 'DigiCert Nessie2022',\n b3737707e18450f86386d605a9dc11094a792db1670c0b87dcf0030e7936a59a: 'DigiCert Nessie2023',\n '5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd': 'DigiCert Server',\n '8775bfe7597cf88c43995fbdf36eff568d475636ff4ab560c1b4eaff5ea0830f': 'DigiCert Server 2',\n c1164ae0a772d2d4392dc80ac10770d4f0c49bde991a4840c1fa075164f63360: 'DigiCert Yeti2018',\n e2694bae26e8e94009e8861bb63b83d43ee7fe7488fba48f2893019dddf1dbfe: 'DigiCert Yeti2019',\n f095a459f200d18240102d2f93888ead4bfe1d47e399e1d034a6b0a8aa8eb273: 'DigiCert Yeti2020',\n '5cdc4392fee6ab4544b15e9ad456e61037fbd5fa47dca17394b25ee6f6c70eca': 'DigiCert Yeti2021',\n '2245450759552456963fa12ff1f76d86e0232663adc04b7f5dc6835c6ee20f02': 'DigiCert Yeti2022',\n '35cf191bbfb16c57bf0fad4c6d42cbbbb627202651ea3fe12aefa803c33bd64c': 'DigiCert Yeti2023',\n '717ea7420975be84a2723553f1777c26dd51af4e102144094d9019b462fb6668': 'GDCA 1',\n '14308d90ccd030135005c01ca526d81e84e87624e39b6248e08f724aea3bb42a': 'GDCA 2',\n c9cf890a21109c666cc17a3ed065c930d0e0135a9feba85af14210b8072421aa: 'GDCA CT #1',\n '924a30f909336ff435d6993a10ac75a2c641728e7fc2d659ae6188ffad40ce01': 'GDCA CT #2',\n fad4c97cc49ee2f8ac85c5ea5cea09d0220dbbf4e49c6b50662ff868f86b8c28: 'Google “Argon2017”',\n a4501269055a15545e6211ab37bc103f62ae5576a45e4b1714453e1b22106a25: 'Google “Argon2018”',\n '63f2dbcde83bcc2ccf0b728427576b33a48d61778fbd75a638b1c768544bd88d': 'Google “Argon2019”',\n b21e05cc8ba2cd8a204e8766f92bb98a2520676bdafa70e7b249532def8b905e: 'Google “Argon2020”',\n f65c942fd1773022145418083094568ee34d131933bfdf0c2f200bcc4ef164e3: 'Google “Argon2021”',\n '2979bef09e393921f056739f63a577e5be577d9c600af8f94d5d265c255dc784': 'Google “Argon2022”',\n e83ed0da3ef5063532e75728bc896bc903d3cbd1116beceb69e1777d6d06bd6e: 'Google “Argon2023”',\n '68f698f81f6482be3a8ceeb9281d4cfc71515d6793d444d10a67acbb4f4ffbc4': 'Google “Aviator”',\n c3bf03a7e1ca8841c607bae3ff4270fca5ec45b186ebbe4e2cf3fc778630f5f6: 'Google “Crucible”',\n '1d024b8eb1498b344dfd87ea3efc0996f7506f235d1d497061a4773c439c25fb': 'Google “Daedalus”',\n '293c519654c83965baaa50fc5807d4b76fbf587a2972dca4c30cf4e54547f478': 'Google “Icarus”',\n a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10: 'Google “Pilot”',\n ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb: 'Google “Rocketeer”',\n bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185: 'Google “Skydiver”',\n '52eb4b225ec896974850675f23e43bc1d021e3214ce52ecd5fa87c203cdfca03': 'Google “Solera2018”',\n '0b760e9a8b9a682f88985b15e947501a56446bba8830785c3842994386450c00': 'Google “Solera2019”',\n '1fc72ce5a1b799f400c359bff96ca3913548e8644220610952e9ba1774f7bac7': 'Google “Solera2020”',\n a3c99845e80ab7ce00157b3742df0207dd272b2b602ecf98ee2c12db9c5ae7e7: 'Google “Solera2021”',\n '697aafca1a6b536fae21205046debad7e0eaea13d2432e6e9d8fb379f2b9aaf3': 'Google “Solera2022”',\n a899d8780c9290aaf462f31880ccfbd52451e970d0fbf591ef75b0d99b645681: 'Google “Submariner”',\n b0cc83e5a5f97d6baf7c09cc284904872ac7e88b132c6350b7c6fd26e16c6c77: 'Google “Testtube”',\n b10cd559a6d67846811f7df9a51532739ac48d703bea0323da5d38755bc0ad4e: 'Google “Xenon2018”',\n '084114980071532c16190460bcfc47fdc2653afa292c72b37ff863ae29ccc9f0': 'Google “Xenon2019”',\n '07b75c1be57d68fff1b0c61d2315c7bae6577c5794b76aeebc613a1a69d3a21c': 'Google “Xenon2020”',\n '7d3ef2f88fff88556824c2c0ca9e5289792bc50e78097f2e6a9768997e22f0d7': 'Google “Xenon2021”',\n '46a555eb75fa912030b5a28969f4f37d112c4174befd49b885abf2fc70fe6d47': 'Google “Xenon2022”',\n '7461b4a09cfb3d41d75159575b2e7649a445a8d27709b0cc564a6482b7eb41a3': 'Izenpe',\n '8941449c70742e06b9fc9ce7b116ba0024aa36d59af44f0204404f00f7ea8566': 'Izenpe “Argi”',\n '296afa2d568bca0d2ea844956ae9721fc35fa355ecda99693aafd458a71aefdd': 'Let“s Encrypt ”Clicky”',\n '537b69a3564335a9c04904e39593b2c298eb8d7a6e83023635c627248cd6b440': 'Nordu “flimsy”',\n aae70b7f3cb8d566c86c2f16979c9f445f69ab0eb4535589b2f77a030104f3cd: 'Nordu “plausible”',\n e0127629e90496564e3d0147984498aa48f8adb16600eb7902a1ef9909906273: 'PuChuangSiDa CT',\n cf55e28923497c340d5206d05353aeb25834b52f1f8dc9526809f212efdd7ca6: 'SHECA CT 1',\n '32dc59c2d4c41968d56e14bc61ac8f0e45db39faf3c155aa4252f5001fa0c623': 'SHECA CT 2',\n db76fdadac65e7d09508886e2159bd8b90352f5fead3e3dc5e22eb350acc7b98: 'Sectigo (Comodo) “Dodo” CT',\n '6f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d913': 'Sectigo (Comodo) “Mammoth” CT',\n '5581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c': 'Sectigo (Comodo) “Sabre” CT',\n '34bb6ad6c3df9c03eea8a499ff7891486c9d5e5cac92d01f7bfd1bce19db48ef': 'StartCom',\n ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc: 'Symantec',\n a7ce4a4e6207e0addee5fdaa4b1f86768767b5d002a55d47310e7e670a95eab2: 'Symantec Deneb',\n '15970488d7b997a05beb52512adee8d2e8b4a3165264121a9fabfbd5f85ad93f': 'Symantec “Sirius”',\n bc78e1dfc5f63c684649334da10fa15f0979692009c081b4f3f6917f3ed9b8a5: 'Symantec “Vega”',\n b0b784bc81c0ddc47544e883f05985bb9077d134d8ab88b2b2e533980b8e508b: 'Up In The Air “Behind the Sofa”',\n ac3b9aed7fa9674757159e6d7d575672f9d98100941e9bdeffeca1313b75782d: 'Venafi',\n '03019df3fd85a69a8ebd1facc6da9ba73e469774fe77f579fc5a08b8328c1d6b': 'Venafi Gen2 CT',\n '41b2dc2e89e63ce4af1ba7bb29bf68c6dee6f9f1cc047e30dffae3b3ba259263': 'WoSign',\n '63d0006026dde10bb0601f452446965ee2b6ea2cd4fbc95ac866a550af9075b7': 'WoSign 2',\n '9e4ff73dc3ce220b69217c899e468076abf8d78636d5ccfc85a31a75628ba88b': 'WoSign CT #1',\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport type { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\n\nimport type { Extension } from '../../../crypto/extension';\nimport logs from '../../../constants/logs';\nimport { dateShort } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTransparencyExtensionProps {\n extension: Extension<CertificateTransparency>;\n}\n\nexport const CertificateTransparencyExtension:\nFunctionalComponent<ICertificateTransparencyExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.items.length) && ([\n <RowValue\n name=\"Signed Certificate Timestamps\"\n value=\"\"\n />,\n extension.value.toJSON().map((signedCertificateTimestamp) => (\n <TableRowTable>\n <RowValue\n name=\"Version\"\n value={signedCertificateTimestamp.version + 1}\n />\n <RowValue\n name=\"Log Operator\"\n value={logs[signedCertificateTimestamp.logId] || signedCertificateTimestamp.logId}\n />\n <RowValue\n name=\"Log Key ID\"\n value={signedCertificateTimestamp.logId}\n monospace\n />\n <RowValue\n name=\"Timestamp\"\n value={dateShort(signedCertificateTimestamp.timestamp)}\n />\n <RowValue\n name=\"Signature Algorithm\"\n value={`${signedCertificateTimestamp.hashAlgorithm} ${signedCertificateTimestamp.signatureAlgorithm}`.toUpperCase()}\n />\n <RowValue\n name=\"Signature\"\n value={signedCertificateTimestamp.signature}\n monospace\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NameConstraints } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface INameConstraintsExtensionProps extends IGeneralNameOptions {\n extension: Extension<NameConstraints>;\n}\n\nexport const NameConstraintsExtension:\nFunctionalComponent<INameConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.excludedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n {extension.value.permittedSubtrees?.map((generalSubtree) => (\n <GeneralNamePart\n generalName={generalSubtree.base}\n {...props}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CertificateTemplate } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICertificateTemplateExtensionProps {\n extension: Extension<CertificateTemplate>;\n}\n\nexport const CertificateTemplateExtension:\nFunctionalComponent<ICertificateTemplateExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Template ID\"\n value={extension.value.templateID}\n />\n <RowValue\n name=\"Template Major Version\"\n value={extension.value.templateMajorVersion}\n />\n <RowValue\n name=\"Template Minor Version\"\n value={extension.value.templateMinorVersion}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { EnrollCertTypeChoice } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEnrollCertTypeChoiceExtensionProps {\n extension: Extension<EnrollCertTypeChoice>;\n}\n\nexport const EnrollCertTypeChoiceExtension:\nFunctionalComponent<IEnrollCertTypeChoiceExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Name\"\n value={extension.value.toString()}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CaVersion } from '@peculiar/asn1-x509-microsoft';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICaVersionExtensionProps {\n extension: Extension<CaVersion>;\n}\n\nexport const CaVersionExtension: FunctionalComponent<ICaVersionExtensionProps> = (props) => {\n const { extension } = props;\n const version = extension.value.getVersion();\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Certificate Index\"\n value={version.certificateIndex}\n />\n <RowValue\n name=\"Key Index\"\n value={version.keyIndex}\n />\n </BasicExtension>\n );\n};\n","var PdsLocations_1, QcEuPDS_1, QcType_1, QcCClegislation_1;\nimport { __decorate } from \"tslib\";\nimport { AsnArray, AsnProp, AsnPropTypes, AsnType, AsnTypeTypes } from \"@peculiar/asn1-schema\";\nlet Iso4217CurrencyCode = class Iso4217CurrencyCode {\n constructor(value) {\n if (typeof value === \"string\") {\n this.alphabetic = value;\n }\n else if (typeof value === \"number\") {\n this.numeric = value;\n }\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"alphabetic\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], Iso4217CurrencyCode.prototype, \"numeric\", void 0);\nIso4217CurrencyCode = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], Iso4217CurrencyCode);\nexport { Iso4217CurrencyCode };\nexport class MonetaryValue {\n constructor(params = {}) {\n this.currency = new Iso4217CurrencyCode();\n this.amount = 0;\n this.exponent = 0;\n Object.assign(this, params);\n }\n}\n__decorate([\n AsnProp({ type: Iso4217CurrencyCode })\n], MonetaryValue.prototype, \"currency\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"amount\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], MonetaryValue.prototype, \"exponent\", void 0);\nlet QcEuLimitValue = class QcEuLimitValue extends MonetaryValue {\n};\nQcEuLimitValue = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], QcEuLimitValue);\nexport { QcEuLimitValue };\nlet QcEuRetentionPeriod = class QcEuRetentionPeriod {\n constructor(value = 0) {\n this.value = value;\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.Integer })\n], QcEuRetentionPeriod.prototype, \"value\", void 0);\nQcEuRetentionPeriod = __decorate([\n AsnType({ type: AsnTypeTypes.Choice })\n], QcEuRetentionPeriod);\nexport { QcEuRetentionPeriod };\nlet PdsLocation = class PdsLocation {\n constructor(params = {}) {\n this.url = \"\";\n this.language = \"\";\n Object.assign(this, params);\n }\n};\n__decorate([\n AsnProp({ type: AsnPropTypes.IA5String })\n], PdsLocation.prototype, \"url\", void 0);\n__decorate([\n AsnProp({ type: AsnPropTypes.PrintableString })\n], PdsLocation.prototype, \"language\", void 0);\nPdsLocation = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence })\n], PdsLocation);\nexport { PdsLocation };\nlet PdsLocations = PdsLocations_1 = class PdsLocations extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, PdsLocations_1.prototype);\n }\n};\nPdsLocations = PdsLocations_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], PdsLocations);\nexport { PdsLocations };\nlet QcEuPDS = QcEuPDS_1 = class QcEuPDS extends PdsLocations {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcEuPDS_1.prototype);\n }\n};\nQcEuPDS = QcEuPDS_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: PdsLocation })\n], QcEuPDS);\nexport { QcEuPDS };\nlet QcType = QcType_1 = class QcType extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcType_1.prototype);\n }\n};\nQcType = QcType_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.ObjectIdentifier })\n], QcType);\nexport { QcType };\nlet QcCClegislation = QcCClegislation_1 = class QcCClegislation extends AsnArray {\n constructor(items) {\n super(items);\n Object.setPrototypeOf(this, QcCClegislation_1.prototype);\n }\n};\nQcCClegislation = QcCClegislation_1 = __decorate([\n AsnType({ type: AsnTypeTypes.Sequence, itemType: AsnPropTypes.PrintableString })\n], QcCClegislation);\nexport { QcCClegislation };\nexport const id_etsi_qcs = \"0.4.0.1862.1\";\nexport const id_etsi_qcs_qcCompliance = `${id_etsi_qcs}.1`;\nexport const id_etsi_qcs_qcLimitValue = `${id_etsi_qcs}.2`;\nexport const id_etsi_qcs_qcRetentionPeriod = `${id_etsi_qcs}.3`;\nexport const id_etsi_qcs_qcSSCD = `${id_etsi_qcs}.4`;\nexport const id_etsi_qcs_qcPDS = `${id_etsi_qcs}.5`;\nexport const id_etsi_qcs_qcType = `${id_etsi_qcs}.6`;\nexport const id_etsi_qcs_qcCClegislation = `${id_etsi_qcs}.7`;\nexport const id_etsi_qct_esign = `${id_etsi_qcs_qcType}.1`;\nexport const id_etsi_qct_eseal = `${id_etsi_qcs_qcType}.2`;\nexport const id_etsi_qct_web = `${id_etsi_qcs_qcType}.3`;\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n QCStatements,\n id_qcs_pkixQCSyntax_v2,\n SemanticsInformation,\n} from '@peculiar/asn1-x509-qualified';\nimport {\n id_etsi_qcs_qcType,\n QcType,\n id_etsi_qcs_qcPDS,\n PdsLocations,\n id_etsi_qcs_qcRetentionPeriod,\n QcEuRetentionPeriod,\n} from '@peculiar/asn1-x509-qualified-etsi';\nimport { AsnParser } from '@peculiar/asn1-schema';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IQCStatementsExtensionProps {\n extension: Extension<QCStatements>;\n}\n\nexport const QCStatementsExtension: FunctionalComponent<IQCStatementsExtensionProps> = (props) => {\n const { extension } = props;\n\n function renderStatementInfo(statementId: string, statementInfo: ArrayBuffer) {\n if (!statementInfo.byteLength) {\n return null;\n }\n\n if (statementId === id_qcs_pkixQCSyntax_v2) {\n const semanticsInformation = AsnParser.parse(statementInfo, SemanticsInformation);\n\n return (\n <RowValue\n name=\"Semantics Identifier\"\n value={getStringByOID(semanticsInformation.semanticsIdentifier)}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcType) {\n const qcTypes = AsnParser.parse(statementInfo, QcType);\n\n return (\n <RowValue\n name=\"QC Types\"\n value={qcTypes.map((type) => getStringByOID(type)).join(', ')}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcRetentionPeriod) {\n const retentionPeriod = AsnParser.parse(statementInfo, QcEuRetentionPeriod);\n\n return (\n <RowValue\n name=\"Retention Period\"\n value={`${retentionPeriod.value} years`}\n />\n );\n }\n\n if (statementId === id_etsi_qcs_qcPDS) {\n const pdsLocations = AsnParser.parse(statementInfo, PdsLocations);\n\n return ([\n <RowValue\n name=\"PDS Locations\"\n value=\"\"\n />,\n pdsLocations.map((location) => (\n <TableRowTable>\n <RowValue\n name=\"URL\"\n value={location.url}\n />\n <RowValue\n name=\"Language\"\n value={location.language}\n />\n </TableRowTable>\n )),\n ]);\n }\n\n return (\n <RowValue\n name=\"Info\"\n value={Convert.ToHex(statementInfo)}\n monospace\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Statements\"\n value=\"\"\n />,\n extension.value.map((statement) => (\n <TableRowTable>\n <RowValue\n name=\"Statement ID\"\n value={getStringByOID(statement.statementId)}\n />\n {renderStatementInfo(statement.statementId, statement.statementInfo)}\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeComment } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCommentExtensionProps {\n extension: Extension<NetscapeComment>;\n}\n\nexport const NetscapeCommentExtension:\nFunctionalComponent<INetscapeCommentExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Comment\"\n value={extension.value.value}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { NetscapeCertType } from '@peculiar/asn1-x509-netscape';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface INetscapeCertTypeExtensionProps {\n extension: Extension<NetscapeCertType>;\n}\n\nexport const NetscapeCertTypeExtension:\nFunctionalComponent<INetscapeCertTypeExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Type\"\n value={extension.value.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { LeiRole } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiRoleExtensionProps {\n extension: Extension<LeiRole>;\n}\n\nexport const LeiRoleExtension: FunctionalComponent<ILeiRoleExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Role\"\n value={extension.value.text}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { LeiChoice } from '@peculiar/asn1-lei';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILeiExtensionProps extends ILeiOptions {\n extension: Extension<LeiChoice>;\n}\n\nexport const LeiExtension: FunctionalComponent<ILeiExtensionProps> = (props) => {\n const { extension, getLEILink } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Identifier\"\n value={extension.value.text}\n href={getLEILink(extension.value.text)}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { Timestamp } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface ITimestampExtensionProps extends IGeneralNameOptions {\n extension: Extension<Timestamp>;\n}\n\nexport const TimestampExtension: FunctionalComponent<ITimestampExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n <GeneralNamePart\n generalName={extension.value.location}\n {...props}\n />\n <RowValue\n name=\"Requires Auth\"\n value={extension.value.requiresAuth ? l10n.getString('yes') : l10n.getString('no')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IArchiveRevInfoExtensionProps {\n extension: Extension<ArchiveRevInfo>;\n}\n\nexport const ArchiveRevInfoExtension:\nFunctionalComponent<IArchiveRevInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.version}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLReason } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLReasonExtensionProps {\n extension: Extension<CRLReason>;\n}\n\nexport const CRLReasonExtension: FunctionalComponent<ICRLReasonExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Reason\"\n value={extension.value.toJSON()}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { Convert } from 'pvtsutils';\nimport { Attribute } from '@peculiar/asn1-x509';\n\nexport function getAttributeValue(attribute: Attribute) {\n return Convert.ToString(attribute.values[0]);\n}\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { SubjectDirectoryAttributes } from '@peculiar/asn1-x509';\n\nimport { Extension } from '../../../crypto/extension';\nimport { getStringByOID } from '../../../utils';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { getAttributeValue } from './attribute_value';\n\ninterface ISubjectDirectoryAttributesExtensionProps {\n extension: Extension<SubjectDirectoryAttributes>;\n}\n\nexport const SubjectDirectoryAttributesExtension:\nFunctionalComponent<ISubjectDirectoryAttributesExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Attributes\"\n value=\"\"\n />,\n extension.value.map((attribute) => (\n <TableRowTable>\n <RowValue\n name=\"Type\"\n value={getStringByOID(attribute.type)}\n />\n <RowValue\n name=\"Value\"\n value={getAttributeValue(attribute)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IAsStringExtensionProps {\n extension: Extension<string>;\n}\n\nexport const AsStringExtension: FunctionalComponent<IAsStringExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Value\"\n value={extension.value}\n monospace\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PrivateKeyUsagePeriod } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { dateShort } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPrivateKeyUsagePeriodExtensionProps {\n extension: Extension<PrivateKeyUsagePeriod>;\n}\n\nexport const PrivateKeyUsagePeriodExtension:\nFunctionalComponent<IPrivateKeyUsagePeriodExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Not Before\"\n value={dateShort(extension.value.notBefore)}\n />\n <RowValue\n name=\"Not After\"\n value={dateShort(extension.value.notAfter)}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { EntrustVersionInfo } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IEntrustVersionInfoExtensionProps {\n extension: Extension<EntrustVersionInfo>;\n}\n\nexport const EntrustVersionInfoExtension:\nFunctionalComponent<IEntrustVersionInfoExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name=\"Version\"\n value={extension.value.entrustVers}\n />\n <RowValue\n name=\"Info Flags\"\n value={extension.value.entrustInfoFlags.toJSON().join(', ')}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IBiometricSyntaxExtensionProps {\n extension: Extension<BiometricSyntax>;\n}\n\nexport const BiometricSyntaxExtension:\nFunctionalComponent<IBiometricSyntaxExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Boolean(extension.value.length) && ([\n <RowValue\n name=\"Biometrics\"\n value=\"\"\n />,\n extension.value.map((data) => (\n <TableRowTable>\n <RowValue\n name=\"OID\"\n value={getStringByOID(data.typeOfBiometricData.biometricDataOid)}\n />\n <RowValue\n name=\"Type\"\n value={data.typeOfBiometricData.predefinedBiometricType}\n />\n <RowValue\n name=\"Algorithm\"\n value={getStringByOID(data.hashAlgorithm.algorithm)}\n />\n <RowValue\n name=\"Hash\"\n value={Convert.ToHex(data.biometricDataHash.buffer)}\n monospace\n />\n <RowValue\n name=\"Source Uri\"\n value={data.sourceDataUri}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n LogotypeExtn,\n LogotypeInfo,\n LogotypeImage,\n LogotypeAudio,\n} from '@peculiar/asn1-x509-logotype';\nimport { Convert } from 'pvtsutils';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ILogotypeExtensionProps {\n extension: Extension<LogotypeExtn>;\n}\n\nexport const LogotypeExtension: FunctionalComponent<ILogotypeExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderImage = (image?: LogotypeImage[]) => {\n if (!image) {\n return null;\n }\n\n return image.map((img) => {\n const { imageDetails } = img;\n\n return [\n <RowValue\n name=\"Image Type\"\n value={imageDetails.mediaType}\n />,\n <RowValue\n name=\"Image Hash\"\n value={Convert.ToHex(imageDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Image URL\"\n value={imageDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Image Hash Algorithm\"\n value={getStringByOID(imageDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderAudio = (audio?: LogotypeAudio[]) => {\n if (!audio) {\n return null;\n }\n\n return audio.map((aud) => {\n const { audioDetails } = aud;\n\n return [\n <RowValue\n name=\"Audio Type\"\n value={audioDetails.mediaType}\n />,\n <RowValue\n name=\"Audio Hash\"\n value={Convert.ToHex(audioDetails.logotypeHash[0].hashValue)}\n monospace\n />,\n <RowValue\n name=\"Audio URL\"\n value={audioDetails.logotypeURI[0]}\n monospace\n collapse\n />,\n <RowValue\n name=\"Audio Hash Algorithm\"\n value={getStringByOID(audioDetails.logotypeHash[0].hashAlg.algorithm)}\n />,\n ];\n });\n };\n\n const renderLogo = (title: string, info?: LogotypeInfo) => {\n if (!info || !info.direct) {\n return null;\n }\n\n const { image, audio } = info.direct;\n\n return [\n <RowValue\n name=\"Type\"\n value={title}\n />,\n renderImage(image),\n renderAudio(audio),\n <tr>\n <td />\n <td />\n </tr>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n {renderLogo('Subject', extension.value.subjectLogo)}\n {renderLogo('Issuer', extension.value.issuerLogo)}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\n\nimport { RowValue, TableRowTable } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ITNAuthListExtensionProps {\n extension: Extension<TNAuthorizationList>;\n}\n\nexport const TNAuthListExtension: FunctionalComponent<ITNAuthListExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Entries\"\n value=\"\"\n />,\n extension.value.map((entry) => (\n <TableRowTable>\n <RowValue\n name=\"SPC\"\n value={entry.spc}\n />\n <RowValue\n name=\"Range\"\n value={entry.range ? `start=${entry.range.start} count==${entry.range.count}` : null}\n />\n <RowValue\n name=\"One\"\n value={entry.one}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyConstraints } from '@peculiar/asn1-x509';\nimport { AsnIntegerArrayBufferConverter } from '@peculiar/asn1-schema';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyConstraintsExtensionProps {\n extension: Extension<PolicyConstraints>;\n}\n\nexport const PolicyConstraintsExtension:\nFunctionalComponent<IPolicyConstraintsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.requireExplicitPolicy && (\n <RowValue\n name=\"Require Explicit Policy\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.requireExplicitPolicy,\n ).valueBlock.toString()}\n />\n )}\n {extension.value.inhibitPolicyMapping && (\n <RowValue\n name=\"Inhibit Policy Mapping\"\n value={AsnIntegerArrayBufferConverter.toASN(\n extension.value.inhibitPolicyMapping,\n ).valueBlock.toString()}\n />\n )}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { PolicyMappings } from '@peculiar/asn1-x509';\n\nimport { getStringByOID } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IPolicyMappingsExtensionProps {\n extension: Extension<PolicyMappings>;\n}\n\nexport const PolicyMappingsExtension:\nFunctionalComponent<IPolicyMappingsExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.length > 0 && ([\n <RowValue\n name=\"Policies\"\n value=\"\"\n />,\n extension.value.map((policy) => (\n <TableRowTable>\n <RowValue\n name=\"Issuer Domain\"\n value={getStringByOID(policy.issuerDomainPolicy)}\n />\n <RowValue\n name=\"Subject Domain\"\n value={getStringByOID(policy.subjectDomainPolicy)}\n />\n </TableRowTable>\n )),\n ])}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { CRLNumber } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface ICRLNumberExtensionProps {\n extension: Extension<CRLNumber>;\n}\n\nexport const CRLNumberExtension: FunctionalComponent<ICRLNumberExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={l10n.getString('value')}\n value={extension.value.value}\n />\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport { IssuingDistributionPoint } from '@peculiar/asn1-x509';\n\nimport { RowValue } from '../row';\nimport { Extension } from '../../../crypto/extension';\nimport { l10n } from '../../../utils';\n\nimport { BasicExtension } from './basic_extension';\nimport { GeneralNamePart } from './general_name_part';\n\ninterface IIssuingDistributionPointExtensionProps extends IGeneralNameOptions {\n extension: Extension<IssuingDistributionPoint>;\n}\n\n// eslint-disable-next-line max-len\nexport const IssuingDistributionPointExtension: FunctionalComponent<IIssuingDistributionPointExtensionProps> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {extension.value.distributionPoint?.fullName.map((gn) => (\n <GeneralNamePart\n generalName={gn}\n {...props}\n />\n ))}\n {extension.value.onlySomeReasons && (\n <RowValue\n name={l10n.getString('onlyReasons')}\n value={extension.value.onlySomeReasons.toJSON().join(', ')}\n />\n )}\n {extension.value.indirectCRL && (\n <RowValue\n name={l10n.getString('indirectCRL')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsUserCerts && (\n <RowValue\n name={l10n.getString('onlyUserCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsAttributeCerts && (\n <RowValue\n name={l10n.getString('onlyAttributeCertificates')}\n value={l10n.getString('yes')}\n />\n )}\n {extension.value.onlyContainsCACerts && (\n <RowValue\n name={l10n.getString('onlyCACertificates')}\n value={l10n.getString('yes')}\n />\n )}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n NonStandardKeyDescription,\n AttestationApplicationId,\n AuthorizationList,\n IntegerSet,\n RootOfTrust,\n} from '@peculiar/asn1-android';\nimport { Convert, BufferSourceConverter } from 'pvtsutils';\nimport { AsnParser } from '@peculiar/asn1-schema';\n\nimport { l10n, camelCaseToWords } from '../../../utils';\nimport { Extension } from '../../../crypto/extension';\nimport { RowValue, TableRowTable } from '../row';\n\nimport { BasicExtension } from './basic_extension';\n\ninterface IKeyDescriptionExtensionProps {\n extension: Extension<NonStandardKeyDescription>;\n}\n\nexport const KeyDescriptionExtension:\nFunctionalComponent<IKeyDescriptionExtensionProps> = (props) => {\n const { extension } = props;\n\n const renderRowValue = (data: Object) => Object.keys(data).map((keyName) => {\n const keyValue = data[keyName];\n let value: string | number | string[] = '';\n\n switch (true) {\n case typeof keyValue === 'string' || typeof keyValue === 'number':\n value = keyValue;\n break;\n\n case keyValue instanceof IntegerSet:\n value = keyValue.join(', ');\n break;\n\n case typeof keyValue === 'boolean':\n value = keyValue\n ? l10n.getString('yes')\n : l10n.getString('no');\n break;\n\n case Object.is(keyValue, null):\n value = 'NULL';\n break;\n\n case keyValue instanceof RootOfTrust:\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n <TableRowTable>\n {renderRowValue(keyValue)}\n </TableRowTable>,\n ];\n\n case BufferSourceConverter.isBufferSource(keyValue):\n if (keyName === 'attestationApplicationId') {\n try {\n const parsed = AsnParser.parse(keyValue, AttestationApplicationId);\n\n if (parsed.packageInfos.length || parsed.signatureDigests.length) {\n return [\n <RowValue\n name={camelCaseToWords(keyName)}\n value=\"\"\n />,\n Boolean(parsed.packageInfos) && (\n <TableRowTable>\n <RowValue\n name={camelCaseToWords('packageInfos')}\n value=\"\"\n />\n {parsed.packageInfos.map((attestationPackageInfo) => (\n <TableRowTable>\n {renderRowValue(attestationPackageInfo)}\n </TableRowTable>\n ))}\n </TableRowTable>\n ),\n ];\n }\n } catch (error) {\n //\n }\n }\n\n try {\n value = Convert.ToString(keyValue);\n } catch (error) {\n value = Convert.ToHex(keyValue);\n }\n\n break;\n\n default:\n }\n\n return (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={value}\n />\n );\n });\n\n const renderAuthorizationList = (title: string, authorizationList: AuthorizationList[]) => {\n if (authorizationList.length === 0) {\n return null;\n }\n\n return [\n <RowValue\n name={title}\n value=\"\"\n />,\n <TableRowTable>\n {authorizationList.map(renderRowValue)}\n </TableRowTable>,\n ];\n };\n\n return (\n <BasicExtension\n extension={extension}\n >\n <RowValue\n name={camelCaseToWords('attestationVersion')}\n value={extension.value.attestationVersion}\n />\n <RowValue\n name={camelCaseToWords('attestationSecurityLevel')}\n value={extension.value.attestationSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('keymasterVersion')}\n value={extension.value.keymasterVersion}\n />\n <RowValue\n name={camelCaseToWords('keymasterSecurityLevel')}\n value={extension.value.keymasterSecurityLevel}\n />\n <RowValue\n name={camelCaseToWords('attestationChallenge')}\n value={Convert.ToString(extension.value.attestationChallenge)}\n />\n <RowValue\n name={camelCaseToWords('uniqueId')}\n value={Convert.ToString(extension.value.uniqueId) || undefined}\n />\n {renderAuthorizationList(camelCaseToWords('softwareEnforced'), extension.value.softwareEnforced)}\n {renderAuthorizationList(camelCaseToWords('teeEnforced'), extension.value.teeEnforced)}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport { Extension } from '../../../crypto/extension';\nimport { CabforganizationIdentifier } from '../../../crypto/extensions';\nimport { RowValue } from '../row';\n\nimport { BasicExtension } from './basic_extension';\nimport { camelCaseToWords } from '../../../utils';\n\ninterface ICabforganizationIdentifierExtensionProps {\n extension: Extension<CabforganizationIdentifier>;\n}\n\nexport const CabforganizationIdentifierExtension: FunctionalComponent<\nICabforganizationIdentifierExtensionProps\n> = (props) => {\n const { extension } = props;\n\n return (\n <BasicExtension\n extension={extension}\n >\n {Object.keys(extension.value).map((keyName) => (\n <RowValue\n name={camelCaseToWords(keyName)}\n value={extension.value[keyName]}\n />\n ))}\n </BasicExtension>\n );\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\nimport {\n KeyUsage,\n BasicConstraints,\n ExtendedKeyUsage,\n SubjectKeyIdentifier,\n AuthorityKeyIdentifier,\n CRLDistributionPoints,\n AuthorityInfoAccessSyntax,\n SubjectAlternativeName,\n CertificatePolicies,\n NameConstraints,\n CRLReason,\n CRLNumber,\n SubjectDirectoryAttributes,\n PrivateKeyUsagePeriod,\n EntrustVersionInfo,\n PolicyConstraints,\n PolicyMappings,\n SubjectInfoAccessSyntax,\n IssuingDistributionPoint,\n} from '@peculiar/asn1-x509';\nimport { CertificateTransparency } from '@peculiar/asn1-cert-transparency';\nimport {\n CertificateTemplate,\n EnrollCertTypeChoice,\n CaVersion,\n} from '@peculiar/asn1-x509-microsoft';\nimport { QCStatements, BiometricSyntax } from '@peculiar/asn1-x509-qualified';\nimport { NetscapeComment, NetscapeCertType } from '@peculiar/asn1-x509-netscape';\nimport { LeiRole, LeiChoice } from '@peculiar/asn1-lei';\nimport { Timestamp, ArchiveRevInfo } from '@peculiar/asn1-adobe-acrobat';\nimport { LogotypeExtn } from '@peculiar/asn1-x509-logotype';\nimport { TNAuthorizationList } from '@peculiar/asn1-rfc8226';\nimport { NonStandardKeyDescription } from '@peculiar/asn1-android';\n\nimport { RowTitle } from '../row';\nimport { Extension, TExtensionValue } from '../../../crypto/extension';\nimport {\n CabforganizationIdentifier,\n} from '../../../crypto/extensions';\n\nimport { KeyUsageExtension } from './key_usage_extension';\nimport { BasicConstraintsExtension } from './basic_constraints_extension';\nimport { ExtendedKeyUsageExtension } from './extended_key_usage_extension';\nimport { SubjectKeyIdentifierExtension } from './subject_key_identifier_extension';\nimport { AuthorityKeyIdentifierExtension } from './authority_key_identifier_extension';\nimport { CRLDistributionPointsExtension } from './crl_distribution_points_extension';\nimport { InfoAccessSyntaxExtension } from './info_access_syntax_extension';\nimport { SubjectAlternativeNameExtension } from './subject_alternative_name_extension';\nimport { CertificatePoliciesExtension } from './certificate_policies_extension';\nimport { CertificateTransparencyExtension } from './certificate_transparency_extension';\nimport { NameConstraintsExtension } from './name_constraints_extension';\nimport { CertificateTemplateExtension } from './certificate_template_extension';\nimport { EnrollCertTypeChoiceExtension } from './enroll_cert_type_extension';\nimport { CaVersionExtension } from './ca_version_extension';\nimport { QCStatementsExtension } from './qc_statements_extension';\nimport { NetscapeCommentExtension } from './netscape_comment_extension';\nimport { NetscapeCertTypeExtension } from './netscape_cert_type_extension';\nimport { LeiRoleExtension } from './lei_role_extennsion';\nimport { LeiExtension } from './lei_extension';\nimport { TimestampExtension } from './timestamp_extension';\nimport { ArchiveRevInfoExtension } from './archive_rev_info_extension';\nimport { CRLReasonExtension } from './crl_reason_extension';\nimport { SubjectDirectoryAttributesExtension } from './subject_directory_attributes_extension';\nimport { AsStringExtension } from './as_string_extension';\nimport { BasicExtension } from './basic_extension';\nimport { PrivateKeyUsagePeriodExtension } from './private_key_usage_period_extension';\nimport { EntrustVersionInfoExtension } from './entrust_version_info_extension';\nimport { BiometricSyntaxExtension } from './biometric_syntax_extension';\nimport { LogotypeExtension } from './logotype_extension';\nimport { TNAuthListExtension } from './tn_auth_list_extension';\nimport { PolicyConstraintsExtension } from './policy_constraints_extension';\nimport { PolicyMappingsExtension } from './policy_mappings_extension';\nimport { CRLNumberExtension } from './crl_number_extension';\nimport { IssuingDistributionPointExtension } from './issuing_distribution_point_extension';\nimport { KeyDescriptionExtension } from './key_description_extension';\nimport { CabforganizationIdentifierExtension } from './cabforganization_identifier_extension';\n\ninterface IExtensionsProps extends\n IGeneralNameOptions,\n ILeiOptions,\n IAuthorityKeyIdentifierOptions,\n ISubjectKeyIdentifierOptions {\n extensions: Extension<TExtensionValue>[];\n title?: string;\n}\n\nexport const Extensions: FunctionalComponent<IExtensionsProps> = (props) => {\n const { extensions, title } = props;\n\n if (!extensions || !extensions.length) {\n return null;\n }\n\n return ([\n <RowTitle\n value={title || 'Extensions'}\n />,\n extensions.map((extension) => {\n try {\n if (extension.value instanceof KeyUsage) {\n return (\n <KeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BasicConstraints) {\n return (\n <BasicConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof ExtendedKeyUsage) {\n return (\n <ExtendedKeyUsageExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectKeyIdentifier) {\n return (\n <SubjectKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof AuthorityKeyIdentifier) {\n return (\n <AuthorityKeyIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CRLDistributionPoints) {\n return (\n <CRLDistributionPointsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (\n extension.value instanceof AuthorityInfoAccessSyntax\n || extension.value instanceof SubjectInfoAccessSyntax\n ) {\n return (\n <InfoAccessSyntaxExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof SubjectAlternativeName) {\n return (\n <SubjectAlternativeNameExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificatePolicies) {\n return (\n <CertificatePoliciesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CertificateTransparency) {\n return (\n <CertificateTransparencyExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NameConstraints) {\n return (\n <NameConstraintsExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CertificateTemplate) {\n return (\n <CertificateTemplateExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EnrollCertTypeChoice) {\n return (\n <EnrollCertTypeChoiceExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CaVersion) {\n return (\n <CaVersionExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof QCStatements) {\n return (\n <QCStatementsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeComment) {\n return (\n <NetscapeCommentExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof NetscapeCertType) {\n return (\n <NetscapeCertTypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiRole) {\n return (\n <LeiRoleExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LeiChoice) {\n return (\n <LeiExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof Timestamp) {\n return (\n <TimestampExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof ArchiveRevInfo) {\n return (\n <ArchiveRevInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLReason) {\n return (\n <CRLReasonExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof SubjectDirectoryAttributes) {\n return (\n <SubjectDirectoryAttributesExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PrivateKeyUsagePeriod) {\n return (\n <PrivateKeyUsagePeriodExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof EntrustVersionInfo) {\n return (\n <EntrustVersionInfoExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof BiometricSyntax) {\n return (\n <BiometricSyntaxExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof LogotypeExtn) {\n return (\n <LogotypeExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof TNAuthorizationList) {\n return (\n <TNAuthListExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyConstraints) {\n return (\n <PolicyConstraintsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof PolicyMappings) {\n return (\n <PolicyMappingsExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof CRLNumber) {\n return (\n <CRLNumberExtension\n extension={extension as any}\n />\n );\n }\n\n if (extension.value instanceof IssuingDistributionPoint) {\n return (\n <IssuingDistributionPointExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof NonStandardKeyDescription) {\n return (\n <KeyDescriptionExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (extension.value instanceof CabforganizationIdentifier) {\n return (\n <CabforganizationIdentifierExtension\n extension={extension as any}\n {...props}\n />\n );\n }\n\n if (typeof extension.value === 'string') {\n return (\n <AsStringExtension\n extension={extension as any}\n />\n );\n }\n\n return (\n <BasicExtension\n extension={extension}\n />\n );\n } catch (error) {\n console.error('Error render extension:', extension.asn.extnID);\n\n return null;\n }\n }),\n ]);\n};\n","/**\n * @license\n * Copyright (c) Peculiar Ventures, LLC.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { h, FunctionalComponent } from '@stencil/core';\n\nimport {\n X509Certificate,\n X509AttributeCertificate,\n Pkcs10CertificateRequest,\n X509Crl,\n} from '../../crypto';\nimport { l10n } from '../../utils';\nimport { Button } from '../button';\nimport { DownloadIcon } from '../icons';\nimport { RowTitle } from './row';\n\ntype CertificateType = X509Certificate\n| X509AttributeCertificate\n| Pkcs10CertificateRequest\n| X509Crl;\n\ninterface IMiscellaneousProps {\n certificate: CertificateType;\n}\n\nexport const Miscellaneous: FunctionalComponent<IMiscellaneousProps> = (props) => {\n const { certificate } = props;\n\n return [\n <RowTitle\n value={l10n.getString('miscellaneous')}\n />,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsPEM()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.pem')}\n </Button>\n </td>\n </tr>,\n <tr>\n <td>\n <Button\n onClick={() => certificate.downloadAsDER()}\n startIcon={<DownloadIcon />}\n >\n {l10n.getString('download.der')}\n </Button>\n </td>\n </tr>,\n ];\n};\n"],"version":3}
|