@peculiar/certificates-viewer 3.3.1 → 3.4.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 (41) hide show
  1. package/dist/cjs/{certification_request-50ce61b3.js → certification_request-b5fe8a57.js} +6 -6
  2. package/dist/cjs/{crl-0c15e04a.js → crl-a1ac7534.js} +11 -2
  3. package/dist/cjs/{l10n-4eaa5263.js → l10n-17c96aba.js} +5 -3
  4. package/dist/cjs/peculiar-attribute-certificate-viewer_3.cjs.entry.js +23 -8
  5. package/dist/cjs/peculiar-certificate-decoder.cjs.entry.js +4 -4
  6. package/dist/cjs/peculiar-certificate-summary_3.cjs.entry.js +1 -1
  7. package/dist/cjs/peculiar-certificate-viewer.cjs.entry.js +4 -4
  8. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +3 -3
  9. package/dist/cjs/{public_key-2b73778a.js → public_key-3d4ae164.js} +2 -2
  10. package/dist/cjs/{x509_certificate-c94ce29e.js → x509_certificate-29a3636a.js} +2 -2
  11. package/dist/collection/components/crl-viewer/crl-viewer.js +1 -1
  12. package/dist/collection/components/crl-viewer/revoked_certificates.js +20 -3
  13. package/dist/collection/crypto/crl.js +9 -0
  14. package/dist/collection/locales/en.json +3 -2
  15. package/dist/esm/{certification_request-5b5c2fa2.js → certification_request-35ade000.js} +2 -2
  16. package/dist/esm/{crl-10d4db54.js → crl-42d5e233.js} +11 -2
  17. package/dist/esm/{l10n-116c79fa.js → l10n-a68d5748.js} +5 -3
  18. package/dist/esm/peculiar-attribute-certificate-viewer_3.entry.js +23 -8
  19. package/dist/esm/peculiar-certificate-decoder.entry.js +4 -4
  20. package/dist/esm/peculiar-certificate-summary_3.entry.js +1 -1
  21. package/dist/esm/peculiar-certificate-viewer.entry.js +4 -4
  22. package/dist/esm/peculiar-certificates-viewer.entry.js +3 -3
  23. package/dist/esm/{public_key-c1e6801e.js → public_key-b2dba162.js} +2 -2
  24. package/dist/esm/{x509_certificate-61126913.js → x509_certificate-2503dcc1.js} +2 -2
  25. package/dist/peculiar/locales/en.json +3 -2
  26. package/dist/peculiar/p-1a8379f0.entry.js +26 -0
  27. package/dist/peculiar/{p-7ef69178.entry.js → p-3d0fdbd5.entry.js} +1 -1
  28. package/dist/peculiar/{p-53aac672.js → p-54171e39.js} +3 -3
  29. package/dist/peculiar/{p-5a898f51.js → p-6cd6e6da.js} +5 -5
  30. package/dist/peculiar/{p-318a1e9f.entry.js → p-7a0fb5a8.entry.js} +1 -1
  31. package/dist/peculiar/{p-652f77d0.entry.js → p-870c3592.entry.js} +1 -1
  32. package/dist/peculiar/{p-bbf0fd6c.js → p-a5d07697.js} +2 -2
  33. package/dist/peculiar/{p-309fdd02.js → p-b7045733.js} +1 -1
  34. package/dist/peculiar/{p-10aa0b03.entry.js → p-cb9b9f9c.entry.js} +2 -2
  35. package/dist/peculiar/{p-ed58acd0.js → p-fec9d812.js} +2 -2
  36. package/dist/peculiar/peculiar.esm.js +1 -1
  37. package/dist/types/components/crl-viewer/revoked_certificates.d.ts +2 -2
  38. package/dist/types/crypto/crl.d.ts +7 -1
  39. package/dist/types/utils/l10n.d.ts +2 -1
  40. package/package.json +2 -2
  41. package/dist/peculiar/p-ff867be1.entry.js +0 -26
@@ -4,7 +4,7 @@
4
4
  'use strict';
5
5
 
6
6
  const download = require('./download-a97f4cb2.js');
7
- require('./l10n-4eaa5263.js');
7
+ require('./l10n-17c96aba.js');
8
8
 
9
9
  /**
10
10
  * @license
@@ -5765,7 +5765,7 @@ InhibitAnyPolicy = __decorate([
5765
5765
  ], InhibitAnyPolicy);
5766
5766
 
5767
5767
  const id_ce_invalidityDate = `${id_ce}.24`;
5768
- let InvalidityDate = class InvalidityDate {
5768
+ exports.InvalidityDate = class InvalidityDate {
5769
5769
  constructor(value) {
5770
5770
  this.value = new Date();
5771
5771
  if (value) {
@@ -5775,10 +5775,10 @@ let InvalidityDate = class InvalidityDate {
5775
5775
  };
5776
5776
  __decorate([
5777
5777
  AsnProp({ type: AsnPropTypes.GeneralizedTime })
5778
- ], InvalidityDate.prototype, "value", void 0);
5779
- InvalidityDate = __decorate([
5778
+ ], exports.InvalidityDate.prototype, "value", void 0);
5779
+ exports.InvalidityDate = __decorate([
5780
5780
  AsnType({ type: AsnTypeTypes.Choice })
5781
- ], InvalidityDate);
5781
+ ], exports.InvalidityDate);
5782
5782
 
5783
5783
  var IssueAlternativeName_1;
5784
5784
  const id_ce_issuerAltName = `${id_ce}.18`;
@@ -10104,7 +10104,7 @@ class Extension extends AsnData {
10104
10104
  this.value = AsnParser.parse(asnExtnValue, InhibitAnyPolicy);
10105
10105
  break;
10106
10106
  case id_ce_invalidityDate:
10107
- this.value = AsnParser.parse(asnExtnValue, InvalidityDate);
10107
+ this.value = AsnParser.parse(asnExtnValue, exports.InvalidityDate);
10108
10108
  break;
10109
10109
  case id_ce_issuerAltName:
10110
10110
  this.value = AsnParser.parse(asnExtnValue, IssueAlternativeName);
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const certification_request = require('./certification_request-50ce61b3.js');
6
+ const certification_request = require('./certification_request-b5fe8a57.js');
7
7
  const download = require('./download-a97f4cb2.js');
8
- const l10n = require('./l10n-4eaa5263.js');
8
+ const l10n = require('./l10n-17c96aba.js');
9
9
 
10
10
  /**
11
11
  * @license
@@ -252,6 +252,15 @@ class CRL extends certification_request.AsnData {
252
252
  this.version = tbsCertList.version + 1;
253
253
  this.lastUpdate = tbsCertList.thisUpdate.getTime();
254
254
  this.nextUpdate = tbsCertList.nextUpdate.getTime();
255
+ this.revokedCertificates = (tbsCertList.revokedCertificates || [])
256
+ .map((revokedCertificate) => {
257
+ var _a;
258
+ return ({
259
+ revocationDate: revokedCertificate.revocationDate,
260
+ userCertificate: revokedCertificate.userCertificate,
261
+ crlEntryExtensions: (_a = revokedCertificate.crlEntryExtensions) === null || _a === void 0 ? void 0 : _a.map((e) => new certification_request.Extension(certification_request.AsnConvert.serialize(e))),
262
+ });
263
+ });
255
264
  }
256
265
  async getThumbprint(algorithm = 'SHA-1') {
257
266
  try {
@@ -66,7 +66,7 @@ const holder = "Holder";
66
66
  const digestInfo = "Digest Info";
67
67
  const type = "Type";
68
68
  const revokedCertificates = "Revoked Certificates";
69
- const revocation = "Revocation";
69
+ const revocationDate = "Revocation Date";
70
70
  const yes = "Yes";
71
71
  const no = "No";
72
72
  const onlyUserCertificates = "Only User Certificates";
@@ -74,6 +74,7 @@ const onlyAttributeCertificates = "Only Attribute Certificates";
74
74
  const onlyCACertificates = "Only CA Certificates";
75
75
  const indirectCRL = "Indirect CRL";
76
76
  const onlyReasons = "Only Reasons";
77
+ const crlEntryExtensions = "CRL Entry Extensions";
77
78
  const en = {
78
79
  basicInformation: basicInformation,
79
80
  subjectName: subjectName,
@@ -112,14 +113,15 @@ const en = {
112
113
  digestInfo: digestInfo,
113
114
  type: type,
114
115
  revokedCertificates: revokedCertificates,
115
- revocation: revocation,
116
+ revocationDate: revocationDate,
116
117
  yes: yes,
117
118
  no: no,
118
119
  onlyUserCertificates: onlyUserCertificates,
119
120
  onlyAttributeCertificates: onlyAttributeCertificates,
120
121
  onlyCACertificates: onlyCACertificates,
121
122
  indirectCRL: indirectCRL,
122
- onlyReasons: onlyReasons
123
+ onlyReasons: onlyReasons,
124
+ crlEntryExtensions: crlEntryExtensions
123
125
  };
124
126
 
125
127
  /**
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-064e95c7.js');
9
- const certification_request = require('./certification_request-50ce61b3.js');
9
+ const certification_request = require('./certification_request-b5fe8a57.js');
10
10
  const download = require('./download-a97f4cb2.js');
11
- const l10n = require('./l10n-4eaa5263.js');
12
- const crl = require('./crl-0c15e04a.js');
13
- const public_key = require('./public_key-2b73778a.js');
11
+ const l10n = require('./l10n-17c96aba.js');
12
+ const crl = require('./crl-a1ac7534.js');
13
+ const public_key = require('./public_key-3d4ae164.js');
14
14
 
15
15
  /**
16
16
  * @license
@@ -390,12 +390,27 @@ AttributeCertificateViewer.style = certificateViewerCss$2;
390
390
  * LICENSE file in the root directory of this source tree.
391
391
  */
