@peculiar/certificates-viewer 3.2.1 → 3.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.
Files changed (106) hide show
  1. package/dist/cjs/{certification_request-cde57123.js → certification_request-e1997ebf.js} +563 -133
  2. package/dist/cjs/crl-f1ee43bc.js +312 -0
  3. package/dist/cjs/{index-ff818d4d.js → download-a97f4cb2.js} +106 -2
  4. package/dist/cjs/index.cjs.js +1 -3
  5. package/dist/cjs/l10n-638a7577.js +167 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/{peculiar-attribute-certificate-viewer_2.cjs.entry.js → peculiar-attribute-certificate-viewer_3.cjs.entry.js} +123 -21
  8. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +25 -15
  9. package/dist/cjs/peculiar-certificate-summary_3.cjs.entry.js +2 -2
  10. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +6 -25
  11. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +6 -8
  12. package/dist/cjs/peculiar.cjs.js +1 -1
  13. package/dist/cjs/{public_key-2f5bd471.js → public_key-ba538d77.js} +80 -40
  14. package/dist/cjs/{x509_certificate-51a97033.js → x509_certificate-42b478d2.js} +13 -7
  15. package/dist/collection/collection-manifest.json +1 -0
  16. package/dist/collection/components/certificate-decoder/certificate-decoder.js +19 -6
  17. package/dist/collection/components/certificate-viewer/attributes/type_relationship_attribute.js +2 -1
  18. package/dist/collection/components/certificate-viewer/basic_information.js +3 -1
  19. package/dist/collection/components/certificate-viewer/extensions/basic_constraints_extension.js +2 -1
  20. package/dist/collection/components/certificate-viewer/extensions/basic_extension.js +2 -1
  21. package/dist/collection/components/certificate-viewer/extensions/crl_number_extension.js +19 -0
  22. package/dist/collection/components/certificate-viewer/extensions/index.js +9 -1
  23. package/dist/collection/components/certificate-viewer/extensions/issuing_distribution_point_extension.js +27 -0
  24. package/dist/collection/components/certificate-viewer/extensions/timestamp_extension.js +2 -1
  25. package/dist/collection/components/certificate-viewer/miscellaneous.js +2 -20
  26. package/dist/collection/components/certificates-viewer/certificates-viewer.js +2 -3
  27. package/dist/collection/components/crl-viewer/crl-viewer.js +234 -0
  28. package/dist/collection/components/crl-viewer/revoked_certificates.js +27 -0
  29. package/dist/collection/crypto/crl.js +82 -0
  30. package/dist/collection/crypto/csr.js +7 -0
  31. package/dist/collection/crypto/extension.js +10 -1
  32. package/dist/collection/crypto/index.js +1 -0
  33. package/dist/collection/crypto/x509_attribute_certificate.js +7 -1
  34. package/dist/collection/crypto/x509_certificate.js +7 -1
  35. package/dist/collection/locales/en.json +12 -1
  36. package/dist/collection/utils/download.js +18 -2
  37. package/dist/collection/utils/index.js +1 -0
  38. package/dist/collection/utils/validator.js +2 -0
  39. package/dist/esm/{certification_request-c0674647.js → certification_request-5d982d92.js} +493 -66
  40. package/dist/esm/crl-f2110716.js +308 -0
  41. package/dist/esm/{index-0ba131b0.js → download-67ac9120.js} +102 -2
  42. package/dist/esm/index.js +1 -3
  43. package/dist/esm/{l10n-ac28fa92.js → l10n-da0dd100.js} +24 -2
  44. package/dist/esm/loader.js +1 -1
  45. package/dist/esm/{peculiar-attribute-certificate-viewer_2.entry.js → peculiar-attribute-certificate-viewer_3.entry.js} +113 -12
  46. package/dist/esm/peculiar-certificate-decoder.entry.js +21 -11
  47. package/dist/esm/peculiar-certificate-summary_3.entry.js +2 -2
  48. package/dist/esm/peculiar-certificate-viewer.entry.js +6 -25
  49. package/dist/esm/peculiar-certificates-viewer.entry.js +6 -8
  50. package/dist/esm/peculiar.js +1 -1
  51. package/dist/esm/{public_key-38c9ddc8.js → public_key-0a3091a5.js} +67 -28
  52. package/dist/esm/{x509_certificate-12f6d344.js → x509_certificate-6b243207.js} +9 -3
  53. package/dist/peculiar/index.esm.js +1 -1
  54. package/dist/peculiar/locales/en.json +12 -1
  55. package/dist/peculiar/p-34e2d6be.entry.js +11 -0
  56. package/dist/peculiar/p-35e7a514.js +12 -0
  57. package/dist/peculiar/p-3aea9dde.js +32 -0
  58. package/dist/peculiar/{p-38635919.entry.js → p-49ab6f8c.entry.js} +1 -1
  59. package/dist/peculiar/p-86116b1f.entry.js +4 -0
  60. package/dist/peculiar/{p-464e0943.js → p-bce2bbe0.js} +9 -9
  61. package/dist/peculiar/p-ca0c34ca.entry.js +26 -0
  62. package/dist/peculiar/p-cff9655c.js +18 -0
  63. package/dist/peculiar/{p-17c4da7b.js → p-db6e24c6.js} +2 -2
  64. package/dist/peculiar/p-e535a666.entry.js +4 -0
  65. package/dist/peculiar/p-f8dc3232.js +63 -0
  66. package/dist/peculiar/peculiar.esm.js +1 -1
  67. package/dist/types/components/certificate-decoder/certificate-decoder.d.ts +3 -3
  68. package/dist/types/components/certificate-viewer/basic_information.d.ts +2 -0
  69. package/dist/types/components/certificate-viewer/extensions/crl_number_extension.d.ts +15 -0
  70. package/dist/types/components/certificate-viewer/extensions/issuing_distribution_point_extension.d.ts +15 -0
  71. package/dist/types/components/certificate-viewer/miscellaneous.d.ts +2 -2
  72. package/dist/types/components/certificate-viewer/row.d.ts +1 -1
  73. package/dist/types/components/crl-viewer/crl-viewer.d.ts +59 -0
  74. package/dist/types/components/crl-viewer/revoked_certificates.d.ts +14 -0
  75. package/dist/types/components.d.ts +66 -0
  76. package/dist/types/crypto/crl.d.ts +28 -0
  77. package/dist/types/crypto/csr.d.ts +2 -0
  78. package/dist/types/crypto/extension.d.ts +2 -2
  79. package/dist/types/crypto/index.d.ts +1 -0
  80. package/dist/types/crypto/x509_attribute_certificate.d.ts +2 -0
  81. package/dist/types/crypto/x509_certificate.d.ts +2 -0
  82. package/dist/types/utils/download.d.ts +10 -2
  83. package/dist/types/utils/index.d.ts +1 -0
  84. package/dist/types/utils/l10n.d.ts +11 -0
  85. package/dist/types/utils/validator.d.ts +1 -0
  86. package/package.json +19 -19
  87. package/dist/cjs/_commonjsHelpers-cb1f949a.js +0 -23
  88. package/dist/cjs/csr-78378ed0.js +0 -150
  89. package/dist/cjs/download-6724f3a7.js +0 -79
  90. package/dist/cjs/l10n-a048a686.js +0 -145
  91. package/dist/cjs/x509_attribute_certificate-cc325b70.js +0 -87
  92. package/dist/esm/_commonjsHelpers-bfbd2ad8.js +0 -20
  93. package/dist/esm/csr-c1b6a176.js +0 -147
  94. package/dist/esm/download-735fb2eb.js +0 -76
  95. package/dist/esm/x509_attribute_certificate-a6d4aa15.js +0 -85
  96. package/dist/peculiar/p-006865d7.js +0 -4
  97. package/dist/peculiar/p-3f8d1008.entry.js +0 -4
  98. package/dist/peculiar/p-42da7f97.js +0 -11
  99. package/dist/peculiar/p-4f4c1d30.js +0 -12
  100. package/dist/peculiar/p-6011646e.entry.js +0 -11
  101. package/dist/peculiar/p-6bfd077c.entry.js +0 -18
  102. package/dist/peculiar/p-6c510523.js +0 -18
  103. package/dist/peculiar/p-986cc770.entry.js +0 -11
  104. package/dist/peculiar/p-b765873e.js +0 -78
  105. package/dist/peculiar/p-d0b55fbb.js +0 -4
  106. package/dist/peculiar/p-d7a13cb4.js +0 -18
@@ -0,0 +1,312 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const certification_request = require('./certification_request-e1997ebf.js');
7
+ const download = require('./download-a97f4cb2.js');
8
+ const l10n = require('./l10n-638a7577.js');
9
+
10
+ /**
11
+ * @license
12
+ * Copyright (c) Peculiar Ventures, LLC.
13
+ *
14
+ * This source code is licensed under the MIT license found in the
15
+ * LICENSE file in the root directory of this source tree.
16
+ */
17
+ class Attribute extends certification_request.AsnData {
18
+ constructor(raw) {
19
+ super(raw, certification_request.Attribute);
20
+ const asnExtnValue = this.getAsnExtnValue();
21
+ switch (this.asn.type) {
22
+ case certification_request.id_DomainNameBeneficiary:
23
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.DomainNameBeneficiary);
24
+ break;
25
+ case certification_request.id_DomainNameLegalRepresentative:
26
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.DomainNameLegalRepresentative);
27
+ break;
28
+ case certification_request.id_DomainNameOwner:
29
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.DomainNameOwner);
30
+ break;
31
+ case certification_request.id_DomainNameTechnicalOperator:
32
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.DomainNameTechnicalOperator);
33
+ break;
34
+ case certification_request.id_TypeRelationship:
35
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.TypeRelationship);
36
+ break;
37
+ case certification_request.id_ActivityDescription:
38
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.ActivityDescription);
39
+ break;
40
+ case certification_request.id_WebGDPR:
41
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.WebGDPR);
42
+ break;
43
+ case certification_request.id_InsuranceValue:
44
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.InsuranceValue);
45
+ break;
46
+ case certification_request.id_ValuationRanking:
47
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.ValuationRanking);
48
+ break;
49
+ case certification_request.id_pkcs9_at_challengePassword:
50
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.ChallengePassword);
51
+ break;
52
+ case certification_request.id_pkcs9_at_unstructuredName:
53
+ this.value = certification_request.AsnParser.parse(asnExtnValue, certification_request.UnstructuredName);
54
+ break;
55
+ case certification_request.id_pkcs9_at_extensionRequest: {
56
+ const extensionRequest = certification_request.AsnParser.parse(asnExtnValue, certification_request.ExtensionRequest);
57
+ this.value = extensionRequest
58
+ .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
59
+ break;
60
+ }
61
+ default:
62
+ this.value = download.build.Convert.ToHex(asnExtnValue);
63
+ }
64
+ }
65
+ getAsnExtnValue() {
66
+ return this.asn.values[0];
67
+ }
68
+ }
69
+
70
+ /**
71
+ * @license
72
+ * Copyright (c) Peculiar Ventures, LLC.
73
+ *
74
+ * This source code is licensed under the MIT license found in the
75
+ * LICENSE file in the root directory of this source tree.
76
+ */
77
+ class X509AttributeCertificate extends certification_request.AsnData {
78
+ constructor(raw) {
79
+ var _a;
80
+ super(certification_request.certificateRawToBuffer(raw), certification_request.AttributeCertificate);
81
+ this.thumbprints = {};
82
+ this.type = 'X.509 Attribute Certificate';
83
+ const { acinfo } = this.asn;
84
+ this.serialNumber = download.build.Convert.ToHex(acinfo.serialNumber);
85
+ this.version = acinfo.version;
86
+ const notBefore = acinfo.attrCertValidityPeriod.notBeforeTime;
87
+ if (!notBefore) {
88
+ throw new Error("Cannot get 'notBefore' value");
89
+ }
90
+ this.notBefore = notBefore;
91
+ const notAfter = acinfo.attrCertValidityPeriod.notAfterTime;
92
+ if (!notAfter) {
93
+ throw new Error("Cannot get 'notAfter' value");
94
+ }
95
+ this.notAfter = notAfter;
96
+ this.validity = l10n.dateDiff(this.notBefore, this.notAfter);
97
+ this.issuer = acinfo.issuer.v1Form || ((_a = acinfo.issuer.v2Form) === null || _a === void 0 ? void 0 : _a.issuerName);
98
+ this.holder = acinfo.holder;
99
+ }
100
+ get signature() {
101
+ const { signatureValue, signatureAlgorithm } = this.asn;
102
+ return {
103
+ value: signatureValue,
104
+ algorithm: signatureAlgorithm.algorithm,
105
+ };
106
+ }
107
+ parseExtensions() {
108
+ const { acinfo } = this.asn;
109
+ if (acinfo.extensions) {
110
+ this.extensions = acinfo.extensions
111
+ .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
112
+ }
113
+ }
114
+ parseAttributes() {
115
+ const { acinfo } = this.asn;
116
+ if (acinfo.attributes) {
117
+ this.attributes = acinfo.attributes
118
+ .map((e) => new Attribute(certification_request.AsnConvert.serialize(e)));
119
+ }
120
+ }
121
+ async getThumbprint(algorithm = 'SHA-1') {
122
+ try {
123
+ const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
124
+ if (thumbprint) {
125
+ this.thumbprints[algorithm['name'] || algorithm] = download.build.Convert.ToHex(thumbprint);
126
+ }
127
+ }
128
+ catch (error) {
129
+ console.error('Error thumbprint get:', error);
130
+ }
131
+ }
132
+ exportAsBase64() {
133
+ return download.build.Convert.ToBase64(this.raw);
134
+ }
135
+ exportAsHexFormatted() {
136
+ return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
137
+ }
138
+ exportAsPemFormatted() {
139
+ return `-----BEGIN ATTRIBUTE CERTIFICATE-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END ATTRIBUTE CERTIFICATE-----`;
140
+ }
141
+ get commonName() {
142
+ return `attribute-certificate-${this.thumbprints['SHA-1']}`;
143
+ }
144
+ downloadAsPEM(name) {
145
+ download.Download.attrCert.asPEM(this.exportAsPemFormatted(), name || this.commonName);
146
+ }
147
+ downloadAsDER(name) {
148
+ download.Download.attrCert.asDER(this.exportAsHexFormatted(), name || this.commonName);
149
+ }
150
+ }
151
+
152
+ /**
153
+ * @license
154
+ * Copyright (c) Peculiar Ventures, LLC.
155
+ *
156
+ * This source code is licensed under the MIT license found in the
157
+ * LICENSE file in the root directory of this source tree.
158
+ */
159
+ class CSR extends certification_request.AsnData {
160
+ constructor(raw) {
161
+ super(certification_request.certificateRawToBuffer(raw), certification_request.CertificationRequest);
162
+ this.thumbprints = {};
163
+ this.type = 'PKCS#10 Certificate Request';
164
+ const { certificationRequestInfo } = this.asn;
165
+ this.subject = new certification_request.Name(certificationRequestInfo.subject).toJSON();
166
+ this.version = certificationRequestInfo.version;
167
+ }
168
+ get publicKey() {
169
+ const { subjectPublicKey, algorithm } = this.asn.certificationRequestInfo.subjectPKInfo;
170
+ let params;
171
+ if (algorithm.algorithm === certification_request.id_ecPublicKey && algorithm.parameters) {
172
+ params = certification_request.AsnConvert.parse(algorithm.parameters, certification_request.ECParameters);
173
+ }
174
+ if (algorithm.algorithm === certification_request.id_rsaEncryption) {
175
+ params = certification_request.AsnConvert.parse(subjectPublicKey, certification_request.RSAPublicKey);
176
+ }
177
+ const spki = certification_request.AsnConvert.serialize(this.asn.certificationRequestInfo.subjectPKInfo);
178
+ return {
179
+ params,
180
+ value: spki,
181
+ algorithm: algorithm.algorithm,
182
+ };
183
+ }
184
+ get signature() {
185
+ const { signature, signatureAlgorithm } = this.asn;
186
+ return {
187
+ value: signature,
188
+ algorithm: signatureAlgorithm.algorithm,
189
+ };
190
+ }
191
+ get commonName() {
192
+ if (!this.subject) {
193
+ return '';
194
+ }
195
+ for (let i = 0; i < this.subject.length; i += 1) {
196
+ const name = this.subject[i];
197
+ if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
198
+ return name.value;
199
+ }
200
+ }
201
+ return '';
202
+ }
203
+ async getThumbprint(algorithm = 'SHA-1') {
204
+ try {
205
+ const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
206
+ if (thumbprint) {
207
+ this.thumbprints[algorithm['name'] || algorithm] = download.build.Convert.ToHex(thumbprint);
208
+ }
209
+ }
210
+ catch (error) {
211
+ console.error('Error thumbprint get:', error);
212
+ }
213
+ }
214
+ parseAttributes() {
215
+ const { certificationRequestInfo } = this.asn;
216
+ if (certificationRequestInfo.attributes) {
217
+ this.attributes = certificationRequestInfo.attributes
218
+ .map((e) => new Attribute(certification_request.AsnConvert.serialize(e)));
219
+ }
220
+ }
221
+ exportAsBase64() {
222
+ return download.build.Convert.ToBase64(this.raw);
223
+ }
224
+ exportAsHexFormatted() {
225
+ return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
226
+ }
227
+ exportAsPemFormatted() {
228
+ return `-----BEGIN CERTIFICATE REQUEST-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END CERTIFICATE REQUEST-----`;
229
+ }
230
+ downloadAsPEM(name) {
231
+ download.Download.csr.asPEM(this.exportAsPemFormatted(), name || this.commonName);
232
+ }
233
+ downloadAsDER(name) {
234
+ download.Download.csr.asDER(this.exportAsHexFormatted(), name || this.commonName);
235
+ }
236
+ }
237
+
238
+ /**
239
+ * @license
240
+ * Copyright (c) Peculiar Ventures, LLC.
241
+ *
242
+ * This source code is licensed under the MIT license found in the
243
+ * LICENSE file in the root directory of this source tree.
244
+ */
245
+ class CRL extends certification_request.AsnData {
246
+ constructor(raw) {
247
+ super(certification_request.certificateRawToBuffer(raw), certification_request.CertificateList);
248
+ this.thumbprints = {};
249
+ this.type = 'X.509 Certificate Revocation List';
250
+ const { tbsCertList } = this.asn;
251
+ this.issuer = new certification_request.Name(tbsCertList.issuer).toJSON();
252
+ this.version = tbsCertList.version + 1;
253
+ this.lastUpdate = tbsCertList.thisUpdate.getTime();
254
+ this.nextUpdate = tbsCertList.nextUpdate.getTime();
255
+ }
256
+ async getThumbprint(algorithm = 'SHA-1') {
257
+ try {
258
+ const thumbprint = await certification_request.getCertificateThumbprint(algorithm, this.raw);
259
+ if (thumbprint) {
260
+ this.thumbprints[algorithm['name'] || algorithm] = download.build.Convert.ToHex(thumbprint);
261
+ }
262
+ }
263
+ catch (error) {
264
+ console.error('Error thumbprint get:', error);
265
+ }
266
+ }
267
+ get signature() {
268
+ const { signature, signatureAlgorithm } = this.asn;
269
+ return {
270
+ value: signature,
271
+ algorithm: signatureAlgorithm.algorithm,
272
+ };
273
+ }
274
+ get commonName() {
275
+ if (!this.issuer) {
276
+ return '';
277
+ }
278
+ for (let i = 0; i < this.issuer.length; i += 1) {
279
+ const name = this.issuer[i];
280
+ if (name.shortName === 'CN' || name.shortName === 'E' || name.shortName === 'O') {
281
+ return name.value;
282
+ }
283
+ }
284
+ return '';
285
+ }
286
+ parseExtensions() {
287
+ const { tbsCertList } = this.asn;
288
+ if (tbsCertList.crlExtensions) {
289
+ this.extensions = tbsCertList.crlExtensions
290
+ .map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e)));
291
+ }
292
+ }
293
+ exportAsBase64() {
294
+ return download.build.Convert.ToBase64(this.raw);
295
+ }
296
+ exportAsHexFormatted() {
297
+ return certification_request.hexFormat(download.build.Convert.ToHex(this.raw));
298
+ }
299
+ exportAsPemFormatted() {
300
+ return `-----BEGIN X509 CRL-----\n${certification_request.base64Format(this.exportAsBase64())}\n-----END X509 CRL-----`;
301
+ }
302
+ downloadAsPEM(name) {
303
+ download.Download.crl.asPEM(this.exportAsPemFormatted(), name || this.commonName);
304
+ }
305
+ downloadAsDER(name) {
306
+ download.Download.crl.asDER(this.exportAsHexFormatted(), name || this.commonName);
307
+ }
308
+ }
309
+
310
+ exports.CRL = CRL;
311
+ exports.CSR = CSR;
312
+ exports.X509AttributeCertificate = X509AttributeCertificate;
@@ -3,9 +3,67 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const _commonjsHelpers = require('./_commonjsHelpers-cb1f949a.js');
6
+ /**
7
+ * @license
8
+ * Copyright (c) Peculiar Ventures, LLC.
9
+ *
10
+ * This source code is licensed under the MIT license found in the
11
+ * LICENSE file in the root directory of this source tree.
12
+ */
13
+ /**
14
+ * Download from buffer
15
+ *
16
+ * @example
17
+ * ```js
18
+ * import { downloadFromBuffer } from './utils';
19
+ *
20
+ * downloadFromBuffer(arrayBufferValue, 'myFile', 'pdf', 'applciation/pdf');
21
+ * ```
22
+ */
23
+ function downloadFromBuffer(value, name, extension, mime = 'application/octet-stream') {
24
+ const blob = new Blob([value], { type: mime });
25
+ // @ts-ignore
26
+ if (navigator.msSaveBlob) { // IE10+ : (has Blob, but not a[download] or URL)
27
+ // @ts-ignore
28
+ navigator.msSaveBlob(blob, `${name}.${extension}`);
29
+ return new Promise((res) => setTimeout(res, 100));
30
+ }
31
+ const blobURL = window.URL.createObjectURL(blob);
32
+ const link = document.createElement('a');
33
+ const frame = document.createElement('iframe');
34
+ link.style.display = 'none';
35
+ frame.style.display = 'none';
36
+ frame.name = blobURL;
37
+ document.body.appendChild(frame);
38
+ link.href = blobURL;
39
+ link.target = blobURL;
40
+ link.download = `${name}.${extension}`;
41
+ document.body.appendChild(link);
42
+ link.dispatchEvent(new MouseEvent('click'));
43
+ document.body.removeChild(link);
44
+ return new Promise((res) => setTimeout(() => {
45
+ document.body.removeChild(frame);
46
+ res(undefined);
47
+ }, 100));
48
+ }
7
49
 
8
- var build = _commonjsHelpers.createCommonjsModule(function (module, exports) {
50
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
51
+
52
+ function createCommonjsModule(fn, basedir, module) {
53
+ return module = {
54
+ path: basedir,
55
+ exports: {},
56
+ require: function (path, base) {
57
+ return commonjsRequire();
58
+ }
59
+ }, fn(module, module.exports), module.exports;
60
+ }
61
+
62
+ function commonjsRequire () {
63
+ throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
64
+ }
65
+
66
+ var build = createCommonjsModule(function (module, exports) {
9
67
 
10
68
  Object.defineProperty(exports, '__esModule', { value: true });
11
69
 
@@ -363,4 +421,50 @@ exports.combine = combine;
363
421
  exports.isEqual = isEqual;
364
422
  });
365
423
 
424
+ /**
425
+ * @license
426
+ * Copyright (c) Peculiar Ventures, LLC.
427
+ *
428
+ * This source code is licensed under the MIT license found in the
429
+ * LICENSE file in the root directory of this source tree.
430
+ */
431
+ class Download {
432
+ }
433
+ Download.cert = {
434
+ asPEM: (pem, name) => {
435
+ downloadFromBuffer(build.Convert.FromString(pem), name, 'cer', 'application/pkix-cert');
436
+ },
437
+ asDER: (hex, name) => {
438
+ downloadFromBuffer(build.Convert.FromString(hex), name, 'cer', 'application/pkix-cert');
439
+ },
440
+ };
441
+ Download.attrCert = {
442
+ asPEM: (pem, name) => {
443
+ downloadFromBuffer(build.Convert.FromString(pem), name, 'cer', 'application/pkix-attr-cert');
444
+ },
445
+ asDER: (hex, name) => {
446
+ downloadFromBuffer(build.Convert.FromString(hex), name, 'cer', 'application/pkix-attr-cert');
447
+ },
448
+ };
449
+ Download.csr = {
450
+ asPEM: (pem, name) => {
451
+ downloadFromBuffer(build.Convert.FromString(pem), name, 'csr', 'application/pkcs10');
452
+ },
453
+ asDER: (hex, name) => {
454
+ downloadFromBuffer(build.Convert.FromString(hex), name, 'csr', 'application/pkcs10');
455
+ },
456
+ };
457
+ Download.crl = {
458
+ asPEM: (pem, name) => {
459
+ downloadFromBuffer(build.Convert.FromString(pem), name, 'crl', 'application/pkix-crl');
460
+ },
461
+ asDER: (hex, name) => {
462
+ downloadFromBuffer(build.Convert.FromString(hex), name, 'crl', 'application/pkix-crl');
463
+ },
464
+ };
465
+
466
+ exports.Download = Download;
366
467
  exports.build = build;
468
+ exports.commonjsGlobal = commonjsGlobal;
469
+ exports.createCommonjsModule = createCommonjsModule;
470
+ exports.downloadFromBuffer = downloadFromBuffer;
@@ -5,9 +5,7 @@
5
5
 
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
- const download = require('./download-6724f3a7.js');
9
- require('./index-ff818d4d.js');
10
- require('./_commonjsHelpers-cb1f949a.js');
8
+ const download = require('./download-a97f4cb2.js');
11
9
 
12
10
 
13
11
 
@@ -0,0 +1,167 @@
1
+ /*!
2
+ * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
+ */
4
+ 'use strict';
5
+
6
+ const download$1 = require('./download-a97f4cb2.js');
7
+
8
+ var dayjs_min = download$1.createCommonjsModule(function (module, exports) {
9
+ !function(t,e){module.exports=e();}(download$1.commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));
10
+ });
11
+
12
+ var relativeTime = download$1.createCommonjsModule(function (module, exports) {
13
+ !function(r,e){module.exports=e();}(download$1.commonjsGlobal,(function(){return function(r,e,t){r=r||{};var n=e.prototype,o={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(""+p)),a="string"==typeof v?v.replace("%d",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return "function"==typeof M?M(a):M.replace("%s",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)};}}));
14
+ });
15
+
16
+ /**
17
+ * @license
18
+ * Copyright (c) Peculiar Ventures, LLC.
19
+ *
20
+ * This source code is licensed under the MIT license found in the
21
+ * LICENSE file in the root directory of this source tree.
22
+ */
23
+ dayjs_min.extend(relativeTime);
24
+ const dateShort = (date) => (new Date(date).toUTCString());
25
+ const dateDiff = (dateStart, dateEnd) => {
26
+ if (!dateStart || !dateEnd) {
27
+ return '';
28
+ }
29
+ const start = dayjs_min(dateStart);
30
+ const end = dayjs_min(dateEnd);
31
+ return start.to(end, true);
32
+ };
33
+
34
+ const basicInformation = "Basic Information";
35
+ const subjectName = "Subject Name";
36
+ const issuerName = "Issuer Name";
37
+ const publicKeyInfo = "Public Key Info";
38
+ const signature = "Signature";
39
+ const extensions = "Extensions";
40
+ const miscellaneous = "Miscellaneous";
41
+ const download = "Download";
42
+ const serialNumber = "Serial Number";
43
+ const version = "Version";
44
+ const validity = "Validity";
45
+ const issued = "Issued";
46
+ const expired = "Expired";
47
+ const lastUpdate = "Last Update";
48
+ const nextUpdate = "Next Update";
49
+ const algorithm = "Algorithm";
50
+ const namedCurve = "Named Curve";
51
+ const exponent = "Exponent";
52
+ const modulus = "Modulus";
53
+ const value = "Value";
54
+ const valid = "Valid";
55
+ const revoked = "Revoked";
56
+ const issuer = "Issuer";
57
+ const name = "Name";
58
+ const publicKey = "Public Key";
59
+ const fingerprint = "Fingerprint";
60
+ const fingerprints = "Fingerprints";
61
+ const actions = "Actions";
62
+ const details = "Details";
63
+ const testURLs = "Test URLs";
64
+ const certificateDetails = "Certificate Details";
65
+ const holder = "Holder";
66
+ const digestInfo = "Digest Info";
67
+ const type = "Type";
68
+ const revokedCertificates = "Revoked Certificates";
69
+ const revocation = "Revocation";
70
+ const yes = "Yes";
71
+ const no = "No";
72
+ const onlyUserCertificates = "Only User Certificates";
73
+ const onlyAttributeCertificates = "Only Attribute Certificates";
74
+ const onlyCACertificates = "Only CA Certificates";
75
+ const indirectCRL = "Indirect CRL";
76
+ const onlyReasons = "Only Reasons";
77
+ const en = {
78
+ basicInformation: basicInformation,
79
+ subjectName: subjectName,
80
+ issuerName: issuerName,
81
+ publicKeyInfo: publicKeyInfo,
82
+ signature: signature,
83
+ extensions: extensions,
84
+ miscellaneous: miscellaneous,
85
+ download: download,
86
+ "download.pem": "Download PEM",
87
+ "download.der": "Download DER",
88
+ serialNumber: serialNumber,
89
+ version: version,
90
+ validity: validity,
91
+ issued: issued,
92
+ expired: expired,
93
+ lastUpdate: lastUpdate,
94
+ nextUpdate: nextUpdate,
95
+ algorithm: algorithm,
96
+ namedCurve: namedCurve,
97
+ exponent: exponent,
98
+ modulus: modulus,
99
+ value: value,
100
+ valid: valid,
101
+ revoked: revoked,
102
+ issuer: issuer,
103
+ name: name,
104
+ publicKey: publicKey,
105
+ fingerprint: fingerprint,
106
+ fingerprints: fingerprints,
107
+ actions: actions,
108
+ details: details,
109
+ testURLs: testURLs,
110
+ certificateDetails: certificateDetails,
111
+ holder: holder,
112
+ digestInfo: digestInfo,
113
+ type: type,
114
+ revokedCertificates: revokedCertificates,
115
+ revocation: revocation,
116
+ yes: yes,
117
+ no: no,
118
+ onlyUserCertificates: onlyUserCertificates,
119
+ onlyAttributeCertificates: onlyAttributeCertificates,
120
+ onlyCACertificates: onlyCACertificates,
121
+ indirectCRL: indirectCRL,
122
+ onlyReasons: onlyReasons
123
+ };
124
+
125
+ /**
126
+ * @license
127
+ * Copyright (c) Peculiar Ventures, LLC.
128
+ *
129
+ * This source code is licensed under the MIT license found in the
130
+ * LICENSE file in the root directory of this source tree.
131
+ */
132
+ const MESSAGES_ALL = {
133
+ en,
134
+ };
135
+ class Localization {
136
+ constructor() {
137
+ this.setLocale = (locale) => {
138
+ this.locale = locale && MESSAGES_ALL[locale] ? locale : 'en';
139
+ };
140
+ this.getLocale = () => this.locale;
141
+ const language = window.navigator.language.slice(0, 2).toLowerCase();
142
+ this.setLocale(language);
143
+ }
144
+ getString(id, replacer) {
145
+ const value = MESSAGES_ALL[this.locale][id];
146
+ if (!value) {
147
+ return '';
148
+ }
149
+ if (!replacer) {
150
+ return value;
151
+ }
152
+ const splitted = value.split(replacer.pattern);
153
+ if (splitted.length > 1) {
154
+ return [
155
+ splitted[0],
156
+ replacer.replacer,
157
+ splitted[1],
158
+ ];
159
+ }
160
+ return value;
161
+ }
162
+ }
163
+ const l10n = new Localization();
164
+
165
+ exports.dateDiff = dateDiff;
166
+ exports.dateShort = dateShort;
167
+ exports.l10n = l10n;
@@ -17,7 +17,7 @@ const patchEsm = () => {
17
17
  const defineCustomElements = (win, options) => {
18
18
  if (typeof window === 'undefined') return Promise.resolve();
19
19
  return patchEsm().then(() => {
20
- return index.bootstrapLazy([["peculiar-button_5.cjs",[[1,"peculiar-button-split",{"onClick":[16],"fill":[1],"actions":[16],"open":[32]}],[1,"peculiar-text-hider",{"opened":[1540]},[[0,"textExpand","textExpandHandler"]]],[1,"peculiar-link",{"href":[513],"type":[513]}],[1,"peculiar-typography",{"type":[513],"color":[1],"align":[1],"ellipsis":[4],"monospace":[4]}],[1,"peculiar-button",{"fill":[1],"disabled":[516],"href":[1],"target":[1],"onClick":[16]}]]],["peculiar-certificates-viewer.cjs",[[1,"peculiar-certificates-viewer",{"certificates":[16],"filterWithSearch":[4,"filter-with-search"],"highlightWithSearch":[4,"highlight-with-search"],"search":[32],"certificatesDecoded":[32],"expandedRow":[32],"certificateSelectedForDetails":[32],"isDecodeInProcess":[32]}]]],["peculiar-attribute-certificate-viewer_2.cjs",[[1,"peculiar-attribute-certificate-viewer",{"certificate":[1],"download":[4],"authKeyIdParentLink":[513,"auth-key-id-parent-link"],"authKeyIdSiblingsLink":[513,"auth-key-id-siblings-link"],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"isDecodeInProcess":[32]}],[1,"peculiar-csr-viewer",{"certificate":[513],"download":[4],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"view":[513],"isDecodeInProcess":[32]}]]],["peculiar-certificate-viewer.cjs",[[1,"peculiar-certificate-viewer",{"certificate":[513],"download":[516],"authKeyIdParentLink":[513,"auth-key-id-parent-link"],"authKeyIdSiblingsLink":[513,"auth-key-id-siblings-link"],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"issuerDnLink":[513,"issuer-dn-link"],"view":[513],"isDecodeInProcess":[32]}]]],["peculiar-certificate-decoder.cjs",[[1,"peculiar-certificate-decoder",{"certificateExample":[1,"certificate-example"],"defaultCertificate":[1,"default-certificate"],"certificateDecoded":[32]}]]],["peculiar-certificate-summary_3.cjs",[[1,"peculiar-certificate-summary",{"certificate":[16],"showIssuer":[4,"show-issuer"]}],[1,"peculiar-circular-progress",{"size":[2],"width":[2]}],[1,"peculiar-highlight-words",{"search":[1]}]]]], options);
20
+ return index.bootstrapLazy([["peculiar-button_5.cjs",[[1,"peculiar-button-split",{"onClick":[16],"fill":[1],"actions":[16],"open":[32]}],[1,"peculiar-text-hider",{"opened":[1540]},[[0,"textExpand","textExpandHandler"]]],[1,"peculiar-link",{"href":[513],"type":[513]}],[1,"peculiar-typography",{"type":[513],"color":[1],"align":[1],"ellipsis":[4],"monospace":[4]}],[1,"peculiar-button",{"fill":[1],"disabled":[516],"href":[1],"target":[1],"onClick":[16]}]]],["peculiar-certificate-viewer.cjs",[[1,"peculiar-certificate-viewer",{"certificate":[513],"download":[516],"authKeyIdParentLink":[513,"auth-key-id-parent-link"],"authKeyIdSiblingsLink":[513,"auth-key-id-siblings-link"],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"issuerDnLink":[513,"issuer-dn-link"],"view":[513],"isDecodeInProcess":[32]}]]],["peculiar-certificate-decoder.cjs",[[1,"peculiar-certificate-decoder",{"certificateExample":[1,"certificate-example"],"defaultCertificate":[1,"default-certificate"],"certificateDecoded":[32]}]]],["peculiar-certificates-viewer.cjs",[[1,"peculiar-certificates-viewer",{"certificates":[16],"filterWithSearch":[4,"filter-with-search"],"highlightWithSearch":[4,"highlight-with-search"],"search":[32],"certificatesDecoded":[32],"expandedRow":[32],"certificateSelectedForDetails":[32],"isDecodeInProcess":[32]}]]],["peculiar-attribute-certificate-viewer_3.cjs",[[1,"peculiar-attribute-certificate-viewer",{"certificate":[1],"download":[4],"authKeyIdParentLink":[513,"auth-key-id-parent-link"],"authKeyIdSiblingsLink":[513,"auth-key-id-siblings-link"],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"isDecodeInProcess":[32]}],[1,"peculiar-crl-viewer",{"certificate":[513],"download":[4],"authKeyIdParentLink":[513,"auth-key-id-parent-link"],"authKeyIdSiblingsLink":[513,"auth-key-id-siblings-link"],"issuerDnLink":[513,"issuer-dn-link"],"view":[513],"isDecodeInProcess":[32]}],[1,"peculiar-csr-viewer",{"certificate":[513],"download":[4],"subjectKeyIdChildrenLink":[513,"subject-key-id-children-link"],"subjectKeyIdSiblingsLink":[513,"subject-key-id-siblings-link"],"view":[513],"isDecodeInProcess":[32]}]]],["peculiar-certificate-summary_3.cjs",[[1,"peculiar-certificate-summary",{"certificate":[16],"showIssuer":[4,"show-issuer"]}],[1,"peculiar-circular-progress",{"size":[2],"width":[2]}],[1,"peculiar-highlight-words",{"search":[1]}]]]], options);
21
21
  });
22
22
  };
23
23