@peculiar/certificates-viewer 1.18.0 → 1.20.1

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/{download-47be779e.js → download-061c8763.js} +49 -9
  2. package/dist/cjs/{l10n-f5651bb0.js → l10n-e971a5ac.js} +1 -1
  3. package/dist/cjs/peculiar-attribute-certificate-viewer_9.cjs.entry.js +64 -9
  4. package/dist/cjs/peculiar-certificate-summary_3.cjs.entry.js +1 -1
  5. package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -2
  6. package/dist/collection/components/certificate-viewer/extensions/crl_distribution_points_extension.js +5 -2
  7. package/dist/collection/components/certificate-viewer/extensions/general_name_part.js +18 -3
  8. package/dist/collection/components/certificate-viewer/extensions/index.js +13 -4
  9. package/dist/collection/components/certificate-viewer/extensions/{authority_info_access_syntax_extension.js → info_access_syntax_extension.js} +1 -1
  10. package/dist/collection/components/certificate-viewer/extensions/policy_constraints_extension.js +17 -0
  11. package/dist/collection/components/certificate-viewer/extensions/policy_mappings_extension.js +19 -0
  12. package/dist/collection/constants/oids.js +9 -4
  13. package/dist/collection/crypto/extension.js +4 -1
  14. package/dist/esm/{download-8043769c.js → download-250f9495.js} +47 -9
  15. package/dist/esm/{l10n-6ab04c66.js → l10n-c8cf6930.js} +1 -1
  16. package/dist/esm/peculiar-attribute-certificate-viewer_9.entry.js +64 -9
  17. package/dist/esm/peculiar-certificate-summary_3.entry.js +1 -1
  18. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
  19. package/dist/esm-es5/{download-8043769c.js → download-250f9495.js} +54 -11
  20. package/dist/esm-es5/{l10n-6ab04c66.js → l10n-c8cf6930.js} +2 -2
  21. package/dist/esm-es5/peculiar-attribute-certificate-viewer_9.entry.js +60 -9
  22. package/dist/esm-es5/peculiar-certificate-summary_3.entry.js +1 -1
  23. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  24. package/dist/peculiar/{p-13f66367.system.entry.js → p-293edf5c.system.entry.js} +1 -1
  25. package/dist/peculiar/{p-f304a39b.entry.js → p-294c4ef9.entry.js} +1 -1
  26. package/dist/peculiar/{p-768f505c.entry.js → p-31a15658.entry.js} +14 -14
  27. package/dist/peculiar/p-557d912f.system.js +1 -1
  28. package/dist/peculiar/{p-97954b76.system.js → p-636aea18.system.js} +11 -11
  29. package/dist/peculiar/{p-1464d6ca.entry.js → p-75793893.entry.js} +1 -1
  30. package/dist/peculiar/{p-150d1ad1.system.entry.js → p-983b5210.system.entry.js} +1 -1
  31. package/dist/peculiar/{p-02ef5dea.system.entry.js → p-aece90c7.system.entry.js} +78 -64
  32. package/dist/peculiar/{p-ee7045c5.system.js → p-bd1f9066.system.js} +3 -3
  33. package/dist/peculiar/{p-79bbe633.js → p-cf1841f8.js} +1 -1
  34. package/dist/peculiar/{p-53b83a50.js → p-e5769859.js} +10 -10
  35. package/dist/peculiar/peculiar.esm.js +1 -1
  36. package/dist/types/components/certificate-viewer/extensions/info_access_syntax_extension.d.ts +15 -0
  37. package/dist/types/components/certificate-viewer/extensions/{authority_info_access_syntax_extension.d.ts → policy_constraints_extension.d.ts} +4 -4
  38. package/dist/types/components/certificate-viewer/extensions/policy_mappings_extension.d.ts +15 -0
  39. package/dist/types/constants/oids.d.ts +5 -0
  40. package/dist/types/crypto/extension.d.ts +2 -2
  41. package/package.json +14 -14
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const l10n = require('./l10n-f5651bb0.js');
3
+ const l10n = require('./l10n-e971a5ac.js');
4
4
 
5
5
  //**************************************************************************************
6
6
  //**************************************************************************************
@@ -9571,8 +9571,9 @@ __decorate([
9571
9571
  })
9572
9572
  ], PolicyConstraints.prototype, "inhibitPolicyMapping", void 0);
9573
9573
 
9574
+ var PolicyMappings_1;
9574
9575
  const id_ce_policyMappings = `${id_ce}.33`;