392
392
  const RevokedCertificates = (props) => {
393
- const { certificates, } = props;
393
+ const { revokedCertificates, } = props;
394
+ if (!revokedCertificates || !revokedCertificates.length) {
395
+ return null;
396
+ }
394
397
  return [
395
398
  index.h(public_key.RowTitle, { value: l10n.l10n.getString('revokedCertificates') }),
396
- certificates.map((certificate) => ([
399
+ revokedCertificates.map((certificate) => ([
397
400
  index.h(public_key.RowValue, { name: l10n.l10n.getString('serialNumber'), value: download.build.Convert.ToHex(certificate.userCertificate), monospace: true }),
398
- index.h(public_key.RowValue, { name: l10n.l10n.getString('revocation'), value: l10n.dateShort(certificate.revocationDate.getTime()) }),
401
+ index.h(public_key.RowValue, { name: l10n.l10n.getString('revocationDate'), value: l10n.dateShort(certificate.revocationDate.getTime()) }),
402
+ (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([
403
+ index.h(public_key.RowValue, { name: `${l10n.l10n.getString('crlEntryExtensions')}:`, value: "" }),
404
+ certificate.crlEntryExtensions.map((extension) => {
405
+ if (extension.value instanceof certification_request.CRLReason) {
406
+ return (index.h(public_key.RowValue, { name: public_key.getStringByOID(extension.asn.extnID), value: extension.value.toJSON() || extension.value.reason }));
407
+ }
408
+ if (extension.value instanceof certification_request.InvalidityDate) {
409
+ return (index.h(public_key.RowValue, { name: public_key.getStringByOID(extension.asn.extnID), value: extension.value.value.getTime() }));
410
+ }
411
+ return (index.h(public_key.RowValue, { name: public_key.getStringByOID(extension.asn.extnID), value: download.build.Convert.ToHex(extension.asn.extnValue), monospace: true }));
412
+ }),
413
+ ])),
399
414
  index.h("tr", null,
400
415
  index.h("td", { colSpan: 2, class: "divider" },
401
416
  index.h("span", { class: "bg_fill" }))),
@@ -478,7 +493,7 @@ const CrlViewer = class {
478
493
  if (!this.certificateDecoded) {
479
494
  return this.renderEmptyState();
480
495
  }
481
- return (index.h(index.Host, { "data-view": this.view }, index.h("table", null, index.h(public_key.BasicInformation, Object.assign({}, this.certificateDecoded)), index.h(public_key.IssuerName, { name: this.certificateDecoded.issuer, issuerDnLink: this.getIssuerDnLink() }), index.h(public_key.Signature, { signature: this.certificateDecoded.signature }), index.h(public_key.Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), index.h(public_key.Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: public_key.getLEILink, getDNSNameLink: public_key.getDNSNameLink, getIPAddressLink: public_key.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink }), this.certificateDecoded.asn.tbsCertList.revokedCertificates && (index.h(RevokedCertificates, { certificates: this.certificateDecoded.asn.tbsCertList.revokedCertificates })), this.download && (index.h(public_key.Miscellaneous, { certificate: this.certificateDecoded })))));
496
+ return (index.h(index.Host, { "data-view": this.view }, index.h("table", null, index.h(public_key.BasicInformation, Object.assign({}, this.certificateDecoded)), index.h(public_key.IssuerName, { name: this.certificateDecoded.issuer, issuerDnLink: this.getIssuerDnLink() }), index.h(public_key.Signature, { signature: this.certificateDecoded.signature }), index.h(public_key.Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), index.h(public_key.Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: public_key.getLEILink, getDNSNameLink: public_key.getDNSNameLink, getIPAddressLink: public_key.getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink }), index.h(RevokedCertificates, { revokedCertificates: this.certificateDecoded.revokedCertificates }), this.download && (index.h(public_key.Miscellaneous, { certificate: this.certificateDecoded })))));
482
497
  }
483
498
  static get watchers() { return {
484
499
  "certificate": ["watchCertificateAndDecode"]
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-064e95c7.js');
9
- const certification_request = require('./certification_request-50ce61b3.js');
10
- require('./l10n-4eaa5263.js');
9
+ const certification_request = require('./certification_request-b5fe8a57.js');
10
+ require('./l10n-17c96aba.js');
11
11
  require('./download-a97f4cb2.js');
12
- const x509_certificate = require('./x509_certificate-c94ce29e.js');
13
- const crl = require('./crl-0c15e04a.js');
12
+ const x509_certificate = require('./x509_certificate-29a3636a.js');
13
+ const crl = require('./crl-a1ac7534.js');
14
14
 
15
15
  /**
16
16
  * @license
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-064e95c7.js');
9
- const l10n = require('./l10n-4eaa5263.js');
9
+ const l10n = require('./l10n-17c96aba.js');
10
10
  require('./download-a97f4cb2.js');
11
11
 
12
12
  const certificateSummaryCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%}td{border:none;padding:0}table{width:100%;border-spacing:0;border-collapse:collapse}td{vertical-align:top;padding-top:5px;padding-bottom:5px}table td:first-child{width:130px;padding-right:10px}table td:last-child{width:calc(100% - 130px)}@media (max-width: 900px){table,tr,td{display:block}table td:last-child,table td:first-child{width:100%}}";
@@ -6,11 +6,11 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-064e95c7.js');
9
- const x509_certificate = require('./x509_certificate-c94ce29e.js');
10
- require('./certification_request-50ce61b3.js');
9
+ const x509_certificate = require('./x509_certificate-29a3636a.js');
10
+ require('./certification_request-b5fe8a57.js');
11
11
  require('./download-a97f4cb2.js');
12
- require('./l10n-4eaa5263.js');
13
- const public_key = require('./public_key-2b73778a.js');
12
+ require('./l10n-17c96aba.js');
13
+ const public_key = require('./public_key-3d4ae164.js');
14
14
 
15
15
  const certificateViewerCss = ":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;position:relative;min-width:280px;min-height:300px;background:white;background:rgba(var(--pv-color-light-rgb), 1)}th,td{border:none}table{width:100%;margin-bottom:30px;border-spacing:0;border-collapse:collapse}table .title td{border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5);padding-top:60px;padding-bottom:15px;border-bottom-width:1px;border-bottom-style:solid}table td:first-child{padding-left:30px;width:130px;padding-right:10px}table td:last-child{padding-right:30px;width:calc(100% - 130px)}table td{vertical-align:top;padding-top:5px;padding-bottom:5px}table td.vertical_align_middle{vertical-align:middle}table .title:first-child td{padding-top:15px}table .title+tr td{padding-top:15px}table td.monospace{max-width:0}table .divider{padding-top:15px;padding-bottom:15px}.divider .bg_fill{background-color:rgba(209, 213, 217, 0.5);background-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr:last-child .divider{padding-top:0;opacity:0}.divider span{display:block;height:1px}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.interaction_text{padding:15px 0;width:300px;margin:auto;text-align:center}@media (max-width: 900px){table,tr,td{display:block}table td:last-child,table td:first-child{padding-right:15px;padding-left:15px;width:100%}table .title+tr td{padding-top:5px}table .title+tr td:first-child{padding-top:15px}table td.monospace{width:100%;max-width:none}}:host([data-view=mobile]) table,:host([data-view=mobile]) tr,:host([data-view=mobile]) td{display:block}:host([data-view=mobile]) table td:last-child,:host([data-view=mobile]) table td:first-child{padding-right:15px;padding-left:15px;width:100%}:host([data-view=mobile]) table .title+tr td{padding-top:5px}:host([data-view=mobile]) table .title+tr td:first-child{padding-top:15px}:host([data-view=mobile]) table td.monospace{width:100%;max-width:none}";
16
16
 
@@ -6,10 +6,10 @@
6
6
  Object.defineProperty(exports, '__esModule', { value: true });
7
7
 
8
8
  const index = require('./index-064e95c7.js');
9
- const x509_certificate = require('./x509_certificate-c94ce29e.js');
10
- const certification_request = require('./certification_request-50ce61b3.js');
9
+ const x509_certificate = require('./x509_certificate-29a3636a.js');
10
+ const certification_request = require('./certification_request-b5fe8a57.js');
11
11
  require('./download-a97f4cb2.js');
12
- const l10n = require('./l10n-4eaa5263.js');
12
+ const l10n = require('./l10n-17c96aba.js');
13
13
 
14
14
  const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-webkit-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-moz-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search:-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.loading_container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42, 49, 52, 0.3);background:rgba(var(--pv-color-dark-rgb), 0.3);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.align_center{text-align:center}@media (hover: hover){table tbody tr:not(.expanded_summary):hover{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}}@media (max-width: 900px){table,tbody,tr,td{display:block}thead{display:none}tr{padding:0 15px;border-width:1px;border-style:solid}tr:not(:first-child){margin-top:-1px}tr:not(.expanded_summary) td:first-child{border:none !important}table td{padding-left:0;padding-right:0;border-width:1px 0 0 0 !important;border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr.expanded_summary td{padding:15px 0}.mobile_title{display:inline-block;width:90px;vertical-align:middle}.modal_title{padding:17px 60px 17px 15px}.content{display:inline-block;width:calc(100% - 90px);vertical-align:middle;text-align:left}.expanded_summary{border-top-color:transparent;padding-bottom:10px}.expanded_summary td:before{content:none}.status_wrapper{height:266px;display:table-cell}.search_section{height:60px;padding:15px}.align_center{text-align:inherit}}";
15
15
 
@@ -5,8 +5,8 @@
5
5
 
6
6
  const index = require('./index-064e95c7.js');
7
7
  const download = require('./download-a97f4cb2.js');
8
- const l10n = require('./l10n-4eaa5263.js');
9
- const certification_request = require('./certification_request-50ce61b3.js');
8
+ const l10n = require('./l10n-17c96aba.js');
9
+ const certification_request = require('./certification_request-b5fe8a57.js');
10
10
 
11
11
  /**
12
12
  * @license
@@ -3,9 +3,9 @@
3
3
  */
4
4
  'use strict';
5
5
 
6
- const certification_request = require('./certification_request-50ce61b3.js');
6
+ const certification_request = require('./certification_request-b5fe8a57.js');
7
7
  const download = require('./download-a97f4cb2.js');
8
- const l10n = require('./l10n-4eaa5263.js');
8
+ const l10n = require('./l10n-17c96aba.js');
9
9
 
10
10
  /**
11
11
  * @license
@@ -99,7 +99,7 @@ export class CrlViewer {
99
99
  h(Signature, { signature: this.certificateDecoded.signature }),
100
100
  h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }),
101
101
  h(Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: getLEILink, getDNSNameLink: getDNSNameLink, getIPAddressLink: getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink }),
102
- this.certificateDecoded.asn.tbsCertList.revokedCertificates && (h(RevokedCertificates, { certificates: this.certificateDecoded.asn.tbsCertList.revokedCertificates })),
102
+ h(RevokedCertificates, { revokedCertificates: this.certificateDecoded.revokedCertificates }),
103
103
  this.download && (h(Miscellaneous, { certificate: this.certificateDecoded })))));
104
104
  }
105
105
  static get is() { return "peculiar-crl-viewer"; }
@@ -9,16 +9,33 @@
9
9
  * LICENSE file in the root directory of this source tree.
10
10
  */
11
11
  import { h } from '@stencil/core';
12
+ import { CRLReason, InvalidityDate } from '@peculiar/asn1-x509';
12
13
  import { Convert } from 'pvtsutils';
13
14
  import { dateShort, l10n } from '../../utils';
15
+ import { getStringByOID } from '../certificate-viewer/get_string_by_oid';
14
16
  import { RowTitle, RowValue } from '../certificate-viewer/row';
15
17
  export const RevokedCertificates = (props) => {
16
- const { certificates, } = props;
18
+ const { revokedCertificates, } = props;
19
+ if (!revokedCertificates || !revokedCertificates.length) {
20
+ return null;
21
+ }
17
22
  return [
18
23
  h(RowTitle, { value: l10n.getString('revokedCertificates') }),
19
- certificates.map((certificate) => ([
24
+ revokedCertificates.map((certificate) => ([
20
25
  h(RowValue, { name: l10n.getString('serialNumber'), value: Convert.ToHex(certificate.userCertificate), monospace: true }),
21
- h(RowValue, { name: l10n.getString('revocation'), value: dateShort(certificate.revocationDate.getTime()) }),
26
+ h(RowValue, { name: l10n.getString('revocationDate'), value: dateShort(certificate.revocationDate.getTime()) }),
27
+ (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([
28
+ h(RowValue, { name: `${l10n.getString('crlEntryExtensions')}:`, value: "" }),
29
+ certificate.crlEntryExtensions.map((extension) => {
30
+ if (extension.value instanceof CRLReason) {
31
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: extension.value.toJSON() || extension.value.reason }));
32
+ }
33
+ if (extension.value instanceof InvalidityDate) {
34
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: extension.value.value.getTime() }));
35
+ }
36
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: Convert.ToHex(extension.asn.extnValue), monospace: true }));
37
+ }),
38
+ ])),
22
39
  h("tr", null,
23
40
  h("td", { colSpan: 2, class: "divider" },
24
41
  h("span", { class: "bg_fill" }))),
@@ -26,6 +26,15 @@ export class CRL extends AsnData {
26
26
  this.version = tbsCertList.version + 1;
27
27
  this.lastUpdate = tbsCertList.thisUpdate.getTime();
28
28
  this.nextUpdate = tbsCertList.nextUpdate.getTime();
29
+ this.revokedCertificates = (tbsCertList.revokedCertificates || [])
30
+ .map((revokedCertificate) => {
31
+ var _a;
32
+ return ({
33
+ revocationDate: revokedCertificate.revocationDate,
34
+ userCertificate: revokedCertificate.userCertificate,
35
+ crlEntryExtensions: (_a = revokedCertificate.crlEntryExtensions) === null || _a === void 0 ? void 0 : _a.map((e) => new Extension(AsnConvert.serialize(e))),
36
+ });
37
+ });
29
38
  }
30
39
  async getThumbprint(algorithm = 'SHA-1') {
31
40
  try {
@@ -36,12 +36,13 @@
36
36
  "digestInfo": "Digest Info",
37
37
  "type": "Type",
38
38
  "revokedCertificates": "Revoked Certificates",
39
- "revocation": "Revocation",
39
+ "revocationDate": "Revocation Date",
40
40
  "yes": "Yes",
41
41
  "no": "No",
42
42
  "onlyUserCertificates": "Only User Certificates",
43
43
  "onlyAttributeCertificates": "Only Attribute Certificates",
44
44
  "onlyCACertificates": "Only CA Certificates",
45
45
  "indirectCRL": "Indirect CRL",
46
- "onlyReasons": "Only Reasons"
46
+ "onlyReasons": "Only Reasons",
47
+ "crlEntryExtensions": "CRL Entry Extensions"
47
48
  }
@@ -2,7 +2,7 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { b as build, c as createCommonjsModule, a as commonjsGlobal } from './download-67ac9120.js';
5
- import './l10n-116c79fa.js';
5
+ import './l10n-a68d5748.js';
6
6
 
7
7
  /**
8
8
  * @license
@@ -11911,4 +11911,4 @@ __decorate([
11911
11911
  AsnProp({ type: AsnPropTypes.BitString })
11912
11912
  ], CertificationRequest.prototype, "signature", void 0);
11913
11913
 
11914
- export { AsnIntegerArrayBufferConverter as $, AsnData as A, id_DomainNameTechnicalOperator as B, Certificate as C, DomainNameTechnicalOperator as D, Extension as E, id_DomainNameOwner as F, DomainNameOwner as G, id_DomainNameLegalRepresentative as H, InsuranceValue as I, DomainNameLegalRepresentative as J, id_DomainNameBeneficiary as K, DomainNameBeneficiary as L, AttributeCertificate as M, Name as N, CertificationRequest as O, CertificateList as P, OIDs as Q, RSAPublicKey as R, Name$1 as S, TypeRelationship as T, UnstructuredName as U, ValuationRanking as V, WebGDPR as W, OtherName as X, DisplayText as Y, UserNotice as Z, EDIPartyName as _, isX509Pem as a, KeyUsage as a0, BasicConstraints as a1, ExtendedKeyUsage as a2, SubjectKeyIdentifier as a3, AuthorityKeyIdentifier as a4, CRLDistributionPoints as a5, AuthorityInfoAccessSyntax as a6, SubjectInfoAccessSyntax as a7, SubjectAlternativeName as a8, CertificatePolicies as a9, CertificateTransparency as aa, NameConstraints as ab, CertificateTemplate as ac, EnrollCertTypeChoice as ad, CaVersion as ae, QCStatements as af, NetscapeComment as ag, NetscapeCertType as ah, LeiRole as ai, LeiChoice as aj, Timestamp as ak, ArchiveRevInfo as al, CRLReason as am, SubjectDirectoryAttributes as an, PrivateKeyUsagePeriod as ao, EntrustVersionInfo as ap, BiometricSyntax as aq, LogotypeExtn as ar, TNAuthorizationList as as, PolicyConstraints as at, PolicyMappings as au, CRLNumber as av, IssuingDistributionPoint as aw, isPkcs10Pem as b, isX509AttributePem as c, isX509CRLPem as d, certificateRawToBuffer as e, AsnConvert as f, id_ecPublicKey as g, ECParameters as h, isPem as i, id_rsaEncryption as j, hexFormat as k, base64Format as l, getCertificateThumbprint as m, Attribute$1 as n, id_pkcs9_at_extensionRequest as o, AsnParser as p, ExtensionRequest as q, id_pkcs9_at_unstructuredName as r, id_pkcs9_at_challengePassword as s, ChallengePassword as t, id_ValuationRanking as u, id_InsuranceValue as v, id_WebGDPR as w, id_ActivityDescription as x, ActivityDescription as y, id_TypeRelationship as z };
11914
+ export { UserNotice as $, AsnData as A, id_DomainNameTechnicalOperator as B, Certificate as C, DomainNameTechnicalOperator as D, Extension as E, id_DomainNameOwner as F, DomainNameOwner as G, id_DomainNameLegalRepresentative as H, InsuranceValue as I, DomainNameLegalRepresentative as J, id_DomainNameBeneficiary as K, DomainNameBeneficiary as L, AttributeCertificate as M, Name as N, CertificationRequest as O, CertificateList as P, OIDs as Q, RSAPublicKey as R, Name$1 as S, TypeRelationship as T, UnstructuredName as U, ValuationRanking as V, WebGDPR as W, CRLReason as X, InvalidityDate as Y, OtherName as Z, DisplayText as _, isX509Pem as a, EDIPartyName as a0, AsnIntegerArrayBufferConverter as a1, KeyUsage as a2, BasicConstraints as a3, ExtendedKeyUsage as a4, SubjectKeyIdentifier as a5, AuthorityKeyIdentifier as a6, CRLDistributionPoints as a7, AuthorityInfoAccessSyntax as a8, SubjectInfoAccessSyntax as a9, SubjectAlternativeName as aa, CertificatePolicies as ab, CertificateTransparency as ac, NameConstraints as ad, CertificateTemplate as ae, EnrollCertTypeChoice as af, CaVersion as ag, QCStatements as ah, NetscapeComment as ai, NetscapeCertType as aj, LeiRole as ak, LeiChoice as al, Timestamp as am, ArchiveRevInfo as an, SubjectDirectoryAttributes as ao, PrivateKeyUsagePeriod as ap, EntrustVersionInfo as aq, BiometricSyntax as ar, LogotypeExtn as as, TNAuthorizationList as at, PolicyConstraints as au, PolicyMappings as av, CRLNumber as aw, IssuingDistributionPoint as ax, isPkcs10Pem as b, isX509AttributePem as c, isX509CRLPem as d, certificateRawToBuffer as e, AsnConvert as f, id_ecPublicKey as g, ECParameters as h, isPem as i, id_rsaEncryption as j, hexFormat as k, base64Format as l, getCertificateThumbprint as m, Attribute$1 as n, id_pkcs9_at_extensionRequest as o, AsnParser as p, ExtensionRequest as q, id_pkcs9_at_unstructuredName as r, id_pkcs9_at_challengePassword as s, ChallengePassword as t, id_ValuationRanking as u, id_InsuranceValue as v, id_WebGDPR as w, id_ActivityDescription as x, ActivityDescription as y, id_TypeRelationship as z };
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import { A as AsnData, n as Attribute$1, o as id_pkcs9_at_extensionRequest, p as AsnParser, q as ExtensionRequest, E as Extension, f as AsnConvert, r as id_pkcs9_at_unstructuredName, U as UnstructuredName, s as id_pkcs9_at_challengePassword, t as ChallengePassword, u as id_ValuationRanking, V as ValuationRanking, v as id_InsuranceValue, I as InsuranceValue, w as id_WebGDPR, W as WebGDPR, x as id_ActivityDescription, y as ActivityDescription, z as id_TypeRelationship, T as TypeRelationship, B as id_DomainNameTechnicalOperator, D as DomainNameTechnicalOperator, F as id_DomainNameOwner, G as DomainNameOwner, H as id_DomainNameLegalRepresentative, J as DomainNameLegalRepresentative, K as id_DomainNameBeneficiary, L as DomainNameBeneficiary, e as certificateRawToBuffer, M as AttributeCertificate, m as getCertificateThumbprint, k as hexFormat, l as base64Format, O as CertificationRequest, N as Name, g as id_ecPublicKey, h as ECParameters, j as id_rsaEncryption, R as RSAPublicKey, P as CertificateList } from './certification_request-5b5c2fa2.js';
4
+ import { A as AsnData, n as Attribute$1, o as id_pkcs9_at_extensionRequest, p as AsnParser, q as ExtensionRequest, E as Extension, f as AsnConvert, r as id_pkcs9_at_unstructuredName, U as UnstructuredName, s as id_pkcs9_at_challengePassword, t as ChallengePassword, u as id_ValuationRanking, V as ValuationRanking, v as id_InsuranceValue, I as InsuranceValue, w as id_WebGDPR, W as WebGDPR, x as id_ActivityDescription, y as ActivityDescription, z as id_TypeRelationship, T as TypeRelationship, B as id_DomainNameTechnicalOperator, D as DomainNameTechnicalOperator, F as id_DomainNameOwner, G as DomainNameOwner, H as id_DomainNameLegalRepresentative, J as DomainNameLegalRepresentative, K as id_DomainNameBeneficiary, L as DomainNameBeneficiary, e as certificateRawToBuffer, M as AttributeCertificate, m as getCertificateThumbprint, k as hexFormat, l as base64Format, O as CertificationRequest, N as Name, g as id_ecPublicKey, h as ECParameters, j as id_rsaEncryption, R as RSAPublicKey, P as CertificateList } from './certification_request-35ade000.js';
5
5
  import { b as build, D as Download } from './download-67ac9120.js';
6
- import { d as dateDiff } from './l10n-116c79fa.js';
6
+ import { d as dateDiff } from './l10n-a68d5748.js';
7
7
 
8
8
  /**
9
9
  * @license
@@ -250,6 +250,15 @@ class CRL extends AsnData {
250
250
  this.version = tbsCertList.version + 1;
251
251
  this.lastUpdate = tbsCertList.thisUpdate.getTime();
252
252
  this.nextUpdate = tbsCertList.nextUpdate.getTime();
253
+ this.revokedCertificates = (tbsCertList.revokedCertificates || [])
254
+ .map((revokedCertificate) => {
255
+ var _a;
256
+ return ({
257
+ revocationDate: revokedCertificate.revocationDate,
258
+ userCertificate: revokedCertificate.userCertificate,
259
+ crlEntryExtensions: (_a = revokedCertificate.crlEntryExtensions) === null || _a === void 0 ? void 0 : _a.map((e) => new Extension(AsnConvert.serialize(e))),
260
+ });
261
+ });
253
262
  }
254
263
  async getThumbprint(algorithm = 'SHA-1') {
255
264
  try {
@@ -64,7 +64,7 @@ const holder = "Holder";
64
64
  const digestInfo = "Digest Info";
65
65
  const type = "Type";
66
66
  const revokedCertificates = "Revoked Certificates";
67
- const revocation = "Revocation";
67
+ const revocationDate = "Revocation Date";
68
68
  const yes = "Yes";
69
69
  const no = "No";
70
70
  const onlyUserCertificates = "Only User Certificates";
@@ -72,6 +72,7 @@ const onlyAttributeCertificates = "Only Attribute Certificates";
72
72
  const onlyCACertificates = "Only CA Certificates";
73
73
  const indirectCRL = "Indirect CRL";
74
74
  const onlyReasons = "Only Reasons";
75
+ const crlEntryExtensions = "CRL Entry Extensions";
75
76
  const en = {
76
77
  basicInformation: basicInformation,
77
78
  subjectName: subjectName,
@@ -110,14 +111,15 @@ const en = {
110
111
  digestInfo: digestInfo,
111
112
  type: type,
112
113
  revokedCertificates: revokedCertificates,
113
- revocation: revocation,
114
+ revocationDate: revocationDate,
114
115
  yes: yes,
115
116
  no: no,
116
117
  onlyUserCertificates: onlyUserCertificates,
117
118
  onlyAttributeCertificates: onlyAttributeCertificates,
118
119
  onlyCACertificates: onlyCACertificates,
119
120
  indirectCRL: indirectCRL,
120
- onlyReasons: onlyReasons
121
+ onlyReasons: onlyReasons,
122
+ crlEntryExtensions: crlEntryExtensions
121
123
  };
122
124
 
123
125
  /**
@@ -2,11 +2,11 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { h, r as registerInstance, H as Host } from './index-bbd484d9.js';
5
- import { Q as OIDs, S as Name, y as ActivityDescription, W as WebGDPR, I as InsuranceValue, T as TypeRelationship, V as ValuationRanking, U as UnstructuredName, t as ChallengePassword } from './certification_request-5b5c2fa2.js';
5
+ import { Q as OIDs, S as Name, y as ActivityDescription, W as WebGDPR, I as InsuranceValue, T as TypeRelationship, V as ValuationRanking, U as UnstructuredName, t as ChallengePassword, X as CRLReason, Y as InvalidityDate } from './certification_request-35ade000.js';
6
6
  import { b as build } from './download-67ac9120.js';
7
- import { l as l10n, a as dateShort } from './l10n-116c79fa.js';
8
- import { X as X509AttributeCertificate, a as CRL, C as CSR } from './crl-10d4db54.js';
9
- import { g as getStringByOID, R as RowValue, G as GeneralNamePart, a as RowTitle, B as BasicInformation, S as Signature, T as Thumbprints, b as getLEILink, c as getDNSNameLink, d as getIPAddressLink, E as Extensions, M as Miscellaneous, I as IssuerName, e as SubjectName, P as PublicKey } from './public_key-c1e6801e.js';
7
+ import { l as l10n, a as dateShort } from './l10n-a68d5748.js';
8
+ import { X as X509AttributeCertificate, a as CRL, C as CSR } from './crl-42d5e233.js';
9
+ import { g as getStringByOID, R as RowValue, G as GeneralNamePart, a as RowTitle, B as BasicInformation, S as Signature, T as Thumbprints, b as getLEILink, c as getDNSNameLink, d as getIPAddressLink, E as Extensions, M as Miscellaneous, I as IssuerName, e as SubjectName, P as PublicKey } from './public_key-b2dba162.js';
10
10
 
11
11
  /**
12
12
  * @license
@@ -386,12 +386,27 @@ AttributeCertificateViewer.style = certificateViewerCss$2;
386
386
  * LICENSE file in the root directory of this source tree.
387
387
  */
388
388
  const RevokedCertificates = (props) => {
389
- const { certificates, } = props;
389
+ const { revokedCertificates, } = props;
390
+ if (!revokedCertificates || !revokedCertificates.length) {
391
+ return null;
392
+ }
390
393
  return [
391
394
  h(RowTitle, { value: l10n.getString('revokedCertificates') }),
392
- certificates.map((certificate) => ([
395
+ revokedCertificates.map((certificate) => ([
393
396
  h(RowValue, { name: l10n.getString('serialNumber'), value: build.Convert.ToHex(certificate.userCertificate), monospace: true }),
394
- h(RowValue, { name: l10n.getString('revocation'), value: dateShort(certificate.revocationDate.getTime()) }),
397
+ h(RowValue, { name: l10n.getString('revocationDate'), value: dateShort(certificate.revocationDate.getTime()) }),
398
+ (certificate.crlEntryExtensions && certificate.crlEntryExtensions.length && ([
399
+ h(RowValue, { name: `${l10n.getString('crlEntryExtensions')}:`, value: "" }),
400
+ certificate.crlEntryExtensions.map((extension) => {
401
+ if (extension.value instanceof CRLReason) {
402
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: extension.value.toJSON() || extension.value.reason }));
403
+ }
404
+ if (extension.value instanceof InvalidityDate) {
405
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: extension.value.value.getTime() }));
406
+ }
407
+ return (h(RowValue, { name: getStringByOID(extension.asn.extnID), value: build.Convert.ToHex(extension.asn.extnValue), monospace: true }));
408
+ }),
409
+ ])),
395
410
  h("tr", null,
396
411
  h("td", { colSpan: 2, class: "divider" },
397
412
  h("span", { class: "bg_fill" }))),
@@ -474,7 +489,7 @@ const CrlViewer = class {
474
489
  if (!this.certificateDecoded) {
475
490
  return this.renderEmptyState();
476
491
  }
477
- return (h(Host, { "data-view": this.view }, h("table", null, h(BasicInformation, Object.assign({}, this.certificateDecoded)), h(IssuerName, { name: this.certificateDecoded.issuer, issuerDnLink: this.getIssuerDnLink() }), h(Signature, { signature: this.certificateDecoded.signature }), h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), h(Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: getLEILink, getDNSNameLink: getDNSNameLink, getIPAddressLink: getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink }), this.certificateDecoded.asn.tbsCertList.revokedCertificates && (h(RevokedCertificates, { certificates: this.certificateDecoded.asn.tbsCertList.revokedCertificates })), this.download && (h(Miscellaneous, { certificate: this.certificateDecoded })))));
492
+ return (h(Host, { "data-view": this.view }, h("table", null, h(BasicInformation, Object.assign({}, this.certificateDecoded)), h(IssuerName, { name: this.certificateDecoded.issuer, issuerDnLink: this.getIssuerDnLink() }), h(Signature, { signature: this.certificateDecoded.signature }), h(Thumbprints, { thumbprints: this.certificateDecoded.thumbprints }), h(Extensions, { extensions: this.certificateDecoded.extensions, getLEILink: getLEILink, getDNSNameLink: getDNSNameLink, getIPAddressLink: getIPAddressLink, getAuthKeyIdParentLink: this.getAuthKeyIdParentLink, getAuthKeyIdSiblingsLink: this.getAuthKeyIdSiblingsLink }), h(RevokedCertificates, { revokedCertificates: this.certificateDecoded.revokedCertificates }), this.download && (h(Miscellaneous, { certificate: this.certificateDecoded })))));
478
493
  }
479
494
  static get watchers() { return {
480
495
  "certificate": ["watchCertificateAndDecode"]
@@ -2,11 +2,11 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-bbd484d9.js';
5
- import { i as isPem, a as isX509Pem, b as isPkcs10Pem, c as isX509AttributePem, d as isX509CRLPem } from './certification_request-5b5c2fa2.js';
6
- import './l10n-116c79fa.js';
5
+ import { i as isPem, a as isX509Pem, b as isPkcs10Pem, c as isX509AttributePem, d as isX509CRLPem } from './certification_request-35ade000.js';
6
+ import './l10n-a68d5748.js';
7
7
  import './download-67ac9120.js';
8
- import { X as X509Certificate } from './x509_certificate-61126913.js';
9
- import { X as X509AttributeCertificate, C as CSR, a as CRL } from './crl-10d4db54.js';
8
+ import { X as X509Certificate } from './x509_certificate-2503dcc1.js';
9
+ import { X as X509AttributeCertificate, C as CSR, a as CRL } from './crl-42d5e233.js';
10
10
 
11
11
  /**
12
12
  * @license
@@ -2,7 +2,7 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, H as Host, g as getElement } from './index-bbd484d9.js';
5
- import { l as l10n, a as dateShort } from './l10n-116c79fa.js';
5
+ import { l as l10n, a as dateShort } from './l10n-a68d5748.js';
6
6
  import './download-67ac9120.js';
7
7
 
8
8
  const certificateSummaryCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%}td{border:none;padding:0}table{width:100%;border-spacing:0;border-collapse:collapse}td{vertical-align:top;padding-top:5px;padding-bottom:5px}table td:first-child{width:130px;padding-right:10px}table td:last-child{width:calc(100% - 130px)}@media (max-width: 900px){table,tr,td{display:block}table td:last-child,table td:first-child{width:100%}}";
@@ -2,11 +2,11 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { r as registerInstance, h, H as Host } from './index-bbd484d9.js';
5
- import { X as X509Certificate } from './x509_certificate-61126913.js';
6
- import './certification_request-5b5c2fa2.js';
5
+ import { X as X509Certificate } from './x509_certificate-2503dcc1.js';
6
+ import './certification_request-35ade000.js';
7
7
  import './download-67ac9120.js';
8
- import './l10n-116c79fa.js';
9
- import { B as BasicInformation, e as SubjectName, I as IssuerName, P as PublicKey, S as Signature, T as Thumbprints, E as Extensions, b as getLEILink, c as getDNSNameLink, d as getIPAddressLink, M as Miscellaneous } from './public_key-c1e6801e.js';
8
+ import './l10n-a68d5748.js';
9
+ import { B as BasicInformation, e as SubjectName, I as IssuerName, P as PublicKey, S as Signature, T as Thumbprints, E as Extensions, b as getLEILink, c as getDNSNameLink, d as getIPAddressLink, M as Miscellaneous } from './public_key-b2dba162.js';
10
10
 
11
11
  const certificateViewerCss = ":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;position:relative;min-width:280px;min-height:300px;background:white;background:rgba(var(--pv-color-light-rgb), 1)}th,td{border:none}table{width:100%;margin-bottom:30px;border-spacing:0;border-collapse:collapse}table .title td{border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5);padding-top:60px;padding-bottom:15px;border-bottom-width:1px;border-bottom-style:solid}table td:first-child{padding-left:30px;width:130px;padding-right:10px}table td:last-child{padding-right:30px;width:calc(100% - 130px)}table td{vertical-align:top;padding-top:5px;padding-bottom:5px}table td.vertical_align_middle{vertical-align:middle}table .title:first-child td{padding-top:15px}table .title+tr td{padding-top:15px}table td.monospace{max-width:0}table .divider{padding-top:15px;padding-bottom:15px}.divider .bg_fill{background-color:rgba(209, 213, 217, 0.5);background-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr:last-child .divider{padding-top:0;opacity:0}.divider span{display:block;height:1px}.status_wrapper{min-height:inherit;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.interaction_text{padding:15px 0;width:300px;margin:auto;text-align:center}@media (max-width: 900px){table,tr,td{display:block}table td:last-child,table td:first-child{padding-right:15px;padding-left:15px;width:100%}table .title+tr td{padding-top:5px}table .title+tr td:first-child{padding-top:15px}table td.monospace{width:100%;max-width:none}}:host([data-view=mobile]) table,:host([data-view=mobile]) tr,:host([data-view=mobile]) td{display:block}:host([data-view=mobile]) table td:last-child,:host([data-view=mobile]) table td:first-child{padding-right:15px;padding-left:15px;width:100%}:host([data-view=mobile]) table .title+tr td{padding-top:5px}:host([data-view=mobile]) table .title+tr td:first-child{padding-top:15px}:host([data-view=mobile]) table td.monospace{width:100%;max-width:none}";
12
12
 
@@ -2,10 +2,10 @@
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
4
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-bbd484d9.js';
5
- import { X as X509Certificate } from './x509_certificate-61126913.js';
6
- import { Q as OIDs } from './certification_request-5b5c2fa2.js';
5
+ import { X as X509Certificate } from './x509_certificate-2503dcc1.js';
6
+ import { Q as OIDs } from './certification_request-35ade000.js';
7
7
  import './download-67ac9120.js';
8
- import { l as l10n } from './l10n-116c79fa.js';
8
+ import { l as l10n } from './l10n-a68d5748.js';
9
9
 
10
10
  const certificatesViewerCss = ":host{-webkit-box-sizing:border-box;box-sizing:border-box}:host *,:host *:before,:host *:after{-webkit-box-sizing:inherit;box-sizing:inherit}:host{display:block;width:100%;word-wrap:break-word;min-width:280px;overflow:auto;position:relative;background:white;background:rgba(var(--pv-color-light-rgb), 1)}table{width:100%;table-layout:fixed;border-collapse:collapse;border-spacing:0}table thead{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07)}table tr td{vertical-align:middle}table tbody tr:not(.expanded_summary){cursor:pointer}table tr{border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table th{padding:15px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table td{padding:8px 10px;border-width:1px;border-style:solid;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1)}table .col_issuer,table .col_name,table .col_public_key{width:16%}table .col_actions,table .col_tests{width:18%}table.m_extra .col_issuer,table.m_extra .col_name,table.m_extra .col_public_key{width:12%}table.m_extra .col_actions,table.m_extra .col_tests{width:17%}table tr.expanded td:not(:last-child){border-right-color:transparent}table tr.expanded td{border-bottom-color:transparent}.expanded{border-bottom-color:transparent;background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}table tr.expanded_summary td{vertical-align:top;padding:10px 20px 26px}@-webkit-keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0.001}100%{opacity:1}}.modal_wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;text-align:center;-webkit-animation:fadeIn 200ms;animation:fadeIn 200ms;padding:30px 10px}.modal_wrapper:before{display:inline-block;vertical-align:middle;width:0;height:100%;content:\"\"}.modal_backdrop{background:rgba(42, 49, 52, 0.5);background:rgba(var(--pv-color-dark-rgb), 0.5);z-index:-1;position:fixed;top:0;right:0;bottom:0;left:0}.modal_container{position:relative;display:inline-block;vertical-align:middle;width:100%;max-width:900px;text-align:left;border-radius:3px;overflow:hidden;background-color:white;background-color:rgba(var(--pv-color-light-rgb), 1);height:100%}.modal_title{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);border-bottom-width:1px;border-bottom-style:solid;padding:20px 60px 16px 20px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:60px}.modal_content{height:calc(100% - 60px);overflow-y:auto}.modal_close{cursor:pointer;border:none;background-color:transparent;position:absolute;top:0;bottom:0;right:0;padding:0 12px;-webkit-transition:opacity 100ms;transition:opacity 100ms;outline:none}.modal_close:hover{opacity:0.6}.modal_close svg{fill:#2a3134;fill:rgba(var(--pv-color-dark-rgb), 1)}.button_table_action{margin:2px}.mobile_title{display:none}.status_wrapper{height:85px;text-align:center;pointer-events:none}.search_section{background-color:rgba(53, 132, 247, 0.07);background-color:rgba(var(--pv-color-primary-rgb), 0.07);border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);height:50px;padding:10px;border-width:1px 1px 0 1px;border-style:solid}.input_search{height:100%;width:100%;border-radius:3px;border-width:1px;border-style:solid;padding:0 14px;font-size:12px;outline:none;border-color:#d1d5d9;border-color:rgba(var(--pv-color-grey_3-rgb), 1);color:#2a3134;color:rgba(var(--pv-color-dark-rgb), 1)}.input_search::-webkit-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-moz-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search:-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::-ms-input-placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.input_search::placeholder{color:#d1d5d9;color:rgba(var(--pv-color-grey_3-rgb), 1)}.loading_container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(42, 49, 52, 0.3);background:rgba(var(--pv-color-dark-rgb), 0.3);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.align_center{text-align:center}@media (hover: hover){table tbody tr:not(.expanded_summary):hover{background-color:rgba(53, 132, 247, 0.04);background-color:rgba(var(--pv-color-primary-rgb), 0.04)}}@media (max-width: 900px){table,tbody,tr,td{display:block}thead{display:none}tr{padding:0 15px;border-width:1px;border-style:solid}tr:not(:first-child){margin-top:-1px}tr:not(.expanded_summary) td:first-child{border:none !important}table td{padding-left:0;padding-right:0;border-width:1px 0 0 0 !important;border-color:rgba(209, 213, 217, 0.5);border-color:rgba(var(--pv-color-grey_3-rgb), 0.5)}table tr.expanded_summary td{padding:15px 0}.mobile_title{display:inline-block;width:90px;vertical-align:middle}.modal_title{padding:17px 60px 17px 15px}.content{display:inline-block;width:calc(100% - 90px);vertical-align:middle;text-align:left}.expanded_summary{border-top-color:transparent;padding-bottom:10px}.expanded_summary td:before{content:none}.status_wrapper{height:266px;display:table-cell}.search_section{height:60px;padding:15px}.align_center{text-align:inherit}}";
11
11
 
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import { h } from './index-bbd484d9.js';
5
5
  import { b as build } from './download-67ac9120.js';
6
- import { l as l10n, a as dateShort } from './l10n-116c79fa.js';
7
- import { Q as OIDs, S as Name, X as OtherName, p as AsnParser, Y as DisplayText, Z as UserNotice, _ as EDIPartyName, $ as AsnIntegerArrayBufferConverter, a0 as KeyUsage, a1 as BasicConstraints, a2 as ExtendedKeyUsage, a3 as SubjectKeyIdentifier, a4 as AuthorityKeyIdentifier, a5 as CRLDistributionPoints, a6 as AuthorityInfoAccessSyntax, a7 as SubjectInfoAccessSyntax, a8 as SubjectAlternativeName, a9 as CertificatePolicies, aa as CertificateTransparency, ab as NameConstraints, ac as CertificateTemplate, ad as EnrollCertTypeChoice, ae as CaVersion, af as QCStatements, ag as NetscapeComment, ah as NetscapeCertType, ai as LeiRole, aj as LeiChoice, ak as Timestamp, al as ArchiveRevInfo, am as CRLReason, an as SubjectDirectoryAttributes, ao as PrivateKeyUsagePeriod, ap as EntrustVersionInfo, aq as BiometricSyntax, ar as LogotypeExtn, as as TNAuthorizationList, at as PolicyConstraints, au as PolicyMappings, av as CRLNumber, aw as IssuingDistributionPoint } from './certification_request-5b5c2fa2.js';
6
+ import { l as l10n, a as dateShort } from './l10n-a68d5748.js';
7
+ import { Q as OIDs, S as Name, Z as OtherName, p as AsnParser, _ as DisplayText, $ as UserNotice, a0 as EDIPartyName, a1 as AsnIntegerArrayBufferConverter, a2 as KeyUsage, a3 as BasicConstraints, a4 as ExtendedKeyUsage, a5 as SubjectKeyIdentifier, a6 as AuthorityKeyIdentifier, a7 as CRLDistributionPoints, a8 as AuthorityInfoAccessSyntax, a9 as SubjectInfoAccessSyntax, aa as SubjectAlternativeName, ab as CertificatePolicies, ac as CertificateTransparency, ad as NameConstraints, ae as CertificateTemplate, af as EnrollCertTypeChoice, ag as CaVersion, ah as QCStatements, ai as NetscapeComment, aj as NetscapeCertType, ak as LeiRole, al as LeiChoice, am as Timestamp, an as ArchiveRevInfo, X as CRLReason, ao as SubjectDirectoryAttributes, ap as PrivateKeyUsagePeriod, aq as EntrustVersionInfo, ar as BiometricSyntax, as as LogotypeExtn, at as TNAuthorizationList, au as PolicyConstraints, av as PolicyMappings, aw as CRLNumber, ax as IssuingDistributionPoint } from './certification_request-35ade000.js';
8
8
 
9
9
  /**
10
10
  * @license
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  * © Peculiar Ventures https://peculiarventures.com/ - MIT License
3
3
  */
4
- import { A as AsnData, e as certificateRawToBuffer, C as Certificate, N as Name, E as Extension, f as AsnConvert, g as id_ecPublicKey, h as ECParameters, j as id_rsaEncryption, R as RSAPublicKey, k as hexFormat, l as base64Format, m as getCertificateThumbprint } from './certification_request-5b5c2fa2.js';
4
+ import { A as AsnData, e as certificateRawToBuffer, C as Certificate, N as Name, E as Extension, f as AsnConvert, g as id_ecPublicKey, h as ECParameters, j as id_rsaEncryption, R as RSAPublicKey, k as hexFormat, l as base64Format, m as getCertificateThumbprint } from './certification_request-35ade000.js';
5
5
  import { b as build, D as Download } from './download-67ac9120.js';
6
- import { d as dateDiff } from './l10n-116c79fa.js';
6
+ import { d as dateDiff } from './l10n-a68d5748.js';
7
7
 
8
8
  /**
9
9
  * @license
@@ -36,12 +36,13 @@
36
36
  "digestInfo": "Digest Info",
37
37
  "type": "Type",
38
38
  "revokedCertificates": "Revoked Certificates",
39
- "revocation": "Revocation",
39
+ "revocationDate": "Revocation Date",
40
40
  "yes": "Yes",
41
41
  "no": "No",
42
42
  "onlyUserCertificates": "Only User Certificates",
43
43
  "onlyAttributeCertificates": "Only Attribute Certificates",
44
44
  "onlyCACertificates": "Only CA Certificates",
45
45
  "indirectCRL": "Indirect CRL",
46
- "onlyReasons": "Only Reasons"
46
+ "onlyReasons": "Only Reasons",
47
+ "crlEntryExtensions": "CRL Entry Extensions"
47
48
  }