@peculiar/certificates-viewer 1.16.1 → 1.17.2
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/dist/cjs/{download-5b56f3a9.js → download-78e61b1d.js} +78 -2
- package/dist/cjs/peculiar-attribute-certificate-viewer_9.cjs.entry.js +9 -6
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +10 -5
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/certificate-viewer/basic_information.js +4 -3
- package/dist/collection/components/certificates-viewer/certificates-viewer.js +9 -4
- package/dist/collection/components/csr-viewer/csr-viewer.js +2 -0
- package/dist/collection/crypto/csr.js +1 -0
- package/dist/collection/crypto/x509_attribute_certificate.js +1 -0
- package/dist/collection/crypto/x509_certificate.js +1 -0
- package/dist/esm/{download-93437bcb.js → download-c6153e99.js} +78 -2
- package/dist/esm/peculiar-attribute-certificate-viewer_9.entry.js +9 -6
- package/dist/esm/peculiar-certificates-viewer.entry.js +10 -5
- package/dist/esm-es5/{download-93437bcb.js → download-c6153e99.js} +86 -2
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_9.entry.js +9 -6
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +10 -5
- package/dist/peculiar/{p-dfc5b982.system.js → p-05d621c2.system.js} +11 -11
- package/dist/peculiar/p-557d912f.system.js +1 -1
- package/dist/peculiar/{p-14aeb094.js → p-8e2bede4.js} +10 -10
- package/dist/peculiar/p-bbac8b2a.entry.js +1 -0
- package/dist/peculiar/{p-44a93ee3.system.entry.js → p-d20fc814.system.entry.js} +17 -17
- package/dist/peculiar/{p-0545a744.entry.js → p-d97c01b2.entry.js} +10 -10
- package/dist/peculiar/{p-fa244d38.system.entry.js → p-fca4a08b.system.entry.js} +1 -1
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/types/components/certificate-viewer/basic_information.d.ts +6 -5
- package/dist/types/components/certificates-viewer/certificates-viewer.d.ts +1 -0
- package/dist/types/crypto/csr.d.ts +1 -0
- package/dist/types/crypto/x509_attribute_certificate.d.ts +1 -0
- package/dist/types/crypto/x509_certificate.d.ts +1 -0
- package/package.json +20 -20
- package/dist/peculiar/p-cabe7ef6.entry.js +0 -1
|
@@ -6836,7 +6836,7 @@ var build = l10n.createCommonjsModule(function (module, exports) {
|
|
|
6836
6836
|
|
|
6837
6837
|
(function (global, factory) {
|
|
6838
6838
|
factory(exports) ;
|
|
6839
|
-
}(l10n.commonjsGlobal, (function (exports) {
|
|
6839
|
+
})(l10n.commonjsGlobal, (function (exports) {
|
|
6840
6840
|
class BufferSourceConverter {
|
|
6841
6841
|
static isArrayBuffer(data) {
|
|
6842
6842
|
return Object.prototype.toString.call(data) === '[object ArrayBuffer]';
|
|
@@ -6871,6 +6871,19 @@ var build = l10n.createCommonjsModule(function (module, exports) {
|
|
|
6871
6871
|
return ArrayBuffer.isView(data)
|
|
6872
6872
|
|| (data && this.isArrayBuffer(data.buffer));
|
|
6873
6873
|
}
|
|
6874
|
+
static isEqual(a, b) {
|
|
6875
|
+
const aView = BufferSourceConverter.toUint8Array(a);
|
|
6876
|
+
const bView = BufferSourceConverter.toUint8Array(b);
|
|
6877
|
+
if (aView.length !== bView.byteLength) {
|
|
6878
|
+
return false;
|
|
6879
|
+
}
|
|
6880
|
+
for (let i = 0; i < aView.length; i++) {
|
|
6881
|
+
if (aView[i] !== bView[i]) {
|
|
6882
|
+
return false;
|
|
6883
|
+
}
|
|
6884
|
+
}
|
|
6885
|
+
return true;
|
|
6886
|
+
}
|
|
6874
6887
|
}
|
|
6875
6888
|
|
|
6876
6889
|
class Utf8Converter {
|
|
@@ -7153,7 +7166,7 @@ var build = l10n.createCommonjsModule(function (module, exports) {
|
|
|
7153
7166
|
|
|
7154
7167
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7155
7168
|
|
|
7156
|
-
}))
|
|
7169
|
+
}));
|
|
7157
7170
|
});
|
|
7158
7171
|
|
|
7159
7172
|
const index = l10n.unwrapExports(build);
|
|
@@ -9178,6 +9191,24 @@ exports.CertificatePolicies = CertificatePolicies_1 = __decorate([
|
|
|
9178
9191
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: PolicyInformation })
|
|
9179
9192
|
], exports.CertificatePolicies);
|
|
9180
9193
|
|
|
9194
|
+
let CRLNumber = class CRLNumber {
|
|
9195
|
+
constructor(value = 0) {
|
|
9196
|
+
this.value = value;
|
|
9197
|
+
}
|
|
9198
|
+
};
|
|
9199
|
+
__decorate([
|
|
9200
|
+
AsnProp({ type: AsnPropTypes.Integer })
|
|
9201
|
+
], CRLNumber.prototype, "value", void 0);
|
|
9202
|
+
CRLNumber = __decorate([
|
|
9203
|
+
AsnType({ type: AsnTypeTypes.Choice })
|
|
9204
|
+
], CRLNumber);
|
|
9205
|
+
|
|
9206
|
+
let BaseCRLNumber = class BaseCRLNumber extends CRLNumber {
|
|
9207
|
+
};
|
|
9208
|
+
BaseCRLNumber = __decorate([
|
|
9209
|
+
AsnType({ type: AsnTypeTypes.Choice })
|
|
9210
|
+
], BaseCRLNumber);
|
|
9211
|
+
|
|
9181
9212
|
var CRLDistributionPoints_1;
|
|
9182
9213
|
const id_ce_cRLDistributionPoints = `${id_ce}.31`;
|
|
9183
9214
|
var ReasonFlags;
|
|
@@ -9267,6 +9298,50 @@ exports.CRLDistributionPoints = CRLDistributionPoints_1 = __decorate([
|
|
|
9267
9298
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: DistributionPoint })
|
|
9268
9299
|
], exports.CRLDistributionPoints);
|
|
9269
9300
|
|
|
9301
|
+
var FreshestCRL_1;
|
|
9302
|
+
let FreshestCRL = FreshestCRL_1 = class FreshestCRL extends exports.CRLDistributionPoints {
|
|
9303
|
+
constructor(items) {
|
|
9304
|
+
super(items);
|
|
9305
|
+
Object.setPrototypeOf(this, FreshestCRL_1.prototype);
|
|
9306
|
+
}
|
|
9307
|
+
};
|
|
9308
|
+
FreshestCRL = FreshestCRL_1 = __decorate([
|
|
9309
|
+
AsnType({ type: AsnTypeTypes.Sequence, itemType: DistributionPoint })
|
|
9310
|
+
], FreshestCRL);
|
|
9311
|
+
|
|
9312
|
+
class IssuingDistributionPoint {
|
|
9313
|
+
constructor(params = {}) {
|
|
9314
|
+
this.onlyContainsUserCerts = IssuingDistributionPoint.ONLY;
|
|
9315
|
+
this.onlyContainsCACerts = IssuingDistributionPoint.ONLY;
|
|
9316
|
+
this.indirectCRL = IssuingDistributionPoint.ONLY;
|
|
9317
|
+
this.onlyContainsAttributeCerts = IssuingDistributionPoint.ONLY;
|
|
9318
|
+
Object.assign(this, params);
|
|
9319
|
+
}
|
|
9320
|
+
;
|
|
9321
|
+
;
|
|
9322
|
+
;
|
|
9323
|
+
;
|
|
9324
|
+
}
|
|
9325
|
+
IssuingDistributionPoint.ONLY = false;
|
|
9326
|
+
__decorate([
|
|
9327
|
+
AsnProp({ type: DistributionPointName, context: 0, optional: true })
|
|
9328
|
+
], IssuingDistributionPoint.prototype, "distributionPoint", void 0);
|
|
9329
|
+
__decorate([
|
|
9330
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 1, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9331
|
+
], IssuingDistributionPoint.prototype, "onlyContainsUserCerts", void 0);
|
|
9332
|
+
__decorate([
|
|
9333
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 2, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9334
|
+
], IssuingDistributionPoint.prototype, "onlyContainsCACerts", void 0);
|
|
9335
|
+
__decorate([
|
|
9336
|
+
AsnProp({ type: Reason, context: 3, optional: true })
|
|
9337
|
+
], IssuingDistributionPoint.prototype, "onlySomeReasons", void 0);
|
|
9338
|
+
__decorate([
|
|
9339
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 4, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9340
|
+
], IssuingDistributionPoint.prototype, "indirectCRL", void 0);
|
|
9341
|
+
__decorate([
|
|
9342
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 5, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9343
|
+
], IssuingDistributionPoint.prototype, "onlyContainsAttributeCerts", void 0);
|
|
9344
|
+
|
|
9270
9345
|
const id_ce_cRLReasons = `${id_ce}.21`;
|
|
9271
9346
|
var CRLReasons;
|
|
9272
9347
|
(function (CRLReasons) {
|
|
@@ -13825,6 +13900,7 @@ class X509Certificate extends AsnData {
|
|
|
13825
13900
|
constructor(raw) {
|
|
13826
13901
|
super(certificateRawToBuffer(raw), Certificate);
|
|
13827
13902
|
this.thumbprints = {};
|
|
13903
|
+
this.type = 'X.509 Certificate';
|
|
13828
13904
|
const { tbsCertificate } = this.asn;
|
|
13829
13905
|
this.serialNumber = index.Convert.ToHex(tbsCertificate.serialNumber);
|
|
13830
13906
|
this.subject = new Name(tbsCertificate.subject).toJSON();
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-2973f90a.js');
|
|
6
|
-
const download = require('./download-
|
|
6
|
+
const download = require('./download-78e61b1d.js');
|
|
7
7
|
const l10n = require('./l10n-91045362.js');
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -110,6 +110,7 @@ class X509AttributeCertificate extends download.AsnData {
|
|
|
110
110
|
var _a;
|
|
111
111
|
super(download.certificateRawToBuffer(raw), download.AttributeCertificate);
|
|
112
112
|
this.thumbprints = {};
|
|
113
|
+
this.type = 'X.509 Attribute Certificate';
|
|
113
114
|
const { acinfo } = this.asn;
|
|
114
115
|
this.serialNumber = download.index.Convert.ToHex(acinfo.serialNumber);
|
|
115
116
|
this.version = acinfo.version;
|
|
@@ -182,6 +183,7 @@ class CSR extends download.AsnData {
|
|
|
182
183
|
constructor(raw) {
|
|
183
184
|
super(download.certificateRawToBuffer(raw), download.CertificationRequest);
|
|
184
185
|
this.thumbprints = {};
|
|
186
|
+
this.type = 'PKCS#10 Certificate Request';
|
|
185
187
|
const { certificationRequestInfo } = this.asn;
|
|
186
188
|
this.subject = new download.Name(certificationRequestInfo.subject).toJSON();
|
|
187
189
|
this.version = certificationRequestInfo.version;
|
|
@@ -1379,14 +1381,15 @@ const Extensions = (props) => {
|
|
|
1379
1381
|
* LICENSE file in the root directory of this source tree.
|
|
1380
1382
|
*/
|
|
1381
1383
|
const BasicInformation = (props) => {
|
|
1382
|
-
const { serialNumber, version, validity, notBefore, notAfter, } = props;
|
|
1384
|
+
const { serialNumber, version, validity, notBefore, notAfter, type, } = props;
|
|
1383
1385
|
return [
|
|
1384
1386
|
index.h(RowTitle, { value: l10n.l10n.getString('basicInformation') }),
|
|
1387
|
+
index.h(RowValue, { name: l10n.l10n.getString('type'), value: type }),
|
|
1385
1388
|
index.h(RowValue, { name: l10n.l10n.getString('serialNumber'), value: serialNumber, monospace: true }),
|
|
1386
1389
|
index.h(RowValue, { name: l10n.l10n.getString('version'), value: version }),
|
|
1387
1390
|
index.h(RowValue, { name: l10n.l10n.getString('validity'), value: validity }),
|
|
1388
|
-
index.h(RowValue, { name: l10n.l10n.getString('issued'), value: l10n.dateShort(notBefore) }),
|
|
1389
|
-
index.h(RowValue, { name: l10n.l10n.getString('expired'), value: l10n.dateShort(notAfter) }),
|
|
1391
|
+
index.h(RowValue, { name: l10n.l10n.getString('issued'), value: notBefore ? l10n.dateShort(notBefore) : undefined }),
|
|
1392
|
+
index.h(RowValue, { name: l10n.l10n.getString('expired'), value: notAfter ? l10n.dateShort(notAfter) : undefined }),
|
|
1390
1393
|
];
|
|
1391
1394
|
};
|
|
1392
1395
|
|
|
@@ -1571,7 +1574,7 @@ const AttributeCertificateViewer = class {
|
|
|
1571
1574
|
};
|
|
1572
1575
|
AttributeCertificateViewer.style = certificateViewerCss;
|
|
1573
1576
|
|
|
1574
|
-
const buttonCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:inline-block;width:auto;cursor:pointer;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;--pv-button-padding-end:5px;--pv-button-padding-start:5px}.button{font-family:\"Open Sans\", \"Arial\", sans-serif;font-family:var(--pv-font-family);font-size:13px;font-size:var(--pv-font-size-b3);letter-spacing:0.03em;letter-spacing:var(--pv-letter-spacing-normal);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:
|
|
1577
|
+
const buttonCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:inline-block;width:auto;cursor:pointer;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;--pv-button-padding-end:5px;--pv-button-padding-start:5px}.button{font-family:\"Open Sans\", \"Arial\", sans-serif;font-family:var(--pv-font-family);font-size:13px;font-size:var(--pv-font-size-b3);letter-spacing:0.03em;letter-spacing:var(--pv-letter-spacing-normal);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;border-style:solid;border-width:1px;font-weight:400;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle;cursor:inherit;height:30px;line-height:30px;border-radius:2px;padding:0 5px;padding:0 var(--pv-button-padding-end) 0 var(--pv-button-padding-start)}.button::-moz-focus-inner{border:0}.button:focus{outline:none;-webkit-box-shadow:0 4px 10px 0 rgba(var(--pv-color-dark-rgb), 0.1);box-shadow:0 4px 10px 0 rgba(var(--pv-color-dark-rgb), 0.1)}.button[disabled]{opacity:0.5;cursor:not-allowed}.button_stroke{border-color:rgba(53, 132, 247, 0.3);border-color:rgba(var(--pv-color-primary-rgb), 0.3);color:#3584f7;color:rgba(var(--pv-color-primary-rgb), 1);background-color:transparent}.button_fill{border-color:#3584f7;border-color:rgba(var(--pv-color-primary-rgb), 1);background-color:#3584f7;background-color:rgba(var(--pv-color-primary-rgb), 1);color:white;color:rgba(var(--pv-color-light-rgb), 1)}.button_label{-webkit-transition:opacity 200ms;transition:opacity 200ms}.button:hover .button_label{opacity:0.7}";
|
|
1575
1578
|
|
|
1576
1579
|
const Button = class {
|
|
1577
1580
|
constructor(hostRef) {
|
|
@@ -2014,7 +2017,7 @@ const CsrViewer = class {
|
|
|
2014
2017
|
return this.renderEmptyState();
|
|
2015
2018
|
}
|
|
2016
2019
|
const extensionRequestAttribute = this.getExtensionRequestAttribute();
|
|
2017
|
-
return (index.h(index.Host, { "data-view": this.view }, index.h("table", null, index.h(SubjectName, { name: this.certificateDecoded.subject }), index.h(PublicKey, { publicKey: this.certificateDecoded.publicKey }), index.h(Signature, { signature: this.certificateDecoded.signature }), index.h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), index.h(Attributes, { attributes: this.certificateDecoded.attributes, getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), index.h(Extensions, { extensions: extensionRequestAttribute === null || extensionRequestAttribute === void 0 ? void 0 : extensionRequestAttribute.value, title: "Extension Request", getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), this.download && (index.h(Miscellaneous, { certificate: this.certificateDecoded })))));
|
|
2020
|
+
return (index.h(index.Host, { "data-view": this.view }, index.h("table", null, index.h(BasicInformation, Object.assign({}, this.certificateDecoded)), index.h(SubjectName, { name: this.certificateDecoded.subject }), index.h(PublicKey, { publicKey: this.certificateDecoded.publicKey }), index.h(Signature, { signature: this.certificateDecoded.signature }), index.h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), index.h(Attributes, { attributes: this.certificateDecoded.attributes, getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), index.h(Extensions, { extensions: extensionRequestAttribute === null || extensionRequestAttribute === void 0 ? void 0 : extensionRequestAttribute.value, title: "Extension Request", getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), this.download && (index.h(Miscellaneous, { certificate: this.certificateDecoded })))));
|
|
2018
2021
|
}
|
|
2019
2022
|
static get watchers() { return {
|
|
2020
2023
|
"certificate": ["watchCertificateAndDecode"]
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-2973f90a.js');
|
|
6
|
-
const download = require('./download-
|
|
6
|
+
const download = require('./download-78e61b1d.js');
|
|
7
7
|
const l10n = require('./l10n-91045362.js');
|
|
8
8
|
|
|
9
9
|
const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-moz-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search:-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-webkit-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.loading_container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42, 49, 52, 0.3);background:rgba(var(--pv-color-dark-rgb), 0.3);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.align_center{text-align:center}@media (hover: hover){table tbody tr:not(.expanded_summary):hover{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}}@media (max-width: 900px){table,tbody,tr,td{display:block}thead{display:none}tr{padding:0 15px;border-width:1px;border-style:solid}tr:not(:first-child){margin-top:-1px}tr:not(.expanded_summary) td:first-child{border:none !important}table td{padding-left:0;padding-right:0;border-width:1px 0 0 0 !important;border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr.expanded_summary td{padding:15px 0}.mobile_title{display:inline-block;width:90px;vertical-align:middle}.modal_title{padding:17px 60px 17px 15px}.content{display:inline-block;width:calc(100% - 90px);vertical-align:middle;text-align:left}.expanded_summary{border-top-color:transparent;padding-bottom:10px}.expanded_summary td:before{content:none}.status_wrapper{height:266px;display:table-cell}.search_section{height:60px;padding:15px}.align_center{text-align:inherit}}";
|
|
@@ -113,7 +113,7 @@ const CertificatesViewer = class {
|
|
|
113
113
|
? undefined
|
|
114
114
|
: index;
|
|
115
115
|
}
|
|
116
|
-
|
|
116
|
+
getMaxColSpanValue() {
|
|
117
117
|
let colSpan = 4;
|
|
118
118
|
if (this.isHasTests) {
|
|
119
119
|
colSpan += 1;
|
|
@@ -121,6 +121,10 @@ const CertificatesViewer = class {
|
|
|
121
121
|
if (!this.isHasRoots) {
|
|
122
122
|
colSpan += 1;
|
|
123
123
|
}
|
|
124
|
+
return colSpan;
|
|
125
|
+
}
|
|
126
|
+
renderExpandedRow(certificate) {
|
|
127
|
+
const colSpan = this.getMaxColSpanValue();
|
|
124
128
|
return (index.h("tr", { class: "expanded_summary" }, index.h("td", { colSpan: colSpan }, index.h("peculiar-certificate-summary", { certificate: certificate, showIssuer: !certificate.isRoot }))));
|
|
125
129
|
}
|
|
126
130
|
// eslint-disable-next-line class-methods-use-this
|
|
@@ -189,12 +193,13 @@ const CertificatesViewer = class {
|
|
|
189
193
|
}
|
|
190
194
|
return (index.h("div", { class: "search_section" }, index.h("input", { onInput: this.handleSearch, type: "search", value: "", class: "input_search", disabled: !this.certificatesDecoded.length, placeholder: "Search" })));
|
|
191
195
|
}
|
|
192
|
-
// eslint-disable-next-line class-methods-use-this
|
|
193
196
|
renderEmptyState() {
|
|
194
|
-
|
|
197
|
+
const colSpan = this.getMaxColSpanValue();
|
|
198
|
+
return (index.h("tr", null, index.h("td", { class: "status_wrapper", colSpan: colSpan }, index.h("peculiar-typography", { type: "b1", align: "center" }, "There are no certificates available."))));
|
|
195
199
|
}
|
|
196
200
|
renderEmptySearchState() {
|
|
197
|
-
|
|
201
|
+
const colSpan = this.getMaxColSpanValue();
|
|
202
|
+
return (index.h("tr", null, index.h("td", { class: "status_wrapper", colSpan: colSpan }, index.h("peculiar-typography", { type: "b1", align: "center" }, "No results found for \u201C", this.search, "\u201C"))));
|
|
198
203
|
}
|
|
199
204
|
// eslint-disable-next-line class-methods-use-this
|
|
200
205
|
renderLoadingState() {
|
|
@@ -9,13 +9,14 @@ import { h } from '@stencil/core';
|
|
|
9
9
|
import { dateShort, l10n } from '../../utils';
|
|
10
10
|
import { RowTitle, RowValue } from './row';
|
|
11
11
|
export const BasicInformation = (props) => {
|
|
12
|
-
const { serialNumber, version, validity, notBefore, notAfter, } = props;
|
|
12
|
+
const { serialNumber, version, validity, notBefore, notAfter, type, } = props;
|
|
13
13
|
return [
|
|
14
14
|
h(RowTitle, { value: l10n.getString('basicInformation') }),
|
|
15
|
+
h(RowValue, { name: l10n.getString('type'), value: type }),
|
|
15
16
|
h(RowValue, { name: l10n.getString('serialNumber'), value: serialNumber, monospace: true }),
|
|
16
17
|
h(RowValue, { name: l10n.getString('version'), value: version }),
|
|
17
18
|
h(RowValue, { name: l10n.getString('validity'), value: validity }),
|
|
18
|
-
h(RowValue, { name: l10n.getString('issued'), value: dateShort(notBefore) }),
|
|
19
|
-
h(RowValue, { name: l10n.getString('expired'), value: dateShort(notAfter) }),
|
|
19
|
+
h(RowValue, { name: l10n.getString('issued'), value: notBefore ? dateShort(notBefore) : undefined }),
|
|
20
|
+
h(RowValue, { name: l10n.getString('expired'), value: notAfter ? dateShort(notAfter) : undefined }),
|
|
20
21
|
];
|
|
21
22
|
};
|
|
@@ -112,7 +112,7 @@ export class CertificatesViewer {
|
|
|
112
112
|
? undefined
|
|
113
113
|
: index;
|
|
114
114
|
}
|
|
115
|
-
|
|
115
|
+
getMaxColSpanValue() {
|
|
116
116
|
let colSpan = 4;
|
|
117
117
|
if (this.isHasTests) {
|
|
118
118
|
colSpan += 1;
|
|
@@ -120,6 +120,10 @@ export class CertificatesViewer {
|
|
|
120
120
|
if (!this.isHasRoots) {
|
|
121
121
|
colSpan += 1;
|
|
122
122
|
}
|
|
123
|
+
return colSpan;
|
|
124
|
+
}
|
|
125
|
+
renderExpandedRow(certificate) {
|
|
126
|
+
const colSpan = this.getMaxColSpanValue();
|
|
123
127
|
return (h("tr", { class: "expanded_summary" },
|
|
124
128
|
h("td", { colSpan: colSpan },
|
|
125
129
|
h("peculiar-certificate-summary", { certificate: certificate, showIssuer: !certificate.isRoot }))));
|
|
@@ -236,15 +240,16 @@ export class CertificatesViewer {
|
|
|
236
240
|
return (h("div", { class: "search_section" },
|
|
237
241
|
h("input", { onInput: this.handleSearch, type: "search", value: "", class: "input_search", disabled: !this.certificatesDecoded.length, placeholder: "Search" })));
|
|
238
242
|
}
|
|
239
|
-
// eslint-disable-next-line class-methods-use-this
|
|
240
243
|
renderEmptyState() {
|
|
244
|
+
const colSpan = this.getMaxColSpanValue();
|
|
241
245
|
return (h("tr", null,
|
|
242
|
-
h("td", { class: "status_wrapper", colSpan:
|
|
246
|
+
h("td", { class: "status_wrapper", colSpan: colSpan },
|
|
243
247
|
h("peculiar-typography", { type: "b1", align: "center" }, "There are no certificates available."))));
|
|
244
248
|
}
|
|
245
249
|
renderEmptySearchState() {
|
|
250
|
+
const colSpan = this.getMaxColSpanValue();
|
|
246
251
|
return (h("tr", null,
|
|
247
|
-
h("td", { class: "status_wrapper", colSpan:
|
|
252
|
+
h("td", { class: "status_wrapper", colSpan: colSpan },
|
|
248
253
|
h("peculiar-typography", { type: "b1", align: "center" },
|
|
249
254
|
"No results found for \u201C",
|
|
250
255
|
this.search,
|
|
@@ -14,6 +14,7 @@ import { Thumbprints } from '../certificate-viewer/thumbprints';
|
|
|
14
14
|
import { Attributes } from '../certificate-viewer/attributes';
|
|
15
15
|
import { Extensions } from '../certificate-viewer/extensions';
|
|
16
16
|
import { Miscellaneous } from '../certificate-viewer/miscellaneous';
|
|
17
|
+
import { BasicInformation } from '../certificate-viewer/basic_information';
|
|
17
18
|
export class CsrViewer {
|
|
18
19
|
constructor() {
|
|
19
20
|
this.isDecodeInProcess = true;
|
|
@@ -103,6 +104,7 @@ export class CsrViewer {
|
|
|
103
104
|
const extensionRequestAttribute = this.getExtensionRequestAttribute();
|
|
104
105
|
return (h(Host, { "data-view": this.view },
|
|
105
106
|
h("table", null,
|
|
107
|
+
h(BasicInformation, Object.assign({}, this.certificateDecoded)),
|
|
106
108
|
h(SubjectName, { name: this.certificateDecoded.subject }),
|
|
107
109
|
h(PublicKey, { publicKey: this.certificateDecoded.publicKey }),
|
|
108
110
|
h(Signature, { signature: this.certificateDecoded.signature }),
|
|
@@ -18,6 +18,7 @@ export class CSR extends AsnData {
|
|
|
18
18
|
constructor(raw) {
|
|
19
19
|
super(certificateRawToBuffer(raw), CertificationRequest);
|
|
20
20
|
this.thumbprints = {};
|
|
21
|
+
this.type = 'PKCS#10 Certificate Request';
|
|
21
22
|
const { certificationRequestInfo } = this.asn;
|
|
22
23
|
this.subject = new Name(certificationRequestInfo.subject).toJSON();
|
|
23
24
|
this.version = certificationRequestInfo.version;
|
|
@@ -18,6 +18,7 @@ export class X509AttributeCertificate extends AsnData {
|
|
|
18
18
|
var _a;
|
|
19
19
|
super(certificateRawToBuffer(raw), AttributeCertificate);
|
|
20
20
|
this.thumbprints = {};
|
|
21
|
+
this.type = 'X.509 Attribute Certificate';
|
|
21
22
|
const { acinfo } = this.asn;
|
|
22
23
|
this.serialNumber = Convert.ToHex(acinfo.serialNumber);
|
|
23
24
|
this.version = acinfo.version;
|
|
@@ -19,6 +19,7 @@ export class X509Certificate extends AsnData {
|
|
|
19
19
|
constructor(raw) {
|
|
20
20
|
super(certificateRawToBuffer(raw), Certificate);
|
|
21
21
|
this.thumbprints = {};
|
|
22
|
+
this.type = 'X.509 Certificate';
|
|
22
23
|
const { tbsCertificate } = this.asn;
|
|
23
24
|
this.serialNumber = Convert.ToHex(tbsCertificate.serialNumber);
|
|
24
25
|
this.subject = new Name(tbsCertificate.subject).toJSON();
|
|
@@ -6834,7 +6834,7 @@ var build = createCommonjsModule(function (module, exports) {
|
|
|
6834
6834
|
|
|
6835
6835
|
(function (global, factory) {
|
|
6836
6836
|
factory(exports) ;
|
|
6837
|
-
}(commonjsGlobal, (function (exports) {
|
|
6837
|
+
})(commonjsGlobal, (function (exports) {
|
|
6838
6838
|
class BufferSourceConverter {
|
|
6839
6839
|
static isArrayBuffer(data) {
|
|
6840
6840
|
return Object.prototype.toString.call(data) === '[object ArrayBuffer]';
|
|
@@ -6869,6 +6869,19 @@ var build = createCommonjsModule(function (module, exports) {
|
|
|
6869
6869
|
return ArrayBuffer.isView(data)
|
|
6870
6870
|
|| (data && this.isArrayBuffer(data.buffer));
|
|
6871
6871
|
}
|
|
6872
|
+
static isEqual(a, b) {
|
|
6873
|
+
const aView = BufferSourceConverter.toUint8Array(a);
|
|
6874
|
+
const bView = BufferSourceConverter.toUint8Array(b);
|
|
6875
|
+
if (aView.length !== bView.byteLength) {
|
|
6876
|
+
return false;
|
|
6877
|
+
}
|
|
6878
|
+
for (let i = 0; i < aView.length; i++) {
|
|
6879
|
+
if (aView[i] !== bView[i]) {
|
|
6880
|
+
return false;
|
|
6881
|
+
}
|
|
6882
|
+
}
|
|
6883
|
+
return true;
|
|
6884
|
+
}
|
|
6872
6885
|
}
|
|
6873
6886
|
|
|
6874
6887
|
class Utf8Converter {
|
|
@@ -7151,7 +7164,7 @@ var build = createCommonjsModule(function (module, exports) {
|
|
|
7151
7164
|
|
|
7152
7165
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7153
7166
|
|
|
7154
|
-
}))
|
|
7167
|
+
}));
|
|
7155
7168
|
});
|
|
7156
7169
|
|
|
7157
7170
|
const index = unwrapExports(build);
|
|
@@ -9176,6 +9189,24 @@ CertificatePolicies = CertificatePolicies_1 = __decorate([
|
|
|
9176
9189
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: PolicyInformation })
|
|
9177
9190
|
], CertificatePolicies);
|
|
9178
9191
|
|
|
9192
|
+
let CRLNumber = class CRLNumber {
|
|
9193
|
+
constructor(value = 0) {
|
|
9194
|
+
this.value = value;
|
|
9195
|
+
}
|
|
9196
|
+
};
|
|
9197
|
+
__decorate([
|
|
9198
|
+
AsnProp({ type: AsnPropTypes.Integer })
|
|
9199
|
+
], CRLNumber.prototype, "value", void 0);
|
|
9200
|
+
CRLNumber = __decorate([
|
|
9201
|
+
AsnType({ type: AsnTypeTypes.Choice })
|
|
9202
|
+
], CRLNumber);
|
|
9203
|
+
|
|
9204
|
+
let BaseCRLNumber = class BaseCRLNumber extends CRLNumber {
|
|
9205
|
+
};
|
|
9206
|
+
BaseCRLNumber = __decorate([
|
|
9207
|
+
AsnType({ type: AsnTypeTypes.Choice })
|
|
9208
|
+
], BaseCRLNumber);
|
|
9209
|
+
|
|
9179
9210
|
var CRLDistributionPoints_1;
|
|
9180
9211
|
const id_ce_cRLDistributionPoints = `${id_ce}.31`;
|
|
9181
9212
|
var ReasonFlags;
|
|
@@ -9265,6 +9296,50 @@ CRLDistributionPoints = CRLDistributionPoints_1 = __decorate([
|
|
|
9265
9296
|
AsnType({ type: AsnTypeTypes.Sequence, itemType: DistributionPoint })
|
|
9266
9297
|
], CRLDistributionPoints);
|
|
9267
9298
|
|
|
9299
|
+
var FreshestCRL_1;
|
|
9300
|
+
let FreshestCRL = FreshestCRL_1 = class FreshestCRL extends CRLDistributionPoints {
|
|
9301
|
+
constructor(items) {
|
|
9302
|
+
super(items);
|
|
9303
|
+
Object.setPrototypeOf(this, FreshestCRL_1.prototype);
|
|
9304
|
+
}
|
|
9305
|
+
};
|
|
9306
|
+
FreshestCRL = FreshestCRL_1 = __decorate([
|
|
9307
|
+
AsnType({ type: AsnTypeTypes.Sequence, itemType: DistributionPoint })
|
|
9308
|
+
], FreshestCRL);
|
|
9309
|
+
|
|
9310
|
+
class IssuingDistributionPoint {
|
|
9311
|
+
constructor(params = {}) {
|
|
9312
|
+
this.onlyContainsUserCerts = IssuingDistributionPoint.ONLY;
|
|
9313
|
+
this.onlyContainsCACerts = IssuingDistributionPoint.ONLY;
|
|
9314
|
+
this.indirectCRL = IssuingDistributionPoint.ONLY;
|
|
9315
|
+
this.onlyContainsAttributeCerts = IssuingDistributionPoint.ONLY;
|
|
9316
|
+
Object.assign(this, params);
|
|
9317
|
+
}
|
|
9318
|
+
;
|
|
9319
|
+
;
|
|
9320
|
+
;
|
|
9321
|
+
;
|
|
9322
|
+
}
|
|
9323
|
+
IssuingDistributionPoint.ONLY = false;
|
|
9324
|
+
__decorate([
|
|
9325
|
+
AsnProp({ type: DistributionPointName, context: 0, optional: true })
|
|
9326
|
+
], IssuingDistributionPoint.prototype, "distributionPoint", void 0);
|
|
9327
|
+
__decorate([
|
|
9328
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 1, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9329
|
+
], IssuingDistributionPoint.prototype, "onlyContainsUserCerts", void 0);
|
|
9330
|
+
__decorate([
|
|
9331
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 2, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9332
|
+
], IssuingDistributionPoint.prototype, "onlyContainsCACerts", void 0);
|
|
9333
|
+
__decorate([
|
|
9334
|
+
AsnProp({ type: Reason, context: 3, optional: true })
|
|
9335
|
+
], IssuingDistributionPoint.prototype, "onlySomeReasons", void 0);
|
|
9336
|
+
__decorate([
|
|
9337
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 4, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9338
|
+
], IssuingDistributionPoint.prototype, "indirectCRL", void 0);
|
|
9339
|
+
__decorate([
|
|
9340
|
+
AsnProp({ type: AsnPropTypes.Boolean, context: 5, defaultValue: IssuingDistributionPoint.ONLY })
|
|
9341
|
+
], IssuingDistributionPoint.prototype, "onlyContainsAttributeCerts", void 0);
|
|
9342
|
+
|
|
9268
9343
|
const id_ce_cRLReasons = `${id_ce}.21`;
|
|
9269
9344
|
var CRLReasons;
|
|
9270
9345
|
(function (CRLReasons) {
|
|
@@ -13823,6 +13898,7 @@ class X509Certificate extends AsnData {
|
|
|
13823
13898
|
constructor(raw) {
|
|
13824
13899
|
super(certificateRawToBuffer(raw), Certificate);
|
|
13825
13900
|
this.thumbprints = {};
|
|
13901
|
+
this.type = 'X.509 Certificate';
|
|
13826
13902
|
const { tbsCertificate } = this.asn;
|
|
13827
13903
|
this.serialNumber = index.Convert.ToHex(tbsCertificate.serialNumber);
|
|
13828
13904
|
this.subject = new Name$1(tbsCertificate.subject).toJSON();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, H as Host, c as createEvent } from './index-5ef692cc.js';
|
|
2
|
-
import { A as AsnData, a as Attribute$1, i as index, b as id_pkcs9_at_extensionRequest, c as AsnParser, E as ExtensionRequest, d as Extension, e as AsnConvert, f as id_pkcs9_at_unstructuredName, U as UnstructuredName, g as id_pkcs9_at_challengePassword, C as ChallengePassword, h as id_ValuationRanking, V as ValuationRanking, j as id_InsuranceValue, I as InsuranceValue, k as id_WebGDPR, W as WebGDPR, l as id_ActivityDescription, m as ActivityDescription, n as id_TypeRelationship, T as TypeRelationship, o as id_DomainNameTechnicalOperator, D as DomainNameTechnicalOperator, p as id_DomainNameOwner, q as DomainNameOwner, r as id_DomainNameLegalRepresentative, s as DomainNameLegalRepresentative, t as id_DomainNameBeneficiary, u as DomainNameBeneficiary, v as certificateRawToBuffer, w as AttributeCertificate, x as getCertificateThumbprint, y as hexFormat, z as base64Format, B as CertificationRequest, N as Name, F as id_ecPublicKey, G as ECParameters, H as id_rsaEncryption, R as RSAPublicKey, O as OIDs, J as Name$1, K as OtherName, L as DisplayText, M as EDIPartyName, P as UserNotice, Q as KeyUsage, S as BasicConstraints, X as ExtendedKeyUsage, Y as SubjectKeyIdentifier, Z as AuthorityKeyIdentifier, _ as CRLDistributionPoints, $ as AuthorityInfoAccessSyntax, a0 as SubjectAlternativeName, a1 as CertificatePolicies, a2 as CertificateTransparency, a3 as NameConstraints, a4 as CertificateTemplate, a5 as EnrollCertTypeChoice, a6 as CaVersion, a7 as QCStatements, a8 as NetscapeComment, a9 as NetscapeCertType, aa as LeiRole, ab as LeiChoice, ac as Timestamp, ad as ArchiveRevInfo, ae as CRLReason, af as SubjectDirectoryAttributes, ag as PrivateKeyUsagePeriod, ah as EntrustVersionInfo, ai as BiometricSyntax, aj as LogotypeExtn, ak as TNAuthorizationList, al as Download, am as isPem, an as isX509Pem, ao as isPkcs10Pem, ap as isX509AttributePem, aq as X509Certificate } from './download-
|
|
2
|
+
import { A as AsnData, a as Attribute$1, i as index, b as id_pkcs9_at_extensionRequest, c as AsnParser, E as ExtensionRequest, d as Extension, e as AsnConvert, f as id_pkcs9_at_unstructuredName, U as UnstructuredName, g as id_pkcs9_at_challengePassword, C as ChallengePassword, h as id_ValuationRanking, V as ValuationRanking, j as id_InsuranceValue, I as InsuranceValue, k as id_WebGDPR, W as WebGDPR, l as id_ActivityDescription, m as ActivityDescription, n as id_TypeRelationship, T as TypeRelationship, o as id_DomainNameTechnicalOperator, D as DomainNameTechnicalOperator, p as id_DomainNameOwner, q as DomainNameOwner, r as id_DomainNameLegalRepresentative, s as DomainNameLegalRepresentative, t as id_DomainNameBeneficiary, u as DomainNameBeneficiary, v as certificateRawToBuffer, w as AttributeCertificate, x as getCertificateThumbprint, y as hexFormat, z as base64Format, B as CertificationRequest, N as Name, F as id_ecPublicKey, G as ECParameters, H as id_rsaEncryption, R as RSAPublicKey, O as OIDs, J as Name$1, K as OtherName, L as DisplayText, M as EDIPartyName, P as UserNotice, Q as KeyUsage, S as BasicConstraints, X as ExtendedKeyUsage, Y as SubjectKeyIdentifier, Z as AuthorityKeyIdentifier, _ as CRLDistributionPoints, $ as AuthorityInfoAccessSyntax, a0 as SubjectAlternativeName, a1 as CertificatePolicies, a2 as CertificateTransparency, a3 as NameConstraints, a4 as CertificateTemplate, a5 as EnrollCertTypeChoice, a6 as CaVersion, a7 as QCStatements, a8 as NetscapeComment, a9 as NetscapeCertType, aa as LeiRole, ab as LeiChoice, ac as Timestamp, ad as ArchiveRevInfo, ae as CRLReason, af as SubjectDirectoryAttributes, ag as PrivateKeyUsagePeriod, ah as EntrustVersionInfo, ai as BiometricSyntax, aj as LogotypeExtn, ak as TNAuthorizationList, al as Download, am as isPem, an as isX509Pem, ao as isPkcs10Pem, ap as isX509AttributePem, aq as X509Certificate } from './download-c6153e99.js';
|
|
3
3
|
import { d as dateDiff, l as l10n, a as dateShort, h as history } from './l10n-25aa4c54.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -106,6 +106,7 @@ class X509AttributeCertificate extends AsnData {
|
|
|
106
106
|
var _a;
|
|
107
107
|
super(certificateRawToBuffer(raw), AttributeCertificate);
|
|
108
108
|
this.thumbprints = {};
|
|
109
|
+
this.type = 'X.509 Attribute Certificate';
|
|
109
110
|
const { acinfo } = this.asn;
|
|
110
111
|
this.serialNumber = index.Convert.ToHex(acinfo.serialNumber);
|
|
111
112
|
this.version = acinfo.version;
|
|
@@ -178,6 +179,7 @@ class CSR extends AsnData {
|
|
|
178
179
|
constructor(raw) {
|
|
179
180
|
super(certificateRawToBuffer(raw), CertificationRequest);
|
|
180
181
|
this.thumbprints = {};
|
|
182
|
+
this.type = 'PKCS#10 Certificate Request';
|
|
181
183
|
const { certificationRequestInfo } = this.asn;
|
|
182
184
|
this.subject = new Name(certificationRequestInfo.subject).toJSON();
|
|
183
185
|
this.version = certificationRequestInfo.version;
|
|
@@ -1375,14 +1377,15 @@ const Extensions = (props) => {
|
|
|
1375
1377
|
* LICENSE file in the root directory of this source tree.
|
|
1376
1378
|
*/
|
|
1377
1379
|
const BasicInformation = (props) => {
|
|
1378
|
-
const { serialNumber, version, validity, notBefore, notAfter, } = props;
|
|
1380
|
+
const { serialNumber, version, validity, notBefore, notAfter, type, } = props;
|
|
1379
1381
|
return [
|
|
1380
1382
|
h(RowTitle, { value: l10n.getString('basicInformation') }),
|
|
1383
|
+
h(RowValue, { name: l10n.getString('type'), value: type }),
|
|
1381
1384
|
h(RowValue, { name: l10n.getString('serialNumber'), value: serialNumber, monospace: true }),
|
|
1382
1385
|
h(RowValue, { name: l10n.getString('version'), value: version }),
|
|
1383
1386
|
h(RowValue, { name: l10n.getString('validity'), value: validity }),
|
|
1384
|
-
h(RowValue, { name: l10n.getString('issued'), value: dateShort(notBefore) }),
|
|
1385
|
-
h(RowValue, { name: l10n.getString('expired'), value: dateShort(notAfter) }),
|
|
1387
|
+
h(RowValue, { name: l10n.getString('issued'), value: notBefore ? dateShort(notBefore) : undefined }),
|
|
1388
|
+
h(RowValue, { name: l10n.getString('expired'), value: notAfter ? dateShort(notAfter) : undefined }),
|
|
1386
1389
|
];
|
|
1387
1390
|
};
|
|
1388
1391
|
|
|
@@ -1567,7 +1570,7 @@ const AttributeCertificateViewer = class {
|
|
|
1567
1570
|
};
|
|
1568
1571
|
AttributeCertificateViewer.style = certificateViewerCss;
|
|
1569
1572
|
|
|
1570
|
-
const buttonCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:inline-block;width:auto;cursor:pointer;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;--pv-button-padding-end:5px;--pv-button-padding-start:5px}.button{font-family:\"Open Sans\", \"Arial\", sans-serif;font-family:var(--pv-font-family);font-size:13px;font-size:var(--pv-font-size-b3);letter-spacing:0.03em;letter-spacing:var(--pv-letter-spacing-normal);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:
|
|
1573
|
+
const buttonCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:inline-block;width:auto;cursor:pointer;position:relative;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-ms-touch-action:manipulation;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;text-size-adjust:none;--pv-button-padding-end:5px;--pv-button-padding-start:5px}.button{font-family:\"Open Sans\", \"Arial\", sans-serif;font-family:var(--pv-font-family);font-size:13px;font-size:var(--pv-font-size-b3);letter-spacing:0.03em;letter-spacing:var(--pv-letter-spacing-normal);display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;border-style:solid;border-width:1px;font-weight:400;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;vertical-align:middle;cursor:inherit;height:30px;line-height:30px;border-radius:2px;padding:0 5px;padding:0 var(--pv-button-padding-end) 0 var(--pv-button-padding-start)}.button::-moz-focus-inner{border:0}.button:focus{outline:none;-webkit-box-shadow:0 4px 10px 0 rgba(var(--pv-color-dark-rgb), 0.1);box-shadow:0 4px 10px 0 rgba(var(--pv-color-dark-rgb), 0.1)}.button[disabled]{opacity:0.5;cursor:not-allowed}.button_stroke{border-color:rgba(53, 132, 247, 0.3);border-color:rgba(var(--pv-color-primary-rgb), 0.3);color:#3584f7;color:rgba(var(--pv-color-primary-rgb), 1);background-color:transparent}.button_fill{border-color:#3584f7;border-color:rgba(var(--pv-color-primary-rgb), 1);background-color:#3584f7;background-color:rgba(var(--pv-color-primary-rgb), 1);color:white;color:rgba(var(--pv-color-light-rgb), 1)}.button_label{-webkit-transition:opacity 200ms;transition:opacity 200ms}.button:hover .button_label{opacity:0.7}";
|
|
1571
1574
|
|
|
1572
1575
|
const Button = class {
|
|
1573
1576
|
constructor(hostRef) {
|
|
@@ -2010,7 +2013,7 @@ const CsrViewer = class {
|
|
|
2010
2013
|
return this.renderEmptyState();
|
|
2011
2014
|
}
|
|
2012
2015
|
const extensionRequestAttribute = this.getExtensionRequestAttribute();
|
|
2013
|
-
return (h(Host, { "data-view": this.view }, h("table", null, h(SubjectName, { name: this.certificateDecoded.subject }), h(PublicKey, { publicKey: this.certificateDecoded.publicKey }), h(Signature, { signature: this.certificateDecoded.signature }), h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), h(Attributes, { attributes: this.certificateDecoded.attributes, getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), h(Extensions, { extensions: extensionRequestAttribute === null || extensionRequestAttribute === void 0 ? void 0 : extensionRequestAttribute.value, title: "Extension Request", getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), this.download && (h(Miscellaneous, { certificate: this.certificateDecoded })))));
|
|
2016
|
+
return (h(Host, { "data-view": this.view }, h("table", null, h(BasicInformation, Object.assign({}, this.certificateDecoded)), h(SubjectName, { name: this.certificateDecoded.subject }), h(PublicKey, { publicKey: this.certificateDecoded.publicKey }), h(Signature, { signature: this.certificateDecoded.signature }), h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), h(Attributes, { attributes: this.certificateDecoded.attributes, getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), h(Extensions, { extensions: extensionRequestAttribute === null || extensionRequestAttribute === void 0 ? void 0 : extensionRequestAttribute.value, title: "Extension Request", getLEILink: this.getLEILink, getDNSNameLink: this.getDNSNameLink, getIPAddressLink: this.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink, getSubjectKeyIdChildrenLink: this.getSubjectKeyIdChildrenLink, getSubjectKeyIdSiblingsLink: this.getSubjectKeyIdSiblingsLink }), this.download && (h(Miscellaneous, { certificate: this.certificateDecoded })))));
|
|
2014
2017
|
}
|
|
2015
2018
|
static get watchers() { return {
|
|
2016
2019
|
"certificate": ["watchCertificateAndDecode"]
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host } from './index-5ef692cc.js';
|
|
2
|
-
import { aq as X509Certificate, al as Download, O as OIDs } from './download-
|
|
2
|
+
import { aq as X509Certificate, al as Download, O as OIDs } from './download-c6153e99.js';
|
|
3
3
|
import { l as l10n } from './l10n-25aa4c54.js';
|
|
4
4
|
|
|
5
5
|
const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-moz-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search:-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-webkit-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.loading_container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42, 49, 52, 0.3);background:rgba(var(--pv-color-dark-rgb), 0.3);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.align_center{text-align:center}@media (hover: hover){table tbody tr:not(.expanded_summary):hover{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}}@media (max-width: 900px){table,tbody,tr,td{display:block}thead{display:none}tr{padding:0 15px;border-width:1px;border-style:solid}tr:not(:first-child){margin-top:-1px}tr:not(.expanded_summary) td:first-child{border:none !important}table td{padding-left:0;padding-right:0;border-width:1px 0 0 0 !important;border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr.expanded_summary td{padding:15px 0}.mobile_title{display:inline-block;width:90px;vertical-align:middle}.modal_title{padding:17px 60px 17px 15px}.content{display:inline-block;width:calc(100% - 90px);vertical-align:middle;text-align:left}.expanded_summary{border-top-color:transparent;padding-bottom:10px}.expanded_summary td:before{content:none}.status_wrapper{height:266px;display:table-cell}.search_section{height:60px;padding:15px}.align_center{text-align:inherit}}";
|
|
@@ -109,7 +109,7 @@ const CertificatesViewer = class {
|
|
|
109
109
|
? undefined
|
|
110
110
|
: index;
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
getMaxColSpanValue() {
|
|
113
113
|
let colSpan = 4;
|
|
114
114
|
if (this.isHasTests) {
|
|
115
115
|
colSpan += 1;
|
|
@@ -117,6 +117,10 @@ const CertificatesViewer = class {
|
|
|
117
117
|
if (!this.isHasRoots) {
|
|
118
118
|
colSpan += 1;
|
|
119
119
|
}
|
|
120
|
+
return colSpan;
|
|
121
|
+
}
|
|
122
|
+
renderExpandedRow(certificate) {
|
|
123
|
+
const colSpan = this.getMaxColSpanValue();
|
|
120
124
|
return (h("tr", { class: "expanded_summary" }, h("td", { colSpan: colSpan }, h("peculiar-certificate-summary", { certificate: certificate, showIssuer: !certificate.isRoot }))));
|
|
121
125
|
}
|
|
122
126
|
// eslint-disable-next-line class-methods-use-this
|
|
@@ -185,12 +189,13 @@ const CertificatesViewer = class {
|
|
|
185
189
|
}
|
|
186
190
|
return (h("div", { class: "search_section" }, h("input", { onInput: this.handleSearch, type: "search", value: "", class: "input_search", disabled: !this.certificatesDecoded.length, placeholder: "Search" })));
|
|
187
191
|
}
|
|
188
|
-
// eslint-disable-next-line class-methods-use-this
|
|
189
192
|
renderEmptyState() {
|
|
190
|
-
|
|
193
|
+
const colSpan = this.getMaxColSpanValue();
|
|
194
|
+
return (h("tr", null, h("td", { class: "status_wrapper", colSpan: colSpan }, h("peculiar-typography", { type: "b1", align: "center" }, "There are no certificates available."))));
|
|
191
195
|
}
|
|
192
196
|
renderEmptySearchState() {
|
|
193
|
-
|
|
197
|
+
const colSpan = this.getMaxColSpanValue();
|
|
198
|
+
return (h("tr", null, h("td", { class: "status_wrapper", colSpan: colSpan }, h("peculiar-typography", { type: "b1", align: "center" }, "No results found for \u201C", this.search, "\u201C"))));
|
|
194
199
|
}
|
|
195
200
|
// eslint-disable-next-line class-methods-use-this
|
|
196
201
|
renderLoadingState() {
|