9575
- class PolicyMappings {
9576
+ class PolicyMapping {
9576
9577
  constructor(params = {}) {
9577
9578
  this.issuerDomainPolicy = "";
9578
9579
  this.subjectDomainPolicy = "";
@@ -9581,10 +9582,19 @@ class PolicyMappings {
9581
9582
  }
9582
9583
  __decorate([
9583
9584
  AsnProp({ type: AsnPropTypes.ObjectIdentifier })
9584
- ], PolicyMappings.prototype, "issuerDomainPolicy", void 0);
9585
+ ], PolicyMapping.prototype, "issuerDomainPolicy", void 0);
9585
9586
  __decorate([
9586
9587
  AsnProp({ type: AsnPropTypes.ObjectIdentifier })
9587
- ], PolicyMappings.prototype, "subjectDomainPolicy", void 0);
9588
+ ], PolicyMapping.prototype, "subjectDomainPolicy", void 0);
9589
+ exports.PolicyMappings = PolicyMappings_1 = class PolicyMappings extends AsnArray {
9590
+ constructor(items) {
9591
+ super(items);
9592
+ Object.setPrototypeOf(this, PolicyMappings_1.prototype);
9593
+ }
9594
+ };
9595
+ exports.PolicyMappings = PolicyMappings_1 = __decorate([
9596
+ AsnType({ type: AsnTypeTypes.Sequence, itemType: PolicyMapping })
9597
+ ], exports.PolicyMappings);
9588
9598
 
9589
9599
  var SubjectAlternativeName_1;
9590
9600
  const id_ce_subjectAltName = `${id_ce}.17`;
@@ -9681,11 +9691,31 @@ __decorate([
9681
9691
  AsnProp({ type: EntrustInfo })
9682
9692
  ], EntrustVersionInfo.prototype, "entrustInfoFlags", void 0);
9683
9693
 
9694
+ var SubjectInfoAccessSyntax_1;
9695
+ const id_pe_subjectInfoAccess = `${id_pe}.11`;
9696
+ exports.SubjectInfoAccessSyntax = SubjectInfoAccessSyntax_1 = class SubjectInfoAccessSyntax extends AsnArray {
9697
+ constructor(items) {
9698
+ super(items);
9699
+ Object.setPrototypeOf(this, SubjectInfoAccessSyntax_1.prototype);
9700
+ }
9701
+ };
9702
+ exports.SubjectInfoAccessSyntax = SubjectInfoAccessSyntax_1 = __decorate([
9703
+ AsnType({ type: AsnTypeTypes.Sequence, itemType: AccessDescription })
9704
+ ], exports.SubjectInfoAccessSyntax);
9705
+
9684
9706
  class AlgorithmIdentifier {
9685
9707
  constructor(params = {}) {
9686
9708
  this.algorithm = "";
9687
9709
  Object.assign(this, params);
9688
9710
  }
9711
+ isEqual(data) {
9712
+ return data instanceof AlgorithmIdentifier
9713
+ && data.algorithm == this.algorithm
9714
+ && ((data.parameters && this.parameters
9715
+ && index.isEqual(data.parameters, this.parameters))
9716
+ ||
9717
+ (data.parameters === this.parameters));
9718
+ }
9689
9719
  }
9690
9720
  __decorate([
9691
9721
  AsnProp({
@@ -11559,6 +11589,7 @@ const OIDs = {
11559
11589
  '1.3.6.1.5.5.7.8': 'Other Names',
11560
11590
  '1.3.6.1.5.5.7.8.1': 'Personal Data',
11561
11591
  '1.3.6.1.5.5.7.8.2': 'User Group',
11592
+ '1.3.6.1.5.5.7.8.3': 'Permanent Identifier',
11562
11593
  '1.3.6.1.5.5.7.8.5': 'Xmpp Addr',
11563
11594
  '1.3.6.1.5.5.7.9': 'Personal Data',
11564
11595
  '1.3.6.1.5.5.7.9.1': 'Date Of Birth',
@@ -12242,10 +12273,14 @@ const OIDs = {
12242
12273
  '2.16.840.1.101.3.1': 'Slabel',
12243
12274
  '2.16.840.1.101.3.2': 'PKI',
12244
12275
  '2.16.840.1.101.3.2.1': 'NIST policy Identifier',
12245
- '2.16.840.1.101.3.2.1.3.1': 'Fbca Rudimentary Policy',
12246
- '2.16.840.1.101.3.2.1.3.2': 'Fbca Basic Policy',
12247
- '2.16.840.1.101.3.2.1.3.3': 'Fbca Medium Policy',
12248
- '2.16.840.1.101.3.2.1.3.4': 'Fbca High Policy',
12276
+ '2.16.840.1.101.3.2.1.2.7': 'USPTO Basic 2003',
12277
+ '2.16.840.1.101.3.2.1.2.8': 'USPTO Medium 2003',
12278
+ '2.16.840.1.101.3.2.1.2.9': 'USPTO Medium Hardware',
12279
+ '2.16.840.1.101.3.2.1.3.1': 'FBCA Rudimentary Policy',
12280
+ '2.16.840.1.101.3.2.1.3.2': 'FBCA Basic Policy',
12281
+ '2.16.840.1.101.3.2.1.3.3': 'FBCA Medium Policy',
12282
+ '2.16.840.1.101.3.2.1.3.4': 'FBCA High Policy',
12283
+ '2.16.840.1.101.3.2.1.3.12': 'FBCA Medium Hardware Policy',
12249
12284
  '2.16.840.1.101.3.2.1.48.1': 'Nist Test Policy1',
12250
12285
  '2.16.840.1.101.3.2.1.48.2': 'Nist Test Policy2',
12251
12286
  '2.16.840.1.101.3.2.1.48.3': 'Nist Test Policy3',
@@ -13779,7 +13814,7 @@ class Extension$1 extends AsnData {
13779
13814
  this.value = AsnParser.parse(asnExtnValue, PolicyConstraints);
13780
13815
  break;
13781
13816
  case id_ce_policyMappings:
13782
- this.value = AsnParser.parse(asnExtnValue, PolicyMappings);
13817
+ this.value = AsnParser.parse(asnExtnValue, exports.PolicyMappings);
13783
13818
  break;
13784
13819
  case id_ce_subjectAltName:
13785
13820
  this.value = AsnParser.parse(asnExtnValue, exports.SubjectAlternativeName);
@@ -13839,6 +13874,9 @@ class Extension$1 extends AsnData {
13839
13874
  case id_pe_TNAuthList:
13840
13875
  this.value = AsnParser.parse(asnExtnValue, exports.TNAuthorizationList);
13841
13876
  break;
13877
+ case id_pe_subjectInfoAccess:
13878
+ this.value = AsnParser.parse(asnExtnValue, exports.SubjectInfoAccessSyntax);
13879
+ break;
13842
13880
  default:
13843
13881
  console.warn(`Didn't detect parser for "${this.asn.extnID}" extension.`);
13844
13882
  this.value = index.Convert.ToHex(asnExtnValue);
@@ -15399,6 +15437,7 @@ Download.certificateRequest = {
15399
15437
  exports.ArchiveRevInfo = ArchiveRevInfo;
15400
15438
  exports.AsnConvert = AsnConvert;
15401
15439
  exports.AsnData = AsnData;
15440
+ exports.AsnIntegerArrayBufferConverter = AsnIntegerArrayBufferConverter;
15402
15441
  exports.AsnParser = AsnParser;
15403
15442
  exports.Attribute = Attribute;
15404
15443
  exports.AttributeCertificate = AttributeCertificate;
@@ -15418,6 +15457,7 @@ exports.NameConstraints = NameConstraints;
15418
15457
  exports.NetscapeCertType = NetscapeCertType;
15419
15458
  exports.OIDs = OIDs;
15420
15459
  exports.OtherName = OtherName;
15460
+ exports.PolicyConstraints = PolicyConstraints;
15421
15461
  exports.PrivateKeyUsagePeriod = PrivateKeyUsagePeriod;
15422
15462
  exports.RSAPublicKey = RSAPublicKey;
15423
15463
  exports.SubjectKeyIdentifier = SubjectKeyIdentifier;
@@ -642,7 +642,7 @@ const history = Object.assign(browserHistory, {
642
642
  });
643
643
 
644
644
  var dayjs_min = createCommonjsModule(function (module, exports) {
645
- !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));
645
+ !function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));
646
646
  });
647
647
 
648
648
  /**
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-2973f90a.js');
6
- const download = require('./download-47be779e.js');
7
- const l10n = require('./l10n-f5651bb0.js');
6
+ const download = require('./download-061c8763.js');
7
+ const l10n = require('./l10n-e971a5ac.js');
8
8
 
9
9
  /**
10
10
  * @license
@@ -417,8 +417,23 @@ const GeneralNamePart = (props) => {
417
417
  ];
418
418
  }
419
419
  if (value instanceof download.OtherName) {
420
- const text = download.AsnParser.parse(value.value, download.DisplayText);
421
- return (index.h(RowValue, { name: download.OIDs[value.typeId], value: text.toString() }));
420
+ try {
421
+ const text = download.AsnParser.parse(value.value, download.DisplayText);
422
+ return (index.h(RowValue, { name: download.OIDs[value.typeId] || value.typeId, value: text.toString() }));
423
+ }
424
+ catch (error) {
425
+ //
426
+ }
427
+ try {
428
+ const text = download.AsnParser.parse(value.value, download.UserNotice);
429
+ if (text.explicitText) {
430
+ return (index.h(RowValue, { name: download.OIDs[value.typeId] || value.typeId, value: text.explicitText.toString() }));
431
+ }
432
+ }
433
+ catch (error) {
434
+ //
435
+ }
436
+ return (index.h(RowValue, { name: download.OIDs[value.typeId] || value.typeId, value: download.index.Convert.ToHex(value.value), monospace: true }));
422
437
  }
423
438
  if (download.index.BufferSourceConverter.isBufferSource(value)) {
424
439
  return (index.h(RowValue, { name: names[name] || name, value: download.index.Convert.ToString(value) }));
@@ -759,8 +774,11 @@ const AuthorityKeyIdentifierExtension = (props) => {
759
774
  const CRLDistributionPointsExtension = (props) => {
760
775
  const { extension } = props;
761
776
  return (index.h(BasicExtension, { extension: extension }, extension.value.map((point) => {
762
- var _a;
763
- return ((_a = point === null || point === void 0 ? void 0 : point.distributionPoint) === null || _a === void 0 ? void 0 : _a.fullName.map((gn) => (index.h(GeneralNamePart, Object.assign({ generalName: gn }, props)))));
777
+ var _a, _b;
778
+ return ([
779
+ (_a = point.distributionPoint) === null || _a === void 0 ? void 0 : _a.fullName.map((gn) => (index.h(GeneralNamePart, Object.assign({ generalName: gn }, props)))),
780
+ (_b = point.cRLIssuer) === null || _b === void 0 ? void 0 : _b.map((gn) => (index.h(GeneralNamePart, Object.assign({ generalName: gn }, props)))),
781
+ ]);
764
782
  })));
765
783
  };
766
784
 
@@ -771,7 +789,7 @@ const CRLDistributionPointsExtension = (props) => {
771
789
  * This source code is licensed under the MIT license found in the
772
790
  * LICENSE file in the root directory of this source tree.
773
791
  */
774
- const AuthorityInfoAccessSyntaxExtension = (props) => {
792
+ const InfoAccessSyntaxExtension = (props) => {
775
793
  const { extension } = props;
776
794
  return (index.h(BasicExtension, { extension: extension }, extension.value.map((description, arrayIndex) => ([
777
795
  index.h(RowValue, { name: `Description #${arrayIndex + 1}`, value: "" }),
@@ -1260,6 +1278,36 @@ const TNAuthListExtension = (props) => {
1260
1278
  ]))));
1261
1279
  };
1262
1280
 
1281
+ /**
1282
+ * @license
1283
+ * Copyright (c) Peculiar Ventures, LLC.
1284
+ *
1285
+ * This source code is licensed under the MIT license found in the
1286
+ * LICENSE file in the root directory of this source tree.
1287
+ */
1288
+ const PolicyConstraintsExtension = (props) => {
1289
+ const { extension } = props;
1290
+ return (index.h(BasicExtension, { extension: extension },
1291
+ extension.value.requireExplicitPolicy && (index.h(RowValue, { name: "Require Explicit Policy", value: download.AsnIntegerArrayBufferConverter.toASN(extension.value.requireExplicitPolicy).valueBlock.toString() })),
1292
+ extension.value.inhibitPolicyMapping && (index.h(RowValue, { name: "Inhibit Policy Mapping", value: download.AsnIntegerArrayBufferConverter.toASN(extension.value.inhibitPolicyMapping).valueBlock.toString() }))));
1293
+ };
1294
+
1295
+ /**
1296
+ * @license
1297
+ * Copyright (c) Peculiar Ventures, LLC.
1298
+ *
1299
+ * This source code is licensed under the MIT license found in the
1300
+ * LICENSE file in the root directory of this source tree.
1301
+ */
1302
+ const PolicyMappingsExtension = (props) => {
1303
+ const { extension } = props;
1304
+ return (index.h(BasicExtension, { extension: extension }, extension.value.map((policy, arrayIndex) => ([
1305
+ index.h(RowValue, { name: `Policy #${arrayIndex + 1}`, value: "" }),
1306
+ index.h(RowValue, { name: "Issuer Domain", value: getStringByOID(policy.issuerDomainPolicy) }),
1307
+ index.h(RowValue, { name: "Subject Domain", value: getStringByOID(policy.subjectDomainPolicy) }),
1308
+ ]))));
1309
+ };
1310
+
1263
1311
  /**
1264
1312
  * @license
1265
1313
  * Copyright (c) Peculiar Ventures, LLC.
@@ -1294,8 +1342,9 @@ const Extensions = (props) => {
1294
1342
  if (extension.value instanceof download.CRLDistributionPoints) {
1295
1343
  return (index.h(CRLDistributionPointsExtension, Object.assign({ extension: extension }, props)));
1296
1344
  }
1297
- if (extension.value instanceof download.AuthorityInfoAccessSyntax) {
1298
- return (index.h(AuthorityInfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
1345
+ if (extension.value instanceof download.AuthorityInfoAccessSyntax
1346
+ || extension.value instanceof download.SubjectInfoAccessSyntax) {
1347
+ return (index.h(InfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
1299
1348
  }
1300
1349
  if (extension.value instanceof download.SubjectAlternativeName) {
1301
1350
  return (index.h(SubjectAlternativeNameExtension, Object.assign({ extension: extension }, props)));
@@ -1360,6 +1409,12 @@ const Extensions = (props) => {
1360
1409
  if (extension.value instanceof download.TNAuthorizationList) {
1361
1410
  return (index.h(TNAuthListExtension, { extension: extension }));
1362
1411
  }
1412
+ if (extension.value instanceof download.PolicyConstraints) {
1413
+ return (index.h(PolicyConstraintsExtension, { extension: extension }));
1414
+ }
1415
+ if (extension.value instanceof download.PolicyMappings) {
1416
+ return (index.h(PolicyMappingsExtension, { extension: extension }));
1417
+ }
1363
1418
  if (typeof extension.value === 'string') {
1364
1419
  return (index.h(AsStringExtension, { extension: extension }));
1365
1420
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-2973f90a.js');
6
- const l10n = require('./l10n-f5651bb0.js');
6
+ const l10n = require('./l10n-e971a5ac.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%}}";
9
9
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-2973f90a.js');
6
- const download = require('./download-47be779e.js');
7
- const l10n = require('./l10n-f5651bb0.js');
6
+ const download = require('./download-061c8763.js');
7
+ const l10n = require('./l10n-e971a5ac.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}}";
10
10
 
@@ -11,7 +11,10 @@ import { GeneralNamePart } from './general_name_part';
11
11
  export const CRLDistributionPointsExtension = (props) => {
12
12
  const { extension } = props;
13
13
  return (h(BasicExtension, { extension: extension }, extension.value.map((point) => {
14
- var _a;
15
- return ((_a = point === null || point === void 0 ? void 0 : point.distributionPoint) === null || _a === void 0 ? void 0 : _a.fullName.map((gn) => (h(GeneralNamePart, Object.assign({ generalName: gn }, props)))));
14
+ var _a, _b;
15
+ return ([
16
+ (_a = point.distributionPoint) === null || _a === void 0 ? void 0 : _a.fullName.map((gn) => (h(GeneralNamePart, Object.assign({ generalName: gn }, props)))),
17
+ (_b = point.cRLIssuer) === null || _b === void 0 ? void 0 : _b.map((gn) => (h(GeneralNamePart, Object.assign({ generalName: gn }, props)))),
18
+ ]);
16
19
  })));
17
20
  };
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { h } from '@stencil/core';
9
- import { Name, OtherName, DisplayText, EDIPartyName, } from '@peculiar/asn1-x509';
9
+ import { Name, OtherName, DisplayText, EDIPartyName, UserNotice, } from '@peculiar/asn1-x509';
10
10
  import { Convert, BufferSourceConverter } from 'pvtsutils';
11
11
  import { AsnParser } from '@peculiar/asn1-schema';
12
12
  import { OIDs } from '../../../constants/oids';
@@ -36,8 +36,23 @@ export const GeneralNamePart = (props) => {
36
36
  ];
37
37
  }
38
38
  if (value instanceof OtherName) {
39
- const text = AsnParser.parse(value.value, DisplayText);
40
- return (h(RowValue, { name: OIDs[value.typeId], value: text.toString() }));
39
+ try {
40
+ const text = AsnParser.parse(value.value, DisplayText);
41
+ return (h(RowValue, { name: OIDs[value.typeId] || value.typeId, value: text.toString() }));
42
+ }
43
+ catch (error) {
44
+ //
45
+ }
46
+ try {
47
+ const text = AsnParser.parse(value.value, UserNotice);
48
+ if (text.explicitText) {
49
+ return (h(RowValue, { name: OIDs[value.typeId] || value.typeId, value: text.explicitText.toString() }));
50
+ }
51
+ }
52
+ catch (error) {
53
+ //
54
+ }
55
+ return (h(RowValue, { name: OIDs[value.typeId] || value.typeId, value: Convert.ToHex(value.value), monospace: true }));
41
56
  }
42
57
  if (BufferSourceConverter.isBufferSource(value)) {
43
58
  return (h(RowValue, { name: names[name] || name, value: Convert.ToString(value) }));
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { h } from '@stencil/core';
9
- import { KeyUsage, BasicConstraints, ExtendedKeyUsage, SubjectKeyIdentifier, AuthorityKeyIdentifier, CRLDistributionPoints, AuthorityInfoAccessSyntax, SubjectAlternativeName, CertificatePolicies, NameConstraints, CRLReason, SubjectDirectoryAttributes, PrivateKeyUsagePeriod, EntrustVersionInfo, } from '@peculiar/asn1-x509';
9
+ import { KeyUsage, BasicConstraints, ExtendedKeyUsage, SubjectKeyIdentifier, AuthorityKeyIdentifier, CRLDistributionPoints, AuthorityInfoAccessSyntax, SubjectAlternativeName, CertificatePolicies, NameConstraints, CRLReason, SubjectDirectoryAttributes, PrivateKeyUsagePeriod, EntrustVersionInfo, PolicyConstraints, PolicyMappings, SubjectInfoAccessSyntax, } from '@peculiar/asn1-x509';
10
10
  import { CertificateTransparency } from '@peculiar/asn1-cert-transparency';
11
11
  import { CertificateTemplate, EnrollCertTypeChoice, CaVersion, } from '@peculiar/asn1-x509-microsoft';
12
12
  import { QCStatements, BiometricSyntax } from '@peculiar/asn1-x509-qualified';
@@ -22,7 +22,7 @@ import { ExtendedKeyUsageExtension } from './extended_key_usage_extension';
22
22
  import { SubjectKeyIdentifierExtension } from './subject_key_identifier_extension';
23
23
  import { AuthorityKeyIdentifierExtension } from './authority_key_identifier_extension';
24
24
  import { CRLDistributionPointsExtension } from './crl_distribution_points_extension';
25
- import { AuthorityInfoAccessSyntaxExtension } from './authority_info_access_syntax_extension';
25
+ import { InfoAccessSyntaxExtension } from './info_access_syntax_extension';
26
26
  import { SubjectAlternativeNameExtension } from './subject_alternative_name_extension';
27
27
  import { CertificatePoliciesExtension } from './certificate_policies_extension';
28
28
  import { CertificateTransparencyExtension } from './certificate_transparency_extension';
@@ -46,6 +46,8 @@ import { EntrustVersionInfoExtension } from './entrust_version_info_extension';
46
46
  import { BiometricSyntaxExtension } from './biometric_syntax_extension';
47
47
  import { LogotypeExtension } from './logotype_extension';
48
48
  import { TNAuthListExtension } from './tn_auth_list_extension';
49
+ import { PolicyConstraintsExtension } from './policy_constraints_extension';
50
+ import { PolicyMappingsExtension } from './policy_mappings_extension';
49
51
  export const Extensions = (props) => {
50
52
  const { extensions, title } = props;
51
53
  if (!extensions || !extensions.length) {
@@ -73,8 +75,9 @@ export const Extensions = (props) => {
73
75
  if (extension.value instanceof CRLDistributionPoints) {
74
76
  return (h(CRLDistributionPointsExtension, Object.assign({ extension: extension }, props)));
75
77
  }
76
- if (extension.value instanceof AuthorityInfoAccessSyntax) {
77
- return (h(AuthorityInfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
78
+ if (extension.value instanceof AuthorityInfoAccessSyntax
79
+ || extension.value instanceof SubjectInfoAccessSyntax) {
80
+ return (h(InfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
78
81
  }
79
82
  if (extension.value instanceof SubjectAlternativeName) {
80
83
  return (h(SubjectAlternativeNameExtension, Object.assign({ extension: extension }, props)));
@@ -139,6 +142,12 @@ export const Extensions = (props) => {
139
142
  if (extension.value instanceof TNAuthorizationList) {
140
143
  return (h(TNAuthListExtension, { extension: extension }));
141
144
  }
145
+ if (extension.value instanceof PolicyConstraints) {
146
+ return (h(PolicyConstraintsExtension, { extension: extension }));
147
+ }
148
+ if (extension.value instanceof PolicyMappings) {
149
+ return (h(PolicyMappingsExtension, { extension: extension }));
150
+ }
142
151
  if (typeof extension.value === 'string') {
143
152
  return (h(AsStringExtension, { extension: extension }));
144
153
  }
@@ -10,7 +10,7 @@ import { RowValue } from '../row';
10
10
  import { getStringByOID } from '../get_string_by_oid';
11
11
  import { BasicExtension } from './basic_extension';
12
12
  import { GeneralNamePart } from './general_name_part';
13
- export const AuthorityInfoAccessSyntaxExtension = (props) => {
13
+ export const InfoAccessSyntaxExtension = (props) => {
14
14
  const { extension } = props;
15
15
  return (h(BasicExtension, { extension: extension }, extension.value.map((description, arrayIndex) => ([
16
16
  h(RowValue, { name: `Description #${arrayIndex + 1}`, value: "" }),
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) Peculiar Ventures, LLC.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { h } from '@stencil/core';
9
+ import { AsnIntegerArrayBufferConverter } from '@peculiar/asn1-schema';
10
+ import { RowValue } from '../row';
11
+ import { BasicExtension } from './basic_extension';
12
+ export const PolicyConstraintsExtension = (props) => {
13
+ const { extension } = props;
14
+ return (h(BasicExtension, { extension: extension },
15
+ extension.value.requireExplicitPolicy && (h(RowValue, { name: "Require Explicit Policy", value: AsnIntegerArrayBufferConverter.toASN(extension.value.requireExplicitPolicy).valueBlock.toString() })),
16
+ extension.value.inhibitPolicyMapping && (h(RowValue, { name: "Inhibit Policy Mapping", value: AsnIntegerArrayBufferConverter.toASN(extension.value.inhibitPolicyMapping).valueBlock.toString() }))));
17
+ };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright (c) Peculiar Ventures, LLC.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+ import { h } from '@stencil/core';
9
+ import { RowValue } from '../row';
10
+ import { getStringByOID } from '../get_string_by_oid';
11
+ import { BasicExtension } from './basic_extension';
12
+ export const PolicyMappingsExtension = (props) => {
13
+ const { extension } = props;
14
+ return (h(BasicExtension, { extension: extension }, extension.value.map((policy, arrayIndex) => ([
15
+ h(RowValue, { name: `Policy #${arrayIndex + 1}`, value: "" }),
16
+ h(RowValue, { name: "Issuer Domain", value: getStringByOID(policy.issuerDomainPolicy) }),
17
+ h(RowValue, { name: "Subject Domain", value: getStringByOID(policy.subjectDomainPolicy) }),
18
+ ]))));
19
+ };
@@ -1316,6 +1316,7 @@ export const OIDs = {
1316
1316
  '1.3.6.1.5.5.7.8': 'Other Names',
1317
1317
  '1.3.6.1.5.5.7.8.1': 'Personal Data',
1318
1318
  '1.3.6.1.5.5.7.8.2': 'User Group',
1319
+ '1.3.6.1.5.5.7.8.3': 'Permanent Identifier',
1319
1320
  '1.3.6.1.5.5.7.8.5': 'Xmpp Addr',
1320
1321
  '1.3.6.1.5.5.7.9': 'Personal Data',
1321
1322
  '1.3.6.1.5.5.7.9.1': 'Date Of Birth',
@@ -1999,10 +2000,14 @@ export const OIDs = {
1999
2000
  '2.16.840.1.101.3.1': 'Slabel',
2000
2001
  '2.16.840.1.101.3.2': 'PKI',
2001
2002
  '2.16.840.1.101.3.2.1': 'NIST policy Identifier',
2002
- '2.16.840.1.101.3.2.1.3.1': 'Fbca Rudimentary Policy',
2003
- '2.16.840.1.101.3.2.1.3.2': 'Fbca Basic Policy',
2004
- '2.16.840.1.101.3.2.1.3.3': 'Fbca Medium Policy',
2005
- '2.16.840.1.101.3.2.1.3.4': 'Fbca High Policy',
2003
+ '2.16.840.1.101.3.2.1.2.7': 'USPTO Basic 2003',
2004
+ '2.16.840.1.101.3.2.1.2.8': 'USPTO Medium 2003',
2005
+ '2.16.840.1.101.3.2.1.2.9': 'USPTO Medium Hardware',
2006
+ '2.16.840.1.101.3.2.1.3.1': 'FBCA Rudimentary Policy',
2007
+ '2.16.840.1.101.3.2.1.3.2': 'FBCA Basic Policy',
2008
+ '2.16.840.1.101.3.2.1.3.3': 'FBCA Medium Policy',
2009
+ '2.16.840.1.101.3.2.1.3.4': 'FBCA High Policy',
2010
+ '2.16.840.1.101.3.2.1.3.12': 'FBCA Medium Hardware Policy',
2006
2011
  '2.16.840.1.101.3.2.1.48.1': 'Nist Test Policy1',
2007
2012
  '2.16.840.1.101.3.2.1.48.2': 'Nist Test Policy2',
2008
2013
  '2.16.840.1.101.3.2.1.48.3': 'Nist Test Policy3',
@@ -6,7 +6,7 @@
6
6
  * LICENSE file in the root directory of this source tree.
7
7
  */
8
8
  import { Convert } from 'pvtsutils';
9
- import { Extension as AsnExtension, id_pe_authorityInfoAccess, AuthorityInfoAccessSyntax, id_ce_authorityKeyIdentifier, AuthorityKeyIdentifier, id_ce_basicConstraints, BasicConstraints, id_ce_certificateIssuer, CertificateIssuer, id_ce_certificatePolicies, CertificatePolicies, id_ce_cRLDistributionPoints, CRLDistributionPoints, id_ce_cRLReasons, CRLReason, id_ce_extKeyUsage, ExtendedKeyUsage, id_ce_inhibitAnyPolicy, InhibitAnyPolicy, id_ce_invalidityDate, InvalidityDate, id_ce_issuerAltName, IssueAlternativeName, id_ce_keyUsage, KeyUsage, id_ce_nameConstraints, NameConstraints, id_ce_policyConstraints, PolicyConstraints, id_ce_policyMappings, PolicyMappings, id_ce_subjectAltName, SubjectAlternativeName, id_ce_subjectDirectoryAttributes, SubjectDirectoryAttributes, id_ce_subjectKeyIdentifier, SubjectKeyIdentifier, id_ce_privateKeyUsagePeriod, PrivateKeyUsagePeriod, id_entrust_entrustVersInfo, EntrustVersionInfo, } from '@peculiar/asn1-x509';
9
+ import { Extension as AsnExtension, id_pe_authorityInfoAccess, AuthorityInfoAccessSyntax, id_ce_authorityKeyIdentifier, AuthorityKeyIdentifier, id_ce_basicConstraints, BasicConstraints, id_ce_certificateIssuer, CertificateIssuer, id_ce_certificatePolicies, CertificatePolicies, id_ce_cRLDistributionPoints, CRLDistributionPoints, id_ce_cRLReasons, CRLReason, id_ce_extKeyUsage, ExtendedKeyUsage, id_ce_inhibitAnyPolicy, InhibitAnyPolicy, id_ce_invalidityDate, InvalidityDate, id_ce_issuerAltName, IssueAlternativeName, id_ce_keyUsage, KeyUsage, id_ce_nameConstraints, NameConstraints, id_ce_policyConstraints, PolicyConstraints, id_ce_policyMappings, PolicyMappings, id_ce_subjectAltName, SubjectAlternativeName, id_ce_subjectDirectoryAttributes, SubjectDirectoryAttributes, id_ce_subjectKeyIdentifier, SubjectKeyIdentifier, id_ce_privateKeyUsagePeriod, PrivateKeyUsagePeriod, id_entrust_entrustVersInfo, EntrustVersionInfo, id_pe_subjectInfoAccess, SubjectInfoAccessSyntax, } from '@peculiar/asn1-x509';
10
10
  import { id_pe_qcStatements, QCStatements, id_pe_biometricInfo, BiometricSyntax, } from '@peculiar/asn1-x509-qualified';
11
11
  import { id_certificateTemplate, CertificateTemplate, id_enrollCertType, EnrollCertTypeChoice, id_caVersion, CaVersion, } from '@peculiar/asn1-x509-microsoft';
12
12
  import { id_netscapeComment, NetscapeComment, id_netscapeCertType, NetscapeCertType, } from '@peculiar/asn1-x509-netscape';
@@ -127,6 +127,9 @@ export class Extension extends AsnData {
127
127
  case id_pe_TNAuthList:
128
128
  this.value = AsnParser.parse(asnExtnValue, TNAuthorizationList);
129
129
  break;
130
+ case id_pe_subjectInfoAccess:
131
+ this.value = AsnParser.parse(asnExtnValue, SubjectInfoAccessSyntax);
132
+ break;
130
133
  default:
131
134
  console.warn(`Didn't detect parser for "${this.asn.extnID}" extension.`);
132
135
  this.value = Convert.ToHex(asnExtnValue);