@peculiar/certificates-viewer 1.17.6 → 1.20.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 (40) hide show
  1. package/dist/cjs/{download-1cf6585c.js → download-061c8763.js} +50 -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 +59 -7
  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/general_name_part.js +18 -3
  7. package/dist/collection/components/certificate-viewer/extensions/index.js +13 -4
  8. package/dist/collection/components/certificate-viewer/extensions/{authority_info_access_syntax_extension.js → info_access_syntax_extension.js} +1 -1
  9. package/dist/collection/components/certificate-viewer/extensions/policy_constraints_extension.js +17 -0
  10. package/dist/collection/components/certificate-viewer/extensions/policy_mappings_extension.js +19 -0
  11. package/dist/collection/constants/oids.js +10 -4
  12. package/dist/collection/crypto/extension.js +4 -1
  13. package/dist/esm/{download-dea7e15e.js → download-250f9495.js} +48 -9
  14. package/dist/esm/{l10n-6ab04c66.js → l10n-c8cf6930.js} +1 -1
  15. package/dist/esm/peculiar-attribute-certificate-viewer_9.entry.js +59 -7
  16. package/dist/esm/peculiar-certificate-summary_3.entry.js +1 -1
  17. package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
  18. package/dist/esm-es5/{download-dea7e15e.js → download-250f9495.js} +55 -11
  19. package/dist/esm-es5/{l10n-6ab04c66.js → l10n-c8cf6930.js} +2 -2
  20. package/dist/esm-es5/peculiar-attribute-certificate-viewer_9.entry.js +55 -7
  21. package/dist/esm-es5/peculiar-certificate-summary_3.entry.js +1 -1
  22. package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
  23. package/dist/peculiar/{p-704409ca.system.entry.js → p-293edf5c.system.entry.js} +1 -1
  24. package/dist/peculiar/{p-f304a39b.entry.js → p-294c4ef9.entry.js} +1 -1
  25. package/dist/peculiar/p-557d912f.system.js +1 -1
  26. package/dist/peculiar/{p-590831d1.system.js → p-636aea18.system.js} +11 -11
  27. package/dist/peculiar/{p-73a580ff.entry.js → p-75793893.entry.js} +1 -1
  28. package/dist/peculiar/{p-150d1ad1.system.entry.js → p-983b5210.system.entry.js} +1 -1
  29. package/dist/peculiar/{p-65bdcd21.entry.js → p-a04bc3b8.entry.js} +14 -14
  30. package/dist/peculiar/{p-ae8de220.system.entry.js → p-a5d4421a.system.entry.js} +78 -64
  31. package/dist/peculiar/{p-ee7045c5.system.js → p-bd1f9066.system.js} +3 -3
  32. package/dist/peculiar/{p-79bbe633.js → p-cf1841f8.js} +1 -1
  33. package/dist/peculiar/{p-6b2a8d50.js → p-e5769859.js} +10 -10
  34. package/dist/peculiar/peculiar.esm.js +1 -1
  35. package/dist/types/components/certificate-viewer/extensions/info_access_syntax_extension.d.ts +15 -0
  36. package/dist/types/components/certificate-viewer/extensions/{authority_info_access_syntax_extension.d.ts → policy_constraints_extension.d.ts} +4 -4
  37. package/dist/types/components/certificate-viewer/extensions/policy_mappings_extension.d.ts +15 -0
  38. package/dist/types/constants/oids.d.ts +6 -0
  39. package/dist/types/crypto/extension.d.ts +2 -2
  40. 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({
@@ -11484,6 +11514,7 @@ const OIDs = {
11484
11514
  '1.3.6.1.4.1.34697.2.4': 'Affirm Trust EV policy',
11485
11515
  '1.3.6.1.4.1.40869.1.1.22.3': 'TWCAEV policy',
11486
11516
  '1.3.6.1.4.1.13177.10.1.2.2': 'Corporate certificates for Natural Person',
11517
+ '1.3.6.1.4.1.37476.9000.64.1': 'Smallstep CA Provisioner ID',
11487
11518
  '1.3.6.1.5.2.3.5': 'KCD Authentication',
11488
11519
  '1.3.6.1.5.5.7': 'PKIX',
11489
11520
  '1.3.6.1.5.5.7.0.12': 'Attribute Cert',
@@ -11558,6 +11589,7 @@ const OIDs = {
11558
11589
  '1.3.6.1.5.5.7.8': 'Other Names',
11559
11590
  '1.3.6.1.5.5.7.8.1': 'Personal Data',
11560
11591
  '1.3.6.1.5.5.7.8.2': 'User Group',
11592
+ '1.3.6.1.5.5.7.8.3': 'Permanent Identifier',
11561
11593
  '1.3.6.1.5.5.7.8.5': 'Xmpp Addr',
11562
11594
  '1.3.6.1.5.5.7.9': 'Personal Data',
11563
11595
  '1.3.6.1.5.5.7.9.1': 'Date Of Birth',
@@ -12241,10 +12273,14 @@ const OIDs = {
12241
12273
  '2.16.840.1.101.3.1': 'Slabel',
12242
12274
  '2.16.840.1.101.3.2': 'PKI',
12243
12275
  '2.16.840.1.101.3.2.1': 'NIST policy Identifier',
12244
- '2.16.840.1.101.3.2.1.3.1': 'Fbca Rudimentary Policy',
12245
- '2.16.840.1.101.3.2.1.3.2': 'Fbca Basic Policy',
12246
- '2.16.840.1.101.3.2.1.3.3': 'Fbca Medium Policy',
12247
- '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',
12248
12284
  '2.16.840.1.101.3.2.1.48.1': 'Nist Test Policy1',
12249
12285
  '2.16.840.1.101.3.2.1.48.2': 'Nist Test Policy2',
12250
12286
  '2.16.840.1.101.3.2.1.48.3': 'Nist Test Policy3',
@@ -13778,7 +13814,7 @@ class Extension$1 extends AsnData {
13778
13814
  this.value = AsnParser.parse(asnExtnValue, PolicyConstraints);
13779
13815
  break;
13780
13816
  case id_ce_policyMappings:
13781
- this.value = AsnParser.parse(asnExtnValue, PolicyMappings);
13817
+ this.value = AsnParser.parse(asnExtnValue, exports.PolicyMappings);
13782
13818
  break;
13783
13819
  case id_ce_subjectAltName:
13784
13820
  this.value = AsnParser.parse(asnExtnValue, exports.SubjectAlternativeName);
@@ -13838,6 +13874,9 @@ class Extension$1 extends AsnData {
13838
13874
  case id_pe_TNAuthList:
13839
13875
  this.value = AsnParser.parse(asnExtnValue, exports.TNAuthorizationList);
13840
13876
  break;
13877
+ case id_pe_subjectInfoAccess:
13878
+ this.value = AsnParser.parse(asnExtnValue, exports.SubjectInfoAccessSyntax);
13879
+ break;
13841
13880
  default:
13842
13881
  console.warn(`Didn't detect parser for "${this.asn.extnID}" extension.`);
13843
13882
  this.value = index.Convert.ToHex(asnExtnValue);
@@ -15398,6 +15437,7 @@ Download.certificateRequest = {
15398
15437
  exports.ArchiveRevInfo = ArchiveRevInfo;
15399
15438
  exports.AsnConvert = AsnConvert;
15400
15439
  exports.AsnData = AsnData;
15440
+ exports.AsnIntegerArrayBufferConverter = AsnIntegerArrayBufferConverter;
15401
15441
  exports.AsnParser = AsnParser;
15402
15442
  exports.Attribute = Attribute;
15403
15443
  exports.AttributeCertificate = AttributeCertificate;
@@ -15417,6 +15457,7 @@ exports.NameConstraints = NameConstraints;
15417
15457
  exports.NetscapeCertType = NetscapeCertType;
15418
15458
  exports.OIDs = OIDs;
15419
15459
  exports.OtherName = OtherName;
15460
+ exports.PolicyConstraints = PolicyConstraints;
15420
15461
  exports.PrivateKeyUsagePeriod = PrivateKeyUsagePeriod;
15421
15462
  exports.RSAPublicKey = RSAPublicKey;
15422
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-1cf6585c.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) }));
@@ -771,7 +786,7 @@ const CRLDistributionPointsExtension = (props) => {
771
786
  * This source code is licensed under the MIT license found in the
772
787
  * LICENSE file in the root directory of this source tree.
773
788
  */
774
- const AuthorityInfoAccessSyntaxExtension = (props) => {
789
+ const InfoAccessSyntaxExtension = (props) => {
775
790
  const { extension } = props;
776
791
  return (index.h(BasicExtension, { extension: extension }, extension.value.map((description, arrayIndex) => ([
777
792
  index.h(RowValue, { name: `Description #${arrayIndex + 1}`, value: "" }),
@@ -1260,6 +1275,36 @@ const TNAuthListExtension = (props) => {
1260
1275
  ]))));
1261
1276
  };
1262
1277
 
1278
+ /**
1279
+ * @license
1280
+ * Copyright (c) Peculiar Ventures, LLC.
1281
+ *
1282
+ * This source code is licensed under the MIT license found in the
1283
+ * LICENSE file in the root directory of this source tree.
1284
+ */
1285
+ const PolicyConstraintsExtension = (props) => {
1286
+ const { extension } = props;
1287
+ return (index.h(BasicExtension, { extension: extension },
1288
+ extension.value.requireExplicitPolicy && (index.h(RowValue, { name: "Require Explicit Policy", value: download.AsnIntegerArrayBufferConverter.toASN(extension.value.requireExplicitPolicy).valueBlock.toString() })),
1289
+ extension.value.inhibitPolicyMapping && (index.h(RowValue, { name: "Inhibit Policy Mapping", value: download.AsnIntegerArrayBufferConverter.toASN(extension.value.inhibitPolicyMapping).valueBlock.toString() }))));
1290
+ };
1291
+
1292
+ /**
1293
+ * @license
1294
+ * Copyright (c) Peculiar Ventures, LLC.
1295
+ *
1296
+ * This source code is licensed under the MIT license found in the
1297
+ * LICENSE file in the root directory of this source tree.
1298
+ */
1299
+ const PolicyMappingsExtension = (props) => {
1300
+ const { extension } = props;
1301
+ return (index.h(BasicExtension, { extension: extension }, extension.value.map((policy, arrayIndex) => ([
1302
+ index.h(RowValue, { name: `Policy #${arrayIndex + 1}`, value: "" }),
1303
+ index.h(RowValue, { name: "Issuer Domain", value: getStringByOID(policy.issuerDomainPolicy) }),
1304
+ index.h(RowValue, { name: "Subject Domain", value: getStringByOID(policy.subjectDomainPolicy) }),
1305
+ ]))));
1306
+ };
1307
+
1263
1308
  /**
1264
1309
  * @license
1265
1310
  * Copyright (c) Peculiar Ventures, LLC.
@@ -1294,8 +1339,9 @@ const Extensions = (props) => {
1294
1339
  if (extension.value instanceof download.CRLDistributionPoints) {
1295
1340
  return (index.h(CRLDistributionPointsExtension, Object.assign({ extension: extension }, props)));
1296
1341
  }
1297
- if (extension.value instanceof download.AuthorityInfoAccessSyntax) {
1298
- return (index.h(AuthorityInfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
1342
+ if (extension.value instanceof download.AuthorityInfoAccessSyntax
1343
+ || extension.value instanceof download.SubjectInfoAccessSyntax) {
1344
+ return (index.h(InfoAccessSyntaxExtension, Object.assign({ extension: extension }, props)));
1299
1345
  }
1300
1346
  if (extension.value instanceof download.SubjectAlternativeName) {
1301
1347
  return (index.h(SubjectAlternativeNameExtension, Object.assign({ extension: extension }, props)));
@@ -1360,6 +1406,12 @@ const Extensions = (props) => {
1360
1406
  if (extension.value instanceof download.TNAuthorizationList) {
1361
1407
  return (index.h(TNAuthListExtension, { extension: extension }));
1362
1408
  }
1409
+ if (extension.value instanceof download.PolicyConstraints) {
1410
+ return (index.h(PolicyConstraintsExtension, { extension: extension }));
1411
+ }
1412
+ if (extension.value instanceof download.PolicyMappings) {
1413
+ return (index.h(PolicyMappingsExtension, { extension: extension }));
1414
+ }
1363
1415
  if (typeof extension.value === 'string') {
1364
1416
  return (index.h(AsStringExtension, { extension: extension }));
1365
1417
  }
@@ -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-1cf6585c.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
 
@@ -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
+ };
@@ -1241,6 +1241,7 @@ export const OIDs = {
1241
1241
  '1.3.6.1.4.1.34697.2.4': 'Affirm Trust EV policy',
1242
1242
  '1.3.6.1.4.1.40869.1.1.22.3': 'TWCAEV policy',
1243
1243
  '1.3.6.1.4.1.13177.10.1.2.2': 'Corporate certificates for Natural Person',
1244
+ '1.3.6.1.4.1.37476.9000.64.1': 'Smallstep CA Provisioner ID',
1244
1245
  '1.3.6.1.5.2.3.5': 'KCD Authentication',
1245
1246
  '1.3.6.1.5.5.7': 'PKIX',
1246
1247
  '1.3.6.1.5.5.7.0.12': 'Attribute Cert',
@@ -1315,6 +1316,7 @@ export const OIDs = {
1315
1316
  '1.3.6.1.5.5.7.8': 'Other Names',
1316
1317
  '1.3.6.1.5.5.7.8.1': 'Personal Data',
1317
1318
  '1.3.6.1.5.5.7.8.2': 'User Group',
1319
+ '1.3.6.1.5.5.7.8.3': 'Permanent Identifier',
1318
1320
  '1.3.6.1.5.5.7.8.5': 'Xmpp Addr',
1319
1321
  '1.3.6.1.5.5.7.9': 'Personal Data',
1320
1322
  '1.3.6.1.5.5.7.9.1': 'Date Of Birth',
@@ -1998,10 +2000,14 @@ export const OIDs = {
1998
2000
  '2.16.840.1.101.3.1': 'Slabel',
1999
2001
  '2.16.840.1.101.3.2': 'PKI',
2000
2002
  '2.16.840.1.101.3.2.1': 'NIST policy Identifier',
2001
- '2.16.840.1.101.3.2.1.3.1': 'Fbca Rudimentary Policy',
2002
- '2.16.840.1.101.3.2.1.3.2': 'Fbca Basic Policy',
2003
- '2.16.840.1.101.3.2.1.3.3': 'Fbca Medium Policy',
2004
- '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',
2005
2011
  '2.16.840.1.101.3.2.1.48.1': 'Nist Test Policy1',
2006
2012
  '2.16.840.1.101.3.2.1.48.2': 'Nist Test Policy2',
2007
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);