@peculiar/certificates-viewer 1.17.3 → 1.17.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{download-78e61b1d.js → download-1cf6585c.js} +42 -8
- package/dist/cjs/{l10n-91045362.js → l10n-f5651bb0.js} +1 -1
- package/dist/cjs/peculiar-attribute-certificate-viewer_9.cjs.entry.js +16 -41
- package/dist/cjs/peculiar-certificate-summary_3.cjs.entry.js +1 -1
- package/dist/cjs/peculiar-certificates-viewer.cjs.entry.js +2 -2
- package/dist/collection/components/attribute-certificate-viewer/attribute-certificate-viewer.js +3 -14
- package/dist/collection/components/certificate-viewer/certificate-viewer.js +2 -13
- package/dist/collection/components/csr-viewer/csr-viewer.js +3 -14
- package/dist/collection/utils/third_party_links.js +10 -0
- package/dist/esm/{download-c6153e99.js → download-dea7e15e.js} +42 -8
- package/dist/esm/{l10n-25aa4c54.js → l10n-6ab04c66.js} +1 -1
- package/dist/esm/peculiar-attribute-certificate-viewer_9.entry.js +16 -41
- package/dist/esm/peculiar-certificate-summary_3.entry.js +1 -1
- package/dist/esm/peculiar-certificates-viewer.entry.js +2 -2
- package/dist/esm-es5/{download-c6153e99.js → download-dea7e15e.js} +65 -27
- package/dist/esm-es5/{l10n-25aa4c54.js → l10n-6ab04c66.js} +15 -10
- package/dist/esm-es5/peculiar-attribute-certificate-viewer_9.entry.js +15 -41
- package/dist/esm-es5/peculiar-certificate-summary_3.entry.js +1 -1
- package/dist/esm-es5/peculiar-certificates-viewer.entry.js +2 -2
- package/dist/peculiar/{p-b817b484.system.entry.js → p-150d1ad1.system.entry.js} +1 -1
- package/dist/peculiar/p-557d912f.system.js +1 -1
- package/dist/peculiar/{p-05d621c2.system.js → p-590831d1.system.js} +11 -11
- package/dist/peculiar/{p-d97c01b2.entry.js → p-65bdcd21.entry.js} +17 -10
- package/dist/peculiar/{p-8e2bede4.js → p-6b2a8d50.js} +10 -10
- package/dist/peculiar/{p-fca4a08b.system.entry.js → p-704409ca.system.entry.js} +1 -1
- package/dist/peculiar/{p-bbac8b2a.entry.js → p-73a580ff.entry.js} +1 -1
- package/dist/peculiar/{p-cffe0126.js → p-79bbe633.js} +1 -1
- package/dist/peculiar/{p-d20fc814.system.entry.js → p-ae8de220.system.entry.js} +42 -35
- package/dist/peculiar/{p-be2b0d6d.system.js → p-ee7045c5.system.js} +5 -5
- package/dist/peculiar/{p-8a166731.entry.js → p-f304a39b.entry.js} +1 -1
- package/dist/peculiar/peculiar.esm.js +1 -1
- package/dist/types/components/attribute-certificate-viewer/attribute-certificate-viewer.d.ts +0 -3
- package/dist/types/components/certificate-viewer/certificate-viewer.d.ts +0 -3
- package/dist/types/components/csr-viewer/csr-viewer.d.ts +0 -3
- package/dist/types/utils/third_party_links.d.ts +10 -0
- package/package.json +20 -20
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as t,u as e,b as i,d as r}from"./p-cffe0126.js";function s(t,e,i){return t instanceof Object==0?i:e in t?t[e]:i}function n(t,e=0,i=t.byteLength-e,r=!1){let s="";for(const n of new Uint8Array(t,e,i)){const t=n.toString(16).toUpperCase();1===t.length&&(s+="0"),s+=t,r&&(s+=" ")}return s.trim()}function o(t,e,i,r){return e instanceof ArrayBuffer==0?(t.error='Wrong parameter: inputBuffer must be "ArrayBuffer"',!1):0===e.byteLength?(t.error="Wrong parameter: inputBuffer has zero length",!1):i<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-i-r<0&&(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",1))}function a(t,e){let i=0;if(1===t.length)return t[0];for(let r=t.length-1;r>=0;r--)i+=t[t.length-1-r]*Math.pow(2,e*r);return i}function c(t,e,i=-1){const r=i;let s=t,n=0,o=Math.pow(2,e);for(let a=1;a<8;a++){if(t<o){let t;if(r<0)t=new ArrayBuffer(a),n=a;else{if(r<a)return new ArrayBuffer(0);t=new ArrayBuffer(r),n=r}const i=new Uint8Array(t);for(let r=a-1;r>=0;r--){const t=Math.pow(2,r*e);i[n-r-1]=Math.floor(s/t),s-=i[n-r-1]*t}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function l(...t){let e=0,i=0;for(const n of t)e+=n.byteLength;const r=new ArrayBuffer(e),s=new Uint8Array(r);for(const n of t)s.set(new Uint8Array(n),i),i+=n.byteLength;return r}function u(...t){let e=0,i=0;for(const n of t)e+=n.length;const r=new ArrayBuffer(e),s=new Uint8Array(r);for(const n of t)s.set(n,i),i+=n.length;return s}function h(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=0===t[0]&&0==(128&t[1]);(255===t[0]&&128&t[1]||e)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=0;i[0]=128&t[0];const r=a(i,8),s=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(s);for(let o=0;o<this.valueHex.byteLength;o++)n[o]=t[o];return n[0]&=127,a(n,8)-r}function p(t,e){if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<i.length;s++)if(i[s]!==r[s])return!1;return!0}function d(t,e){const i=t.toString(10);if(e<i.length)return"";const r=e-i.length,s=new Array(r);for(let n=0;n<r;n++)s[n]="0";return s.join("").concat(i)}const f=[new Uint8Array([1])];class y{constructor(t={}){this.blockLength=s(t,"blockLength",0),this.error=s(t,"error",""),this.warnings=s(t,"warnings",[]),this.valueBeforeDecode="valueBeforeDecode"in t?t.valueBeforeDecode.slice(0):new ArrayBuffer(0)}static blockName(){return"baseBlock"}toJSON(){return{blockName:this.constructor.blockName(),blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:n(this.valueBeforeDecode,0,this.valueBeforeDecode.byteLength)}}}const S=t=>class extends t{constructor(t={}){super(t),this.isHexOnly=s(t,"isHexOnly",!1),this.valueHex="valueHex"in t?t.valueHex.slice(0):new ArrayBuffer(0)}static blockName(){return"hexBlock"}fromBER(t,e,i){return!1===o(this,t,e,i)?-1:0===new Uint8Array(t,e,i).length?(this.warnings.push("Zero buffer length"),e):(this.valueHex=t.slice(e,e+i),this.blockLength=i,e+i)}toBER(t=!1){return!0!==this.isHexOnly?(this.error='Flag "isHexOnly" is not set, abort',new ArrayBuffer(0)):!0===t?new ArrayBuffer(this.valueHex.byteLength):this.valueHex.slice(0)}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}};class A extends(S(y)){constructor(t={}){super(),"idBlock"in t?(this.isHexOnly=s(t.idBlock,"isHexOnly",!1),this.valueHex=s(t.idBlock,"valueHex",new ArrayBuffer(0)),this.tagClass=s(t.idBlock,"tagClass",-1),this.tagNumber=s(t.idBlock,"tagNumber",-1),this.isConstructed=s(t.idBlock,"isConstructed",!1)):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}static blockName(){return"identificationBlock"}toBER(t=!1){let e,i,r=0;switch(this.tagClass){case 1:r|=0;break;case 2:r|=64;break;case 3:r|=128;break;case 4:r|=192;break;default:return this.error="Unknown tag class",new ArrayBuffer(0)}if(this.isConstructed&&(r|=32),this.tagNumber<31&&!this.isHexOnly){if(e=new ArrayBuffer(1),i=new Uint8Array(e),!t){let t=this.tagNumber;t&=31,r|=t,i[0]=r}return e}if(!1===this.isHexOnly){const s=c(this.tagNumber,7),n=new Uint8Array(s),o=s.byteLength;if(e=new ArrayBuffer(o+1),i=new Uint8Array(e),i[0]=31|r,!t){for(let t=0;t<o-1;t++)i[t+1]=128|n[t];i[o]=n[o-1]}return e}if(e=new ArrayBuffer(this.valueHex.byteLength+1),i=new Uint8Array(e),i[0]=31|r,!1===t){const t=new Uint8Array(this.valueHex);for(let e=0;e<t.length-1;e++)i[e+1]=128|t[e];i[this.valueHex.byteLength]=t[t.length-1]}return e}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.error="Zero buffer length",-1;switch(192&r[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=32==(32&r[0]),this.isHexOnly=!1;const s=31&r[0];if(31!==s)this.tagNumber=s,this.blockLength=1;else{let t=1;this.valueHex=new ArrayBuffer(255);let e=255,i=new Uint8Array(this.valueHex);for(;128&r[t];){if(i[t-1]=127&r[t],t++,t>=r.length)return this.error="End of input reached before message was fully decoded",-1;if(t===e){e+=255;const t=new ArrayBuffer(e),r=new Uint8Array(t);for(let e=0;e<i.length;e++)r[e]=i[e];this.valueHex=new ArrayBuffer(e),i=new Uint8Array(this.valueHex)}}this.blockLength=t+1,i[t-1]=127&r[t];const s=new ArrayBuffer(t),n=new Uint8Array(s);for(let r=0;r<t;r++)n[r]=i[r];this.valueHex=new ArrayBuffer(t),i=new Uint8Array(this.valueHex),i.set(n),this.blockLength<=9?this.tagNumber=a(i,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.tagClass=this.tagClass,t.tagNumber=this.tagNumber,t.isConstructed=this.isConstructed,t}}class C extends y{constructor(t={}){super(),"lenBlock"in t?(this.isIndefiniteForm=s(t.lenBlock,"isIndefiniteForm",!1),this.longFormUsed=s(t.lenBlock,"longFormUsed",!1),this.length=s(t.lenBlock,"length",0)):(this.isIndefiniteForm=!1,this.longFormUsed=!1,this.length=0)}static blockName(){return"lengthBlock"}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.error="Zero buffer length",-1;if(255===r[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===r[0],!0===this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&r[0]),!1===this.longFormUsed)return this.length=r[0],this.blockLength=1,e+this.blockLength;const s=127&r[0];if(s>8)return this.error="Too big integer",-1;if(s+1>r.length)return this.error="End of input reached before message was fully decoded",-1;const n=new Uint8Array(s);for(let o=0;o<s;o++)n[o]=r[o+1];return 0===n[s-1]&&this.warnings.push("Needlessly long encoded length"),this.length=a(n,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,i;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(i=new Uint8Array(e),i[0]=128),e;if(!0===this.longFormUsed){const r=c(this.length,8);if(r.byteLength>127)return this.error="Too big length",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength+1),!0===t)return e;const s=new Uint8Array(r);i=new Uint8Array(e),i[0]=128|r.byteLength;for(let t=0;t<r.byteLength;t++)i[t+1]=s[t];return e}return e=new ArrayBuffer(1),!1===t&&(i=new Uint8Array(e),i[0]=this.length),e}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.isIndefiniteForm=this.isIndefiniteForm,t.longFormUsed=this.longFormUsed,t.length=this.length,t}}class m extends y{constructor(t={}){super(t)}static blockName(){return"valueBlock"}fromBER(t,e,i){throw TypeError('User need to make a specific function in a class which extends "ValueBlock"')}toBER(t=!1){throw TypeError('User need to make a specific function in a class which extends "ValueBlock"')}}class g extends y{constructor(t={},e=m){super(t),"name"in t&&(this.name=t.name),"optional"in t&&(this.optional=t.optional),"primitiveSchema"in t&&(this.primitiveSchema=t.primitiveSchema),this.idBlock=new A(t),this.lenBlock=new C(t),this.valueBlock=new e(t)}static blockName(){return"BaseBlock"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}toBER(t=!1){let e;const i=this.idBlock.toBER(t),r=this.valueBlock.toBER(!0);let s;if(this.lenBlock.length=r.byteLength,e=l(i,this.lenBlock.toBER(t)),s=!1===t?this.valueBlock.toBER(t):new ArrayBuffer(this.lenBlock.length),e=l(e,s),!0===this.lenBlock.isIndefiniteForm){const i=new ArrayBuffer(2);if(!1===t){const t=new Uint8Array(i);t[0]=0,t[1]=0}e=l(e,i)}return e}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.idBlock=this.idBlock.toJSON(),t.lenBlock=this.lenBlock.toJSON(),t.valueBlock=this.valueBlock.toJSON(),"name"in this&&(t.name=this.name),"optional"in this&&(t.optional=this.optional),"primitiveSchema"in this&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(){return`${this.constructor.blockName()} : ${n(this.valueBlock.valueHex)}`}}class v extends m{constructor(t={}){super(t),this.valueHex="valueHex"in t?t.valueHex.slice(0):new ArrayBuffer(0),this.isHexOnly=s(t,"isHexOnly",!0)}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.warnings.push("Zero buffer length"),e;this.valueHex=new ArrayBuffer(r.length);const s=new Uint8Array(this.valueHex);for(let n=0;n<r.length;n++)s[n]=r[n];return this.blockLength=i,e+i}toBER(t=!1){return this.valueHex.slice(0)}static blockName(){return"PrimitiveValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t.isHexOnly=this.isHexOnly,t}}class w extends g{constructor(t={}){super(t,v),this.idBlock.isConstructed=!1}static blockName(){return"PRIMITIVE"}}class E extends m{constructor(t={}){super(t),this.value=s(t,"value",[]),this.isIndefiniteForm=s(t,"isIndefiniteForm",!1)}fromBER(t,e,i){const r=e,s=i;if(!1===o(this,t,e,i))return-1;if(0===new Uint8Array(t,e,i).length)return this.warnings.push("Zero buffer length"),e;let n=e;for(;(!0===this.isIndefiniteForm?1:i)>0;){const e=Ct(t,n,i);if(-1===e.offset)return this.error=e.result.error,this.warnings.concat(e.result.warnings),-1;if(n=e.offset,this.blockLength+=e.result.blockLength,i-=e.result.blockLength,this.value.push(e.result),!0===this.isIndefiniteForm&&e.result.constructor.blockName()===B.blockName())break}return!0===this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.blockName()===B.blockName()?this.value.pop():this.warnings.push("No EndOfContent block encoded")),this.valueBeforeDecode=t.slice(r,r+s),n}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++)e=l(e,this.value[i].toBER(t));return e}static blockName(){return"ConstructedValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.isIndefiniteForm=this.isIndefiniteForm,t.value=[];for(let i=0;i<this.value.length;i++)t.value.push(this.value[i].toJSON());return t}}class b extends g{constructor(t={}){super(t,E),this.idBlock.isConstructed=!0}static blockName(){return"CONSTRUCTED"}fromBER(t,e,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}toString(){const t=[];for(const i of this.valueBlock.value)t.push(i.toString().split("\n").map(t=>" "+t).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.blockName();return t.length?`${e} :\n${t.join("\n")}`:e+" :"}}class P extends m{constructor(t={}){super(t)}fromBER(t,e,i){return e}toBER(t=!1){return new ArrayBuffer(0)}static blockName(){return"EndOfContentValueBlock"}}class B extends g{constructor(t={}){super(t,P),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}static blockName(){return"EndOfContent"}}class D extends m{constructor(t={}){super(t),this.value=s(t,"value",!1),this.isHexOnly=s(t,"isHexOnly",!1),"valueHex"in t?this.valueHex=t.valueHex.slice(0):(this.valueHex=new ArrayBuffer(1),!0===this.value&&(new Uint8Array(this.valueHex)[0]=255))}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);i>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,this.valueHex=new ArrayBuffer(r.length);const s=new Uint8Array(this.valueHex);for(let n=0;n<r.length;n++)s[n]=r[n];return this.value=0!==h.call(this),this.blockLength=i,e+i}toBER(t=!1){return this.valueHex}static blockName(){return"BooleanValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class I extends g{constructor(t={}){super(t,D),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}static blockName(){return"BOOLEAN"}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class T extends b{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}static blockName(){return"SEQUENCE"}}class N extends b{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}static blockName(){return"SET"}}class x extends g{constructor(t={}){super(t,y),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}static blockName(){return"NULL"}fromBER(t,e,i){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=i,e+i>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+i}toBER(t=!1){const e=new ArrayBuffer(2);if(!0===t)return e;const i=new Uint8Array(e);return i[0]=5,i[1]=0,e}toString(){return""+this.constructor.blockName()}}class R extends(S(E)){constructor(t={}){super(t),this.isConstructed=s(t,"isConstructed",!1)}fromBER(t,e,i){let r=0;if(!0===this.isConstructed){if(this.isHexOnly=!1,r=E.prototype.fromBER.call(this,t,e,i),-1===r)return r;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.blockName();if(e===B.blockName()){if(!0===this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==O.blockName())return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(t,e,i),this.blockLength=i;return r}toBER(t=!1){if(!0===this.isConstructed)return E.prototype.toBER.call(this,t);let e=new ArrayBuffer(this.valueHex.byteLength);return!0===t||0===this.valueHex.byteLength||(e=this.valueHex.slice(0)),e}static blockName(){return"OctetStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.isConstructed=this.isConstructed,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class O extends g{constructor(t={}){super(t,R),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===i)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const s=t.slice(e,e+i);try{const t=mt(s);-1!==t.offset&&t.offset===i&&(this.valueBlock.value=[t.result])}catch(r){}}return super.fromBER(t,e,i)}static blockName(){return"OCTET STRING"}isEqual(t){return t instanceof O!=0&&JSON.stringify(this)===JSON.stringify(t)}toString(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?b.prototype.toString.call(this):`${this.constructor.blockName()} : ${n(this.valueBlock.valueHex)}`}}class k extends(S(E)){constructor(t={}){super(t),this.unusedBits=s(t,"unusedBits",0),this.isConstructed=s(t,"isConstructed",!1),this.blockLength=this.valueHex.byteLength}fromBER(t,e,i){if(0===i)return e;let r=-1;if(!0===this.isConstructed){if(r=E.prototype.fromBER.call(this,t,e,i),-1===r)return r;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.blockName();if(e===B.blockName()){if(!0===this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==M.blockName())return this.error="BIT STRING may consists of BIT STRINGs only",-1;if(this.unusedBits>0&&this.value[t].valueBlock.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;if(this.unusedBits=this.value[t].valueBlock.unusedBits,this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1}return r}if(!1===o(this,t,e,i))return-1;const s=new Uint8Array(t,e,i);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const r=t.slice(e+1,e+i);try{const t=mt(r);-1!==t.offset&&t.offset===i-1&&(this.value=[t.result])}catch(a){}}this.valueHex=new ArrayBuffer(s.length-1);const n=new Uint8Array(this.valueHex);for(let o=0;o<i-1;o++)n[o]=s[o+1];return this.blockLength=s.length,e+i}toBER(t=!1){if(!0===this.isConstructed)return E.prototype.toBER.call(this,t);if(!0===t)return new ArrayBuffer(this.valueHex.byteLength+1);if(0===this.valueHex.byteLength)return new ArrayBuffer(0);const e=new Uint8Array(this.valueHex),i=new ArrayBuffer(this.valueHex.byteLength+1),r=new Uint8Array(i);r[0]=this.unusedBits;for(let s=0;s<this.valueHex.byteLength;s++)r[s+1]=e[s];return i}static blockName(){return"BitStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.unusedBits=this.unusedBits,t.isConstructed=this.isConstructed,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class M extends g{constructor(t={}){super(t,k),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}static blockName(){return"BIT STRING"}fromBER(t,e,i){return 0===i?e:(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,i))}isEqual(t){return t instanceof M!=0&&JSON.stringify(this)===JSON.stringify(t)}toString(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return b.prototype.toString.call(this);{const t=[],e=new Uint8Array(this.valueBlock.valueHex);for(const i of e)t.push(i.toString(2).padStart(8,"0"));return`${this.constructor.blockName()} : ${t.join("")}`}}}class K extends(S(m)){constructor(t={}){super(t),"value"in t&&(this.valueDec=t.value)}set valueHex(t){this._valueHex=t.slice(0),t.byteLength>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,t.byteLength>0&&(this._valueDec=h.call(this)))}get valueHex(){return this._valueHex}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this._valueHex=function(t){const e=t<0?-1*t:t;let i=128;for(let r=1;r<8;r++){if(e<=i){if(t<0){const t=c(i-e,8,r);return new Uint8Array(t)[0]|=128,t}let s=c(e,8,r),n=new Uint8Array(s);if(128&n[0]){const t=s.slice(0),e=new Uint8Array(t);s=new ArrayBuffer(s.byteLength+1),n=new Uint8Array(s);for(let i=0;i<t.byteLength;i++)n[i+1]=e[i];n[0]=0}return s}i*=Math.pow(2,8)}return new ArrayBuffer(0)}(t)}get valueDec(){return this._valueDec}fromDER(t,e,i,r=0){const s=this.fromBER(t,e,i);if(-1===s)return s;const n=new Uint8Array(this._valueHex);if(0===n[0]&&0!=(128&n[1])){const t=new ArrayBuffer(this._valueHex.byteLength-1);new Uint8Array(t).set(new Uint8Array(this._valueHex,1,this._valueHex.byteLength-1)),this._valueHex=t.slice(0)}else if(0!==r&&this._valueHex.byteLength<r){r-this._valueHex.byteLength>1&&(r=this._valueHex.byteLength+1);const t=new ArrayBuffer(r);new Uint8Array(t).set(n,r-this._valueHex.byteLength),this._valueHex=t.slice(0)}return s}toDER(t=!1){const e=new Uint8Array(this._valueHex);switch(!0){case 0!=(128&e[0]):{const t=new ArrayBuffer(this._valueHex.byteLength+1),i=new Uint8Array(t);i[0]=0,i.set(e,1),this._valueHex=t.slice(0)}break;case 0===e[0]&&0==(128&e[1]):{const t=new ArrayBuffer(this._valueHex.byteLength-1);new Uint8Array(t).set(new Uint8Array(this._valueHex,1,this._valueHex.byteLength-1)),this._valueHex=t.slice(0)}}return this.toBER(t)}fromBER(t,e,i){const r=super.fromBER(t,e,i);return-1===r?r:(this.blockLength=i,e+i)}toBER(t=!1){return this.valueHex.slice(0)}static blockName(){return"IntegerValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t}toString(){function t(t,e){const i=new Uint8Array([0]);let r=new Uint8Array(t),s=new Uint8Array(e),n=r.slice(0);const o=n.length-1;let a=s.slice(0);const c=a.length-1;let l=0,h=0;for(let p=c<o?o:c;p>=0;p--,h++){switch(!0){case h<a.length:l=n[o-h]+a[c-h]+i[0];break;default:l=n[o-h]+i[0]}switch(i[0]=l/10,!0){case h>=n.length:n=u(new Uint8Array([l%10]),n);break;default:n[o-h]=l%10}}return i[0]>0&&(n=u(i,n)),n.slice(0)}function e(t){if(t>=f.length)for(let e=f.length;e<=t;e++){const t=new Uint8Array([0]);let i=f[e-1].slice(0);for(let e=i.length-1;e>=0;e--){const r=new Uint8Array([(i[e]<<1)+t[0]]);t[0]=r[0]/10,i[e]=r[0]%10}t[0]>0&&(i=u(t,i)),f.push(i)}return f[t]}function i(t,e){let i=0,r=new Uint8Array(t),s=new Uint8Array(e),n=r.slice(0);const o=n.length-1;let a=s.slice(0);const c=a.length-1;let l,u=0;for(let h=c;h>=0;h--,u++)switch(l=n[o-u]-a[c-u]-i,!0){case l<0:i=1,n[o-u]=l+10;break;default:i=0,n[o-u]=l}if(i>0)for(let h=o-c+1;h>=0;h--,u++){if(l=n[o-u]-i,!(l<0)){i=0,n[o-u]=l;break}i=1,n[o-u]=l+10}return n.slice()}const r=8*this._valueHex.byteLength-1;let s,n=new Uint8Array(8*this._valueHex.byteLength/3),o=0;const a=new Uint8Array(this._valueHex);let c="",l=!1;for(let u=this._valueHex.byteLength-1;u>=0;u--){s=a[u];for(let a=0;a<8;a++){if(1==(1&s))switch(o){case r:n=i(e(o),n),c="-";break;default:n=t(n,e(o))}o++,s>>=1}}for(let u=0;u<n.length;u++)n[u]&&(l=!0),l&&(c+="0123456789".charAt(n[u]));return!1===l&&(c+="0123456789".charAt(0)),c}}class U extends g{constructor(t={}){super(t,K),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}static blockName(){return"INTEGER"}isEqual(t){return t instanceof U?this.valueBlock.isHexOnly&&t.valueBlock.isHexOnly?p(this.valueBlock.valueHex,t.valueBlock.valueHex):this.valueBlock.isHexOnly===t.valueBlock.isHexOnly&&this.valueBlock.valueDec===t.valueBlock.valueDec:t instanceof ArrayBuffer&&p(this.valueBlock.valueHex,t)}convertToDER(){const t=new U({valueHex:this.valueBlock.valueHex});return t.valueBlock.toDER(),t}convertFromDER(){const t=this.valueBlock.valueHex.byteLength%2?this.valueBlock.valueHex.byteLength+1:this.valueBlock.valueHex.byteLength,e=new U({valueHex:this.valueBlock.valueHex});return e.valueBlock.fromDER(e.valueBlock.valueHex,0,e.valueBlock.valueHex.byteLength,t),e}toString(){const t=n(this.valueBlock.valueHex),e=BigInt("0x"+t);return`${this.constructor.blockName()} : ${e.toString()}`}}class H extends U{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}static blockName(){return"ENUMERATED"}}class _ extends(S(y)){constructor(t={}){super(t),this.valueDec=s(t,"valueDec",-1),this.isFirstSid=s(t,"isFirstSid",!1)}static blockName(){return"sidBlock"}fromBER(t,e,i){if(0===i)return e;if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);this.valueHex=new ArrayBuffer(i);let s=new Uint8Array(this.valueHex);for(let o=0;o<i&&(s[o]=127&r[o],this.blockLength++,0!=(128&r[o]));o++);const n=new ArrayBuffer(this.blockLength),c=new Uint8Array(n);for(let o=0;o<this.blockLength;o++)c[o]=s[o];return this.valueHex=n.slice(0),s=new Uint8Array(this.valueHex),0!=(128&r[this.blockLength-1])?(this.error="End of input reached before message was fully decoded",-1):(0===s[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=a(s,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t=!1){let e,i;if(this.isHexOnly){if(!0===t)return new ArrayBuffer(this.valueHex.byteLength);const r=new Uint8Array(this.valueHex);e=new ArrayBuffer(this.blockLength),i=new Uint8Array(e);for(let t=0;t<this.blockLength-1;t++)i[t]=128|r[t];return i[this.blockLength-1]=r[this.blockLength-1],e}const r=c(this.valueDec,7);if(0===r.byteLength)return this.error="Error during encoding SID value",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength),!1===t){const t=new Uint8Array(r);i=new Uint8Array(e);for(let e=0;e<r.byteLength-1;e++)i[e]=128|t[e];i[r.byteLength-1]=t[r.byteLength-1]}return e}toString(){let t="";if(!0===this.isHexOnly)t=n(this.valueHex,0,this.valueHex.byteLength);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t.isFirstSid=this.isFirstSid,t}}class j extends m{constructor(t={}){super(t),this.fromString(s(t,"value",""))}fromBER(t,e,i){let r=e;for(;i>0;){const e=new _;if(r=e.fromBER(t,r,i),-1===r)return this.blockLength=0,this.error=e.error,r;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,i-=e.blockLength,this.value.push(e)}return r}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(t);if(0===r.byteLength)return this.error=this.value[i].error,new ArrayBuffer(0);e=l(e,r)}return e}fromString(t){this.value=[];let e=0,i=0,r="",s=!1;do{if(i=t.indexOf(".",e),r=-1===i?t.substr(e):t.substr(e,i-e),e=i+1,s){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return this.value=[],!1}const i=parseInt(r,10);if(isNaN(i))return!0;t.valueDec=i+e,s=!1}else{const t=new _;if(t.valueDec=parseInt(r,10),isNaN(t.valueDec))return!0;0===this.value.length&&(t.isFirstSid=!0,s=!0),this.value.push(t)}}while(-1!==i);return!0}toString(){let t="",e=!1;for(let i=0;i<this.value.length;i++){e=this.value[i].isHexOnly;let r=this.value[i].toString();0!==i&&(t+="."),e?(r=`{${r}}`,this.value[i].isFirstSid?t=`2.{${r} - 80}`:t+=r):t+=r}return t}static blockName(){return"ObjectIdentifierValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.value=this.toString(),t.sidArray=[];for(let i=0;i<this.value.length;i++)t.sidArray.push(this.value[i].toJSON());return t}}class F extends g{constructor(t={}){super(t,j),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}static blockName(){return"OBJECT IDENTIFIER"}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.toString()}`}}class L extends(S(y)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"Utf8StringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class V extends g{constructor(t={}){super(t,L),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}static blockName(){return"UTF8String"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,new Uint8Array(t));try{this.valueBlock.value=decodeURIComponent(escape(this.valueBlock.value))}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`)}}fromString(t){const e=unescape(encodeURIComponent(t)),i=e.length;this.valueBlock.valueHex=new ArrayBuffer(i);const r=new Uint8Array(this.valueBlock.valueHex);for(let s=0;s<i;s++)r[s]=e.charCodeAt(s);this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class G extends(S(y)){constructor(t={}){super(t),this.valueDec=s(t,"valueDec",-1)}static blockName(){return"relativeSidBlock"}fromBER(t,e,i){if(0===i)return e;if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);this.valueHex=new ArrayBuffer(i);let s=new Uint8Array(this.valueHex);for(let o=0;o<i&&(s[o]=127&r[o],this.blockLength++,0!=(128&r[o]));o++);const n=new ArrayBuffer(this.blockLength),c=new Uint8Array(n);for(let o=0;o<this.blockLength;o++)c[o]=s[o];return this.valueHex=n.slice(0),s=new Uint8Array(this.valueHex),0!=(128&r[this.blockLength-1])?(this.error="End of input reached before message was fully decoded",-1):(0===s[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=a(s,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t=!1){let e,i;if(this.isHexOnly){if(!0===t)return new ArrayBuffer(this.valueHex.byteLength);const r=new Uint8Array(this.valueHex);e=new ArrayBuffer(this.blockLength),i=new Uint8Array(e);for(let t=0;t<this.blockLength-1;t++)i[t]=128|r[t];return i[this.blockLength-1]=r[this.blockLength-1],e}const r=c(this.valueDec,7);if(0===r.byteLength)return this.error="Error during encoding SID value",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength),!1===t){const t=new Uint8Array(r);i=new Uint8Array(e);for(let e=0;e<r.byteLength-1;e++)i[e]=128|t[e];i[r.byteLength-1]=t[r.byteLength-1]}return e}toString(){let t="";return t=!0===this.isHexOnly?n(this.valueHex,0,this.valueHex.byteLength):this.valueDec.toString(),t}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t}}class $ extends m{constructor(t={}){super(t),this.fromString(s(t,"value",""))}fromBER(t,e,i){let r=e;for(;i>0;){const e=new G;if(r=e.fromBER(t,r,i),-1===r)return this.blockLength=0,this.error=e.error,r;this.blockLength+=e.blockLength,i-=e.blockLength,this.value.push(e)}return r}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(t);if(0===r.byteLength)return this.error=this.value[i].error,new ArrayBuffer(0);e=l(e,r)}return e}fromString(t){this.value=[];let e=0,i=0,r="";do{i=t.indexOf(".",e),r=-1===i?t.substr(e):t.substr(e,i-e),e=i+1;const s=new G;if(s.valueDec=parseInt(r,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(-1!==i);return!0}toString(){let t="",e=!1;for(let i=0;i<this.value.length;i++){e=this.value[i].isHexOnly;let r=this.value[i].toString();0!==i&&(t+="."),e?(r=`{${r}}`,t+=r):t+=r}return t}static blockName(){return"RelativeObjectIdentifierValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.value=this.toString(),t.sidArray=[];for(let i=0;i<this.value.length;i++)t.sidArray.push(this.value[i].toJSON());return t}}class Q extends g{constructor(t={}){super(t,$),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}static blockName(){return"RelativeObjectIdentifier"}}class W extends(S(y)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"BmpStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class z extends g{constructor(t={}){super(t,W),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}static blockName(){return"BMPString"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){const e=t.slice(0),i=new Uint8Array(e);for(let r=0;r<i.length;r+=2){const t=i[r];i[r]=i[r+1],i[r+1]=t}this.valueBlock.value=String.fromCharCode.apply(null,new Uint16Array(e))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(2*e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++){const e=c(t.charCodeAt(r),8),s=new Uint8Array(e);if(s.length>2)continue;const n=2-s.length;for(let t=s.length-1;t>=0;t--)i[2*r+t+n]=s[t]}this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class q extends(S(y)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"UniversalStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class J extends g{constructor(t={}){super(t,q),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}static blockName(){return"UniversalString"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){const e=t.slice(0),i=new Uint8Array(e);for(let r=0;r<i.length;r+=4)i[r]=i[r+3],i[r+1]=i[r+2],i[r+2]=0,i[r+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(4*e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++){const e=c(t.charCodeAt(r),8),s=new Uint8Array(e);if(s.length>4)continue;const n=4-s.length;for(let t=s.length-1;t>=0;t--)i[4*r+t+n]=s[t]}this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class Z extends(S(y)){constructor(t={}){super(t),this.value="",this.isHexOnly=!0}static blockName(){return"SimpleStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class X extends g{constructor(t={}){super(t,Z),"value"in t&&this.fromString(t.value)}static blockName(){return"SIMPLESTRING"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,new Uint8Array(t))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++)i[r]=t.charCodeAt(r);this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class Y extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}static blockName(){return"NumericString"}}class tt extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}static blockName(){return"PrintableString"}}class et extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}static blockName(){return"TeletexString"}}class it extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}static blockName(){return"VideotexString"}}class rt extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}static blockName(){return"IA5String"}}class st extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}static blockName(){return"GraphicString"}}class nt extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}static blockName(){return"VisibleString"}}class ot extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}static blockName(){return"GeneralString"}}class at extends X{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}static blockName(){return"CharacterString"}}class ct extends nt{constructor(t={}){if(super(t),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,"value"in t){this.fromString(t.value),this.valueBlock.valueHex=new ArrayBuffer(t.value.length);const e=new Uint8Array(this.valueBlock.valueHex);for(let i=0;i<t.value.length;i++)e[i]=t.value.charCodeAt(i)}"valueDate"in t&&(this.fromDate(t.valueDate),this.valueBlock.valueHex=this.toBuffer()),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,new Uint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),i=new Uint8Array(e);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for convertion");const i=parseInt(e[1],10);this.year=i>=50?1900+i:2e3+i,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(){const t=new Array(7);return t[0]=d(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=d(this.month,2),t[2]=d(this.day,2),t[3]=d(this.hour,2),t[4]=d(this.minute,2),t[5]=d(this.second,2),t[6]="Z",t.join("")}static blockName(){return"UTCTime"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.year=this.year,t.month=this.month,t.day=this.day,t.hour=this.hour,t.minute=this.minute,t.second=this.second,t}}class lt extends nt{constructor(t={}){if(super(t),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,this.millisecond=0,"value"in t){this.fromString(t.value),this.valueBlock.valueHex=new ArrayBuffer(t.value.length);const e=new Uint8Array(this.valueBlock.valueHex);for(let i=0;i<t.value.length;i++)e[i]=t.value.charCodeAt(i)}"valueDate"in t&&(this.fromDate(t.valueDate),this.valueBlock.valueHex=this.toBuffer()),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,new Uint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),i=new Uint8Array(e);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e,i=!1,r="",s="",n=0,o=0,a=0;if("Z"===t[t.length-1])r=t.substr(0,t.length-1),i=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for convertion");r=t}if(i){if(-1!==r.indexOf("+"))throw new Error("Wrong input string for convertion");if(-1!==r.indexOf("-"))throw new Error("Wrong input string for convertion")}else{let t=1,e=r.indexOf("+"),i="";if(-1===e&&(e=r.indexOf("-"),t=-1),-1!==e){if(i=r.substr(e+1),r=r.substr(0,e),2!==i.length&&4!==i.length)throw new Error("Wrong input string for convertion");let s=new Number(i.substr(0,2));if(isNaN(s.valueOf()))throw new Error("Wrong input string for convertion");if(o=t*s,4===i.length){if(s=new Number(i.substr(2,2)),isNaN(s.valueOf()))throw new Error("Wrong input string for convertion");a=t*s}}}let c=r.indexOf(".");if(-1===c&&(c=r.indexOf(",")),-1!==c){const t=new Number("0"+r.substr(c));if(isNaN(t.valueOf()))throw new Error("Wrong input string for convertion");n=t.valueOf(),s=r.substr(0,c)}else s=r;switch(!0){case 8===s.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for convertion");break;case 10===s.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*n;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===s.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*n;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===s.length:e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c&&(this.millisecond=Math.floor(1e3*n));break;default:throw new Error("Wrong input string for convertion")}const l=e.exec(s);if(null===l)throw new Error("Wrong input string for convertion");for(let u=1;u<l.length;u++)switch(u){case 1:this.year=parseInt(l[u],10);break;case 2:this.month=parseInt(l[u],10);break;case 3:this.day=parseInt(l[u],10);break;case 4:this.hour=parseInt(l[u],10)+o;break;case 5:this.minute=parseInt(l[u],10)+a;break;case 6:this.second=parseInt(l[u],10);break;default:throw new Error("Wrong input string for convertion")}if(!1===i){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(){const t=[];return t.push(d(this.year,4)),t.push(d(this.month,2)),t.push(d(this.day,2)),t.push(d(this.hour,2)),t.push(d(this.minute,2)),t.push(d(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(d(this.millisecond,3))),t.push("Z"),t.join("")}static blockName(){return"GeneralizedTime"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.year=this.year,t.month=this.month,t.day=this.day,t.hour=this.hour,t.minute=this.minute,t.second=this.second,t.millisecond=this.millisecond,t}}class ut extends V{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}static blockName(){return"DATE"}}class ht extends V{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}static blockName(){return"TimeOfDay"}}class pt extends V{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}static blockName(){return"DateTime"}}class dt extends V{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}static blockName(){return"Duration"}}class ft extends V{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}static blockName(){return"TIME"}}class yt{constructor(t={}){this.value=s(t,"value",[]),this.optional=s(t,"optional",!1)}}class St{constructor(t={}){this.name=s(t,"name",""),this.optional=s(t,"optional",!1)}}class At{constructor(t={}){this.name=s(t,"name",""),this.optional=s(t,"optional",!1),this.value=s(t,"value",new St),this.local=s(t,"local",!1)}}function Ct(t,e,i){const r=e;let s=new g({},Object);const n=new y;if(!1===o(n,t,e,i))return s.error=n.error,{offset:-1,result:s};if(0===new Uint8Array(t,e,i).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(t,e,i);if(s.warnings.concat(s.idBlock.warnings),-1===a)return s.error=s.idBlock.error,{offset:-1,result:s};if(a=s.lenBlock.fromBER(t,e=a,i-=s.idBlock.blockLength),s.warnings.concat(s.lenBlock.warnings),-1===a)return s.error=s.lenBlock.error,{offset:-1,result:s};if(e=a,i-=s.lenBlock.blockLength,!1===s.idBlock.isConstructed&&!0===s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=g;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&!1===s.idBlock.isHexOnly)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(!0===s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=B;break;case 1:c=I;break;case 2:c=U;break;case 3:c=M;break;case 4:c=O;break;case 5:c=x;break;case 6:c=F;break;case 10:c=H;break;case 12:c=V;break;case 13:c=Q;break;case 14:c=ft;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=T;break;case 17:c=N;break;case 18:c=Y;break;case 19:c=tt;break;case 20:c=et;break;case 21:c=it;break;case 22:c=rt;break;case 23:c=ct;break;case 24:c=lt;break;case 25:c=st;break;case 26:c=nt;break;case 27:c=ot;break;case 28:c=J;break;case 29:c=at;break;case 30:c=z;break;case 31:c=ut;break;case 32:c=ht;break;case 33:c=pt;break;case 34:c=dt;break;default:{let t;t=!0===s.idBlock.isConstructed?new b:new w,t.idBlock=s.idBlock,t.lenBlock=s.lenBlock,t.warnings=s.warnings,s=t}}break;case 2:case 3:case 4:default:c=!0===s.idBlock.isConstructed?b:w}return s=function(t,e){if(t instanceof e)return t;const i=new e;return i.idBlock=t.idBlock,i.lenBlock=t.lenBlock,i.warnings=t.warnings,i.valueBeforeDecode=t.valueBeforeDecode.slice(0),i}(s,c),a=s.fromBER(t,e,!0===s.lenBlock.isIndefiniteForm?i:s.lenBlock.length),s.valueBeforeDecode=t.slice(r,r+s.blockLength),{offset:a,result:s}}function mt(t){if(0===t.byteLength){const t=new g({},Object);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Ct(t,0,t.byteLength)}function gt(t,e,i){if(i instanceof yt){for(let r=0;r<i.value.length;r++)if(!0===gt(t,e,i.value[r]).verified)return{verified:!0,result:t};{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return i.hasOwnProperty("name")&&(t.name=i.name),t}}if(i instanceof St)return i.hasOwnProperty("name")&&(t[i.name]=e),{verified:!0,result:t};if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(i instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("idBlock"in i==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("fromBER"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("toBER"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=i.idBlock.toBER(!1);if(0===r.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===i.idBlock.fromBER(r,0,r.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===i.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===i.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===i.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if("isHexOnly"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(!0===i.idBlock.isHexOnly){if("valueHex"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=new Uint8Array(i.idBlock.valueHex),s=new Uint8Array(e.idBlock.valueHex);if(r.length!==s.length)return{verified:!1,result:t};for(let e=0;e<r.length;e++)if(r[e]!==s[1])return{verified:!1,result:t}}if(i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(t[i.name]=e)),!0===i.idBlock.isConstructed){let r=0,s={verified:!1},n=i.valueBlock.value.length;if(n>0&&i.valueBlock.value[0]instanceof At&&(n=e.valueBlock.value.length),0===n)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==i.valueBlock.value.length){let e=!0;for(let t=0;t<i.valueBlock.value.length;t++)e=e&&(i.valueBlock.value[t].optional||!1);return!0===e?{verified:!0,result:t}:(i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let o=0;o<n;o++)if(o-r>=e.valueBlock.value.length){if(!1===i.valueBlock.value[o].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}}else if(i.valueBlock.value[0]instanceof At){if(s=gt(t,e.valueBlock.value[o],i.valueBlock.value[0].value),!1===s.verified){if(!0!==i.valueBlock.value[0].optional)return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),s;r++}if("name"in i.valueBlock.value[0]&&i.valueBlock.value[0].name.length>0){let r={};r="local"in i.valueBlock.value[0]&&!0===i.valueBlock.value[0].local?e:t,void 0===r[i.valueBlock.value[0].name]&&(r[i.valueBlock.value[0].name]=[]),r[i.valueBlock.value[0].name].push(e.valueBlock.value[o])}}else if(s=gt(t,e.valueBlock.value[o-r],i.valueBlock.value[o]),!1===s.verified){if(!0!==i.valueBlock.value[o].optional)return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),s;r++}if(!1===s.verified){const e={verified:!1,result:t};return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}return{verified:!0,result:t}}if("primitiveSchema"in i&&"valueHex"in e.valueBlock){const r=mt(e.valueBlock.valueHex);if(-1===r.offset){const e={verified:!1,result:r.result};return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}return gt(t,r.result,i.primitiveSchema)}return{verified:!0,result:t}}const vt=Object.freeze({__proto__:null,HexBlock:S,ValueBlock:m,BaseBlock:g,Primitive:w,Constructed:b,EndOfContent:B,Boolean:I,Sequence:T,Set:N,Null:x,OctetString:O,BitString:M,Integer:U,Enumerated:H,ObjectIdentifier:F,Utf8String:V,RelativeObjectIdentifier:Q,BmpString:z,UniversalString:J,NumericString:Y,PrintableString:tt,TeletexString:et,VideotexString:it,IA5String:rt,GraphicString:st,VisibleString:nt,GeneralString:ot,CharacterString:at,UTCTime:ct,GeneralizedTime:lt,DATE:ut,TimeOfDay:ht,DateTime:pt,Duration:dt,TIME:ft,Choice:yt,Any:St,Repeated:At,RawData:class{constructor(t={}){this.data=s(t,"data",new ArrayBuffer(0))}fromBER(t,e,i){return this.data=t.slice(e,i),e+i}toBER(t=!1){return this.data}},fromBER:mt,compareSchema:gt,verifySchema:function(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const i=mt(t);return-1===i.offset?{verified:!1,result:i.result}:gt(i.result,i.result,e)},fromJSON:function(){}});var wt,Et;!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(wt||(wt={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(Et||(Et={}));const bt={fromASN:t=>t instanceof x?null:t.valueBeforeDecode,toASN:t=>{if(null===t)return new x;const e=mt(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Pt={fromASN:t=>t.valueBlock.valueHex.byteLength>4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new U({value:t})},Bt={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new H({value:t})},Dt={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new U({valueHex:t})},It={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new M({valueHex:t})},Tt={fromASN:t=>t.valueBlock.toString(),toASN:t=>new F({value:t})},Nt={fromASN:t=>t.valueBlock.value,toASN:t=>new I({value:t})},xt={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new O({valueHex:t})};function Rt(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const Ot=Rt(V),kt=Rt(z),Mt=Rt(J),Kt=Rt(Y),Ut=Rt(tt),Ht=Rt(et),_t=Rt(it),jt=Rt(rt),Ft=Rt(st),Lt=Rt(nt),Vt=Rt(ot),Gt=Rt(at),$t={fromASN:t=>t.toDate(),toASN:t=>new ct({valueDate:t})},Qt={fromASN:t=>t.toDate(),toASN:t=>new lt({valueDate:t})},Wt={fromASN:()=>null,toASN:()=>new x};function zt(t){switch(t){case Et.Any:return bt;case Et.BitString:return It;case Et.BmpString:return kt;case Et.Boolean:return Nt;case Et.CharacterString:return Gt;case Et.Enumerated:return Bt;case Et.GeneralString:return Vt;case Et.GeneralizedTime:return Qt;case Et.GraphicString:return Ft;case Et.IA5String:return jt;case Et.Integer:return Pt;case Et.Null:return Wt;case Et.NumericString:return Kt;case Et.ObjectIdentifier:return Tt;case Et.OctetString:return xt;case Et.PrintableString:return Ut;case Et.TeletexString:return Ht;case Et.UTCTime:return $t;case Et.UniversalString:return Mt;case Et.Utf8String:return Ot;case Et.VideotexString:return _t;case Et.VisibleString:return Lt;default:return null}}const qt=e(t((function(t,e){!function(t){class e{static isArrayBuffer(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}static toArrayBuffer(t){const e=this.toUint8Array(t);return e.byteOffset||e.length?e.buffer.slice(e.byteOffset,e.byteOffset+e.length):e.buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))return new e(t.buffer,t.byteOffset,t.byteLength);if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,i){const r=e.toUint8Array(t),s=e.toUint8Array(i);if(r.length!==s.byteLength)return!1;for(let e=0;e<r.length;e++)if(r[e]!==s[e])return!1;return!0}}class i{static fromString(t){const e=unescape(encodeURIComponent(t)),i=new Uint8Array(e.length);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);return i.buffer}static toString(t){const i=e.toUint8Array(t);let r="";for(let e=0;e<i.length;e++)r+=String.fromCharCode(i[e]);return decodeURIComponent(escape(r))}}class r{static toString(t,i=!1){const r=e.toArrayBuffer(t),s=new DataView(r);let n="";for(let e=0;e<r.byteLength;e+=2){const t=s.getUint16(e,i);n+=String.fromCharCode(t)}return n}static fromString(t,e=!1){const i=new ArrayBuffer(2*t.length),r=new DataView(i);for(let s=0;s<t.length;s++)r.setUint16(2*s,t.charCodeAt(s),e);return i}}class s{static isHex(t){return"string"==typeof t&&/^[a-z0-9]+$/i.test(t)}static isBase64(t){return"string"==typeof t&&/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}static isBase64Url(t){return"string"==typeof t&&/^[a-zA-Z0-9-_]+$/i.test(t)}static ToString(t,i="utf8"){const s=e.toUint8Array(t);switch(i.toLowerCase()){case"utf8":return this.ToUtf8String(s);case"binary":return this.ToBinary(s);case"hex":return this.ToHex(s);case"base64":return this.ToBase64(s);case"base64url":return this.ToBase64Url(s);case"utf16le":return r.toString(s,!0);case"utf16":case"utf16be":return r.toString(s);default:throw new Error(`Unknown type of encoding '${i}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return r.fromString(t,!0);case"utf16":case"utf16be":return r.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){const i=e.toUint8Array(t);if("undefined"!=typeof btoa){const t=this.ToString(i,"binary");return btoa(t)}return Buffer.from(i).toString("base64")}static FromBase64(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return"undefined"!=typeof atob?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return i.fromString(t);case"utf16":case"utf16be":return r.fromString(t);case"utf16le":case"usc2":return r.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return i.toString(t);case"utf16":case"utf16be":return r.toString(t);case"utf16le":case"usc2":return r.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){const e=t.length,i=new Uint8Array(e);for(let r=0;r<e;r++)i[r]=t.charCodeAt(r);return i.buffer}static ToBinary(t){const i=e.toUint8Array(t);let r="";for(let e=0;e<i.length;e++)r+=String.fromCharCode(i[e]);return r}static ToHex(t){const i=e.toUint8Array(t),r=[],s=i.length;for(let e=0;e<s;e++){const t=i[e].toString(16).padStart(2,"0");r.push(t)}return r.join("")}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e="0"+e);const i=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){const t=e.slice(r,r+2);i[r/2]=parseInt(t,16)}return i.buffer}static ToUtf16String(t,e=!1){return r.toString(t,e)}static FromUtf16String(t,e=!1){return r.fromString(t,e)}static Base64Padding(t){const e=4-t.length%4;if(e<4)for(let i=0;i<e;i++)t+="=";return t}static formatString(t){return(null==t?void 0:t.replace(/[\n\r\t ]/g,""))||""}}s.DEFAULT_UTF8_ENCODING="utf8",t.BufferSourceConverter=e,t.Convert=s,t.assign=function(t){const e=arguments[0];for(let i=1;i<arguments.length;i++){const t=arguments[i];for(const i in t)e[i]=t[i]}return e},t.combine=function(...t){const e=t.map(t=>t.byteLength).reduce((t,e)=>t+e),i=new Uint8Array(e);let r=0;return t.map(t=>new Uint8Array(t)).forEach(t=>{for(const e of t)i[r++]=e}),i.buffer},t.isEqual=function(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<t.byteLength;s++)if(i[s]!==r[s])return!1;return!0},Object.defineProperty(t,"__esModule",{value:!0})}(e)})));class Jt{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!qt.BufferSourceConverter.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=qt.BufferSourceConverter.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof M))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new M({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new M({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const i of e)t+=i.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const i=e.length+7>>3;this.unusedBits=(i<<3)-e.length;const r=new Uint8Array(i);e=e.padStart(i<<3,"0").split("").reverse().join("");let s=0;for(;s<i;)r[s]=parseInt(e.slice(s<<3,8+(s<<3)),2),s++;this.value=r.buffer}}class Zt{constructor(t){this.buffer="number"==typeof t?new ArrayBuffer(t):qt.BufferSourceConverter.isBufferSource(t)?qt.BufferSourceConverter.toArrayBuffer(t):Array.isArray(t)?new Uint8Array(t):new ArrayBuffer(0)}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(t){if(!(t instanceof O))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new O({valueHex:this.buffer})}toSchema(t){return new O({name:t})}}function Xt(t){return t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Xt(t.prototype):!!(t&&t.toASN&&t.fromASN)}function Yt(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<t.byteLength;s++)if(i[s]!==r[s])return!1;return!0}const te=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t){var e,i,r,s;const n=this.items.get(t);if(!n)throw new Error(`Cannot get schema for '${null!==(s=null===(r=null===(i=null===(e=t)||void 0===e?void 0:e.prototype)||void 0===i?void 0:i.constructor)||void 0===r?void 0:r.name)&&void 0!==s?s:t}' target`);return n}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:wt.Sequence,items:{}},i=this.findParentSchema(t);return i&&(Object.assign(e,i),e.items=Object.assign({},e.items,i.items)),e}create(t,e){const i=this.items.get(t)||this.createDefault(t),r=[];for(const s in i.items){const t=i.items[s],n=e?s:"";let o;if("number"==typeof t.type){const e=Et[t.type],i=vt[e];if(!i)throw new Error(`Cannot get ASN1 class by name '${e}'`);o=new i({name:n})}else Xt(t.type)?o=(new t.type).toSchema(n):t.optional?this.get(t.type).type===wt.Choice?o=new St({name:n}):(o=this.create(t.type,!1),o.name=n):o=new St({name:n});const a=!!t.optional||void 0!==t.defaultValue;if(t.repeated&&(o.name="",o=new("set"===t.repeated?N:T)({name:"",value:[new At({name:n,value:o})]})),null!=t.context)if(t.implicit)if("number"==typeof t.type||Xt(t.type))r.push(new(t.repeated?b:w)({name:n,optional:a,idBlock:{tagClass:3,tagNumber:t.context}}));else{this.cache(t.type);const e=!!t.repeated;let i=e?o:this.get(t.type).schema;i=i.valueBlock?i.valueBlock.value:i.value,r.push(new b({name:e?"":n,optional:a,idBlock:{tagClass:3,tagNumber:t.context},value:i}))}else r.push(new b({optional:a,idBlock:{tagClass:3,tagNumber:t.context},value:[o]}));else o.optional=a,r.push(o)}switch(i.type){case wt.Sequence:return new T({value:r,name:""});case wt.Set:return new N({value:r,name:""});case wt.Choice:return new yt({value:r,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=t.__proto__;return e?this.items.get(e)||this.findParentSchema(e):null}},ee=t=>e=>{let i;te.has(e)?i=te.get(e):(i=te.createDefault(e),te.set(e,i)),Object.assign(i,t)},ie=t=>(e,i)=>{let r;te.has(e.constructor)?r=te.get(e.constructor):(r=te.createDefault(e.constructor),te.set(e.constructor,r));const s=Object.assign({},t);if("number"==typeof s.type&&!s.converter){const r=zt(t.type);if(!r)throw new Error(`Cannot get default converter for property '${i}' of ${e.constructor.name}`);s.converter=r}r.items[i]=s};class re extends Error{constructor(){super(...arguments),this.schemas=[]}}class se{static parse(t,e){let i;if(t instanceof ArrayBuffer)i=t;else if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))i=new Uint8Array(t).buffer;else{if(!(ArrayBuffer.isView(t)||t.buffer instanceof ArrayBuffer))throw new TypeError("Wrong type of 'data' argument");i=t.buffer}const r=mt(i);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,e)}static fromASN(t,e){var i;try{if(Xt(e))return(new e).fromASN(t);const r=te.get(e);te.cache(e);let s=r.schema;if(t.constructor===b&&r.type!==wt.Choice){s=new b({idBlock:{tagClass:3,tagNumber:t.idBlock.tagNumber},value:r.schema.valueBlock.value});for(const e in r.items)delete t[e]}const n=gt(t,t,s);if(!n.verified)throw new re(`Data does not match to ${e.name} ASN1 schema. ${n.result.error}`);const o=new e;if(function t(e){var i;if(e){const r=Object.getPrototypeOf(e);return(null===(i=null==r?void 0:r.prototype)||void 0===i?void 0:i.constructor)===Array||t(r)}return!1}(e)){if("number"==typeof r.itemType){const i=zt(r.itemType);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);return e.from(t.valueBlock.value,t=>i.fromASN(t))}return e.from(t.valueBlock.value,t=>this.fromASN(t,r.itemType))}for(const e in r.items){if(!t[e])continue;const s=r.items[e];if("number"==typeof s.type||Xt(s.type)){const r=null!==(i=s.converter)&&void 0!==i?i:Xt(s.type)?new s.type:null;if(!r)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const i=new("sequence"===s.repeated?T:N);i.valueBlock=t[e].valueBlock;const n=mt(i.toBER(!1)).result.valueBlock.value;o[e]=Array.from(n,t=>r.fromASN(t))}else o[e]=Array.from(t[e],t=>r.fromASN(t));else{let i=t[e];if(s.implicit){let t;if(Xt(s.type))t=(new s.type).toSchema("");else{const e=Et[s.type],i=vt[e];if(!i)throw new Error(`Cannot get '${e}' class from asn1js module`);t=new i}t.valueBlock=i.valueBlock,i=mt(t.toBER(!1)).result}o[e]=r.fromASN(i)}}else o[e]=s.repeated?Array.from(t[e],t=>this.fromASN(t,s.type)):this.fromASN(t[e],s.type)}return o}catch(r){throw r instanceof re&&r.schemas.push(e.name),r}}}class ne{static serialize(t){return t instanceof g?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&Xt(t.constructor))return t.toASN();const e=t.constructor,i=te.get(e);te.cache(e);let r,s=[];if(i.itemType)if("number"==typeof i.itemType){const r=zt(i.itemType);if(!r)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);s=t.map(t=>r.toASN(t))}else s=t.map(t=>this.toAsnItem({type:i.itemType},"[]",e,t));else for(const n in i.items){const r=i.items[n],o=t[n];if(void 0===o||r.defaultValue===o||"object"==typeof r.defaultValue&&"object"==typeof o&&Yt(this.serialize(r.defaultValue),this.serialize(o)))continue;let a=ne.toAsnItem(r,n,e,o);if("number"==typeof r.context)if(r.implicit)if(r.repeated||"number"!=typeof r.type&&!Xt(r.type))s.push(new b({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof x?a.valueBeforeDecode:a.valueBlock.toBER(),s.push(new w(Object.assign({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context}},t)))}else s.push(new b({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context},value:[a]}));else r.repeated?s=s.concat(a):s.push(a)}switch(i.type){case wt.Sequence:r=new T({value:s});break;case wt.Set:r=new N({value:s});break;case wt.Choice:if(!s[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);r=s[0]}return r}static toAsnItem(t,e,i,r){let s;if("number"==typeof t.type){const n=t.converter;if(!n)throw new Error(`Property '${e}' doesn't have converter for type ${Et[t.type]} in schema '${i.name}'`);if(t.repeated){const e=Array.from(r,t=>n.toASN(t));s=new("sequence"===t.repeated?T:N)({value:e})}else s=n.toASN(r)}else if(t.repeated){const e=Array.from(r,t=>this.toASN(t));s=new("sequence"===t.repeated?T:N)({value:e})}else s=this.toASN(r);return s}}class oe extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class ae{static serialize(t){return ne.serialize(t)}static parse(t,e){return se.parse(t,e)}static toString(t){const e=mt(qt.BufferSourceConverter.isBufferSource(t)?qt.BufferSourceConverter.toArrayBuffer(t):ae.serialize(t));if(-1===e.offset)throw new Error("Cannot decode ASN.1 data. "+e.result.error);return e.result.toString()}}
|
|
1
|
+
import{c as t,u as e,b as i,d as r}from"./p-79bbe633.js";function s(t,e,i){return t instanceof Object==0?i:e in t?t[e]:i}function n(t,e=0,i=t.byteLength-e,r=!1){let s="";for(const n of new Uint8Array(t,e,i)){const t=n.toString(16).toUpperCase();1===t.length&&(s+="0"),s+=t,r&&(s+=" ")}return s.trim()}function o(t,e,i,r){return e instanceof ArrayBuffer==0?(t.error='Wrong parameter: inputBuffer must be "ArrayBuffer"',!1):0===e.byteLength?(t.error="Wrong parameter: inputBuffer has zero length",!1):i<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-i-r<0&&(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",1))}function a(t,e){let i=0;if(1===t.length)return t[0];for(let r=t.length-1;r>=0;r--)i+=t[t.length-1-r]*Math.pow(2,e*r);return i}function c(t,e,i=-1){const r=i;let s=t,n=0,o=Math.pow(2,e);for(let a=1;a<8;a++){if(t<o){let t;if(r<0)t=new ArrayBuffer(a),n=a;else{if(r<a)return new ArrayBuffer(0);t=new ArrayBuffer(r),n=r}const i=new Uint8Array(t);for(let r=a-1;r>=0;r--){const t=Math.pow(2,r*e);i[n-r-1]=Math.floor(s/t),s-=i[n-r-1]*t}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function l(...t){let e=0,i=0;for(const n of t)e+=n.byteLength;const r=new ArrayBuffer(e),s=new Uint8Array(r);for(const n of t)s.set(new Uint8Array(n),i),i+=n.byteLength;return r}function u(...t){let e=0,i=0;for(const n of t)e+=n.length;const r=new ArrayBuffer(e),s=new Uint8Array(r);for(const n of t)s.set(n,i),i+=n.length;return s}function h(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=0===t[0]&&0==(128&t[1]);(255===t[0]&&128&t[1]||e)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),i=new Uint8Array(e);for(let o=0;o<this.valueHex.byteLength;o++)i[o]=0;i[0]=128&t[0];const r=a(i,8),s=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(s);for(let o=0;o<this.valueHex.byteLength;o++)n[o]=t[o];return n[0]&=127,a(n,8)-r}function p(t,e){if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<i.length;s++)if(i[s]!==r[s])return!1;return!0}function d(t,e){const i=t.toString(10);if(e<i.length)return"";const r=e-i.length,s=new Array(r);for(let n=0;n<r;n++)s[n]="0";return s.join("").concat(i)}function f(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}const y=[new Uint8Array([1])];class S{constructor(t={}){this.blockLength=s(t,"blockLength",0),this.error=s(t,"error",""),this.warnings=s(t,"warnings",[]),this.valueBeforeDecode="valueBeforeDecode"in t?t.valueBeforeDecode.slice(0):new ArrayBuffer(0)}static blockName(){return"baseBlock"}toJSON(){return{blockName:this.constructor.blockName(),blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:n(this.valueBeforeDecode,0,this.valueBeforeDecode.byteLength)}}}const A=t=>class extends t{constructor(t={}){super(t),this.isHexOnly=s(t,"isHexOnly",!1),this.valueHex="valueHex"in t?t.valueHex.slice(0):new ArrayBuffer(0)}static blockName(){return"hexBlock"}fromBER(t,e,i){return!1===o(this,t,e,i)?-1:0===new Uint8Array(t,e,i).length?(this.warnings.push("Zero buffer length"),e):(this.valueHex=t.slice(e,e+i),this.blockLength=i,e+i)}toBER(t=!1){return!0!==this.isHexOnly?(this.error='Flag "isHexOnly" is not set, abort',new ArrayBuffer(0)):!0===t?new ArrayBuffer(this.valueHex.byteLength):this.valueHex.slice(0)}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}};class C extends(A(S)){constructor(t={}){super(),"idBlock"in t?(this.isHexOnly=s(t.idBlock,"isHexOnly",!1),this.valueHex=s(t.idBlock,"valueHex",new ArrayBuffer(0)),this.tagClass=s(t.idBlock,"tagClass",-1),this.tagNumber=s(t.idBlock,"tagNumber",-1),this.isConstructed=s(t.idBlock,"isConstructed",!1)):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}static blockName(){return"identificationBlock"}toBER(t=!1){let e,i,r=0;switch(this.tagClass){case 1:r|=0;break;case 2:r|=64;break;case 3:r|=128;break;case 4:r|=192;break;default:return this.error="Unknown tag class",new ArrayBuffer(0)}if(this.isConstructed&&(r|=32),this.tagNumber<31&&!this.isHexOnly){if(e=new ArrayBuffer(1),i=new Uint8Array(e),!t){let t=this.tagNumber;t&=31,r|=t,i[0]=r}return e}if(!1===this.isHexOnly){const s=c(this.tagNumber,7),n=new Uint8Array(s),o=s.byteLength;if(e=new ArrayBuffer(o+1),i=new Uint8Array(e),i[0]=31|r,!t){for(let t=0;t<o-1;t++)i[t+1]=128|n[t];i[o]=n[o-1]}return e}if(e=new ArrayBuffer(this.valueHex.byteLength+1),i=new Uint8Array(e),i[0]=31|r,!1===t){const t=new Uint8Array(this.valueHex);for(let e=0;e<t.length-1;e++)i[e+1]=128|t[e];i[this.valueHex.byteLength]=t[t.length-1]}return e}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.error="Zero buffer length",-1;switch(192&r[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=32==(32&r[0]),this.isHexOnly=!1;const s=31&r[0];if(31!==s)this.tagNumber=s,this.blockLength=1;else{let t=1;this.valueHex=new ArrayBuffer(255);let e=255,i=new Uint8Array(this.valueHex);for(;128&r[t];){if(i[t-1]=127&r[t],t++,t>=r.length)return this.error="End of input reached before message was fully decoded",-1;if(t===e){e+=255;const t=new ArrayBuffer(e),r=new Uint8Array(t);for(let e=0;e<i.length;e++)r[e]=i[e];this.valueHex=new ArrayBuffer(e),i=new Uint8Array(this.valueHex)}}this.blockLength=t+1,i[t-1]=127&r[t];const s=new ArrayBuffer(t),n=new Uint8Array(s);for(let r=0;r<t;r++)n[r]=i[r];this.valueHex=new ArrayBuffer(t),i=new Uint8Array(this.valueHex),i.set(n),this.blockLength<=9?this.tagNumber=a(i,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.tagClass=this.tagClass,t.tagNumber=this.tagNumber,t.isConstructed=this.isConstructed,t}}class m extends S{constructor(t={}){super(),"lenBlock"in t?(this.isIndefiniteForm=s(t.lenBlock,"isIndefiniteForm",!1),this.longFormUsed=s(t.lenBlock,"longFormUsed",!1),this.length=s(t.lenBlock,"length",0)):(this.isIndefiniteForm=!1,this.longFormUsed=!1,this.length=0)}static blockName(){return"lengthBlock"}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.error="Zero buffer length",-1;if(255===r[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===r[0],!0===this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&r[0]),!1===this.longFormUsed)return this.length=r[0],this.blockLength=1,e+this.blockLength;const s=127&r[0];if(s>8)return this.error="Too big integer",-1;if(s+1>r.length)return this.error="End of input reached before message was fully decoded",-1;const n=new Uint8Array(s);for(let o=0;o<s;o++)n[o]=r[o+1];return 0===n[s-1]&&this.warnings.push("Needlessly long encoded length"),this.length=a(n,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,i;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(i=new Uint8Array(e),i[0]=128),e;if(!0===this.longFormUsed){const r=c(this.length,8);if(r.byteLength>127)return this.error="Too big length",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength+1),!0===t)return e;const s=new Uint8Array(r);i=new Uint8Array(e),i[0]=128|r.byteLength;for(let t=0;t<r.byteLength;t++)i[t+1]=s[t];return e}return e=new ArrayBuffer(1),!1===t&&(i=new Uint8Array(e),i[0]=this.length),e}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.blockName=this.constructor.blockName(),t.isIndefiniteForm=this.isIndefiniteForm,t.longFormUsed=this.longFormUsed,t.length=this.length,t}}class g extends S{constructor(t={}){super(t)}static blockName(){return"valueBlock"}fromBER(t,e,i){throw TypeError('User need to make a specific function in a class which extends "ValueBlock"')}toBER(t=!1){throw TypeError('User need to make a specific function in a class which extends "ValueBlock"')}}class v extends S{constructor(t={},e=g){super(t),"name"in t&&(this.name=t.name),"optional"in t&&(this.optional=t.optional),"primitiveSchema"in t&&(this.primitiveSchema=t.primitiveSchema),this.idBlock=new C(t),this.lenBlock=new m(t),this.valueBlock=new e(t)}static blockName(){return"BaseBlock"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}toBER(t=!1){let e;const i=this.idBlock.toBER(t),r=this.valueBlock.toBER(!0);let s;if(this.lenBlock.length=r.byteLength,e=l(i,this.lenBlock.toBER(t)),s=!1===t?this.valueBlock.toBER(t):new ArrayBuffer(this.lenBlock.length),e=l(e,s),!0===this.lenBlock.isIndefiniteForm){const i=new ArrayBuffer(2);if(!1===t){const t=new Uint8Array(i);t[0]=0,t[1]=0}e=l(e,i)}return e}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.idBlock=this.idBlock.toJSON(),t.lenBlock=this.lenBlock.toJSON(),t.valueBlock=this.valueBlock.toJSON(),"name"in this&&(t.name=this.name),"optional"in this&&(t.optional=this.optional),"primitiveSchema"in this&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(){return`${this.constructor.blockName()} : ${n(this.valueBlock.valueHex)}`}}class w extends g{constructor(t={}){super(t),this.valueHex="valueHex"in t?t.valueHex.slice(0):new ArrayBuffer(0),this.isHexOnly=s(t,"isHexOnly",!0)}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);if(0===r.length)return this.warnings.push("Zero buffer length"),e;this.valueHex=new ArrayBuffer(r.length);const s=new Uint8Array(this.valueHex);for(let n=0;n<r.length;n++)s[n]=r[n];return this.blockLength=i,e+i}toBER(t=!1){return this.valueHex.slice(0)}static blockName(){return"PrimitiveValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t.isHexOnly=this.isHexOnly,t}}class E extends v{constructor(t={}){super(t,w),this.idBlock.isConstructed=!1}static blockName(){return"PRIMITIVE"}}class b extends g{constructor(t={}){super(t),this.value=s(t,"value",[]),this.isIndefiniteForm=s(t,"isIndefiniteForm",!1)}fromBER(t,e,i){const r=e,s=i;if(!1===o(this,t,e,i))return-1;if(0===new Uint8Array(t,e,i).length)return this.warnings.push("Zero buffer length"),e;let n=e;for(;(!0===this.isIndefiniteForm?1:i)>0;){const e=mt(t,n,i);if(-1===e.offset)return this.error=e.result.error,this.warnings.concat(e.result.warnings),-1;if(n=e.offset,this.blockLength+=e.result.blockLength,i-=e.result.blockLength,this.value.push(e.result),!0===this.isIndefiniteForm&&e.result.constructor.blockName()===D.blockName())break}return!0===this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.blockName()===D.blockName()?this.value.pop():this.warnings.push("No EndOfContent block encoded")),this.valueBeforeDecode=t.slice(r,r+s),n}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++)e=l(e,this.value[i].toBER(t));return e}static blockName(){return"ConstructedValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.isIndefiniteForm=this.isIndefiniteForm,t.value=[];for(let i=0;i<this.value.length;i++)t.value.push(this.value[i].toJSON());return t}}class P extends v{constructor(t={}){super(t,b),this.idBlock.isConstructed=!0}static blockName(){return"CONSTRUCTED"}fromBER(t,e,i){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}toString(){const t=[];for(const i of this.valueBlock.value)t.push(i.toString().split("\n").map(t=>" "+t).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.blockName();return t.length?`${e} :\n${t.join("\n")}`:e+" :"}}class B extends g{constructor(t={}){super(t)}fromBER(t,e,i){return e}toBER(t=!1){return new ArrayBuffer(0)}static blockName(){return"EndOfContentValueBlock"}}class D extends v{constructor(t={}){super(t,B),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}static blockName(){return"EndOfContent"}}class I extends g{constructor(t={}){super(t),this.value=s(t,"value",!1),this.isHexOnly=s(t,"isHexOnly",!1),"valueHex"in t?this.valueHex=t.valueHex.slice(0):(this.valueHex=new ArrayBuffer(1),!0===this.value&&(new Uint8Array(this.valueHex)[0]=255))}fromBER(t,e,i){if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);i>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,this.valueHex=new ArrayBuffer(r.length);const s=new Uint8Array(this.valueHex);for(let n=0;n<r.length;n++)s[n]=r[n];return this.value=0!==h.call(this),this.blockLength=i,e+i}toBER(t=!1){return this.valueHex}static blockName(){return"BooleanValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class T extends v{constructor(t={}){super(t,I),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}static blockName(){return"BOOLEAN"}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class N extends P{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}static blockName(){return"SEQUENCE"}}class x extends P{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}static blockName(){return"SET"}}class R extends v{constructor(t={}){super(t,S),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}static blockName(){return"NULL"}fromBER(t,e,i){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=i,e+i>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+i}toBER(t=!1){const e=new ArrayBuffer(2);if(!0===t)return e;const i=new Uint8Array(e);return i[0]=5,i[1]=0,e}toString(){return""+this.constructor.blockName()}}class O extends(A(b)){constructor(t={}){super(t),this.isConstructed=s(t,"isConstructed",!1)}fromBER(t,e,i){let r=0;if(!0===this.isConstructed){if(this.isHexOnly=!1,r=b.prototype.fromBER.call(this,t,e,i),-1===r)return r;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.blockName();if(e===D.blockName()){if(!0===this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==k.blockName())return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(t,e,i),this.blockLength=i;return r}toBER(t=!1){if(!0===this.isConstructed)return b.prototype.toBER.call(this,t);let e=new ArrayBuffer(this.valueHex.byteLength);return!0===t||0===this.valueHex.byteLength||(e=this.valueHex.slice(0)),e}static blockName(){return"OctetStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.isConstructed=this.isConstructed,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class k extends v{constructor(t={}){super(t,O),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,i){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===i)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const s=t.slice(e,e+i);try{const t=gt(s);-1!==t.offset&&t.offset===i&&(this.valueBlock.value=[t.result])}catch(r){}}return super.fromBER(t,e,i)}static blockName(){return"OCTET STRING"}isEqual(t){return t instanceof k!=0&&JSON.stringify(this)===JSON.stringify(t)}toString(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?P.prototype.toString.call(this):`${this.constructor.blockName()} : ${n(this.valueBlock.valueHex)}`}}class M extends(A(b)){constructor(t={}){super(t),this.unusedBits=s(t,"unusedBits",0),this.isConstructed=s(t,"isConstructed",!1),this.blockLength=this.valueHex.byteLength}fromBER(t,e,i){if(0===i)return e;let r=-1;if(!0===this.isConstructed){if(r=b.prototype.fromBER.call(this,t,e,i),-1===r)return r;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.blockName();if(e===D.blockName()){if(!0===this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==K.blockName())return this.error="BIT STRING may consists of BIT STRINGs only",-1;if(this.unusedBits>0&&this.value[t].valueBlock.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;if(this.unusedBits=this.value[t].valueBlock.unusedBits,this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1}return r}if(!1===o(this,t,e,i))return-1;const s=new Uint8Array(t,e,i);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const r=t.slice(e+1,e+i);try{const t=gt(r);-1!==t.offset&&t.offset===i-1&&(this.value=[t.result])}catch(a){}}this.valueHex=new ArrayBuffer(s.length-1);const n=new Uint8Array(this.valueHex);for(let o=0;o<i-1;o++)n[o]=s[o+1];return this.blockLength=s.length,e+i}toBER(t=!1){if(!0===this.isConstructed)return b.prototype.toBER.call(this,t);if(!0===t)return new ArrayBuffer(this.valueHex.byteLength+1);if(0===this.valueHex.byteLength)return new ArrayBuffer(0);const e=new Uint8Array(this.valueHex),i=new ArrayBuffer(this.valueHex.byteLength+1),r=new Uint8Array(i);r[0]=this.unusedBits;for(let s=0;s<this.valueHex.byteLength;s++)r[s+1]=e[s];return i}static blockName(){return"BitStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.unusedBits=this.unusedBits,t.isConstructed=this.isConstructed,t.isHexOnly=this.isHexOnly,t.valueHex=n(this.valueHex,0,this.valueHex.byteLength),t}}class K extends v{constructor(t={}){super(t,M),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}static blockName(){return"BIT STRING"}fromBER(t,e,i){return 0===i?e:(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,i))}isEqual(t){return t instanceof K!=0&&JSON.stringify(this)===JSON.stringify(t)}toString(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return P.prototype.toString.call(this);{const t=[],e=new Uint8Array(this.valueBlock.valueHex);for(const i of e)t.push(i.toString(2).padStart(8,"0"));return`${this.constructor.blockName()} : ${t.join("")}`}}}class U extends(A(g)){constructor(t={}){super(t),"value"in t&&(this.valueDec=t.value)}set valueHex(t){this._valueHex=t.slice(0),t.byteLength>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,t.byteLength>0&&(this._valueDec=h.call(this)))}get valueHex(){return this._valueHex}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this._valueHex=function(t){const e=t<0?-1*t:t;let i=128;for(let r=1;r<8;r++){if(e<=i){if(t<0){const t=c(i-e,8,r);return new Uint8Array(t)[0]|=128,t}let s=c(e,8,r),n=new Uint8Array(s);if(128&n[0]){const t=s.slice(0),e=new Uint8Array(t);s=new ArrayBuffer(s.byteLength+1),n=new Uint8Array(s);for(let i=0;i<t.byteLength;i++)n[i+1]=e[i];n[0]=0}return s}i*=Math.pow(2,8)}return new ArrayBuffer(0)}(t)}get valueDec(){return this._valueDec}fromDER(t,e,i,r=0){const s=this.fromBER(t,e,i);if(-1===s)return s;const n=new Uint8Array(this._valueHex);if(0===n[0]&&0!=(128&n[1])){const t=new ArrayBuffer(this._valueHex.byteLength-1);new Uint8Array(t).set(new Uint8Array(this._valueHex,1,this._valueHex.byteLength-1)),this._valueHex=t.slice(0)}else if(0!==r&&this._valueHex.byteLength<r){r-this._valueHex.byteLength>1&&(r=this._valueHex.byteLength+1);const t=new ArrayBuffer(r);new Uint8Array(t).set(n,r-this._valueHex.byteLength),this._valueHex=t.slice(0)}return s}toDER(t=!1){const e=new Uint8Array(this._valueHex);switch(!0){case 0!=(128&e[0]):{const t=new ArrayBuffer(this._valueHex.byteLength+1),i=new Uint8Array(t);i[0]=0,i.set(e,1),this._valueHex=t.slice(0)}break;case 0===e[0]&&0==(128&e[1]):{const t=new ArrayBuffer(this._valueHex.byteLength-1);new Uint8Array(t).set(new Uint8Array(this._valueHex,1,this._valueHex.byteLength-1)),this._valueHex=t.slice(0)}}return this.toBER(t)}fromBER(t,e,i){const r=super.fromBER(t,e,i);return-1===r?r:(this.blockLength=i,e+i)}toBER(t=!1){return this.valueHex.slice(0)}static blockName(){return"IntegerValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t}toString(){function t(t,e){const i=new Uint8Array([0]);let r=new Uint8Array(t),s=new Uint8Array(e),n=r.slice(0);const o=n.length-1;let a=s.slice(0);const c=a.length-1;let l=0,h=0;for(let p=c<o?o:c;p>=0;p--,h++){switch(!0){case h<a.length:l=n[o-h]+a[c-h]+i[0];break;default:l=n[o-h]+i[0]}switch(i[0]=l/10,!0){case h>=n.length:n=u(new Uint8Array([l%10]),n);break;default:n[o-h]=l%10}}return i[0]>0&&(n=u(i,n)),n.slice(0)}function e(t){if(t>=y.length)for(let e=y.length;e<=t;e++){const t=new Uint8Array([0]);let i=y[e-1].slice(0);for(let e=i.length-1;e>=0;e--){const r=new Uint8Array([(i[e]<<1)+t[0]]);t[0]=r[0]/10,i[e]=r[0]%10}t[0]>0&&(i=u(t,i)),y.push(i)}return y[t]}function i(t,e){let i=0,r=new Uint8Array(t),s=new Uint8Array(e),n=r.slice(0);const o=n.length-1;let a=s.slice(0);const c=a.length-1;let l,u=0;for(let h=c;h>=0;h--,u++)switch(l=n[o-u]-a[c-u]-i,!0){case l<0:i=1,n[o-u]=l+10;break;default:i=0,n[o-u]=l}if(i>0)for(let h=o-c+1;h>=0;h--,u++){if(l=n[o-u]-i,!(l<0)){i=0,n[o-u]=l;break}i=1,n[o-u]=l+10}return n.slice()}const r=8*this._valueHex.byteLength-1;let s,n=new Uint8Array(8*this._valueHex.byteLength/3),o=0;const a=new Uint8Array(this._valueHex);let c="",l=!1;for(let u=this._valueHex.byteLength-1;u>=0;u--){s=a[u];for(let a=0;a<8;a++){if(1==(1&s))switch(o){case r:n=i(e(o),n),c="-";break;default:n=t(n,e(o))}o++,s>>=1}}for(let u=0;u<n.length;u++)n[u]&&(l=!0),l&&(c+="0123456789".charAt(n[u]));return!1===l&&(c+="0123456789".charAt(0)),c}}class H extends v{constructor(t={}){super(t,U),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}static blockName(){return"INTEGER"}isEqual(t){return t instanceof H?this.valueBlock.isHexOnly&&t.valueBlock.isHexOnly?p(this.valueBlock.valueHex,t.valueBlock.valueHex):this.valueBlock.isHexOnly===t.valueBlock.isHexOnly&&this.valueBlock.valueDec===t.valueBlock.valueDec:t instanceof ArrayBuffer&&p(this.valueBlock.valueHex,t)}convertToDER(){const t=new H({valueHex:this.valueBlock.valueHex});return t.valueBlock.toDER(),t}convertFromDER(){const t=this.valueBlock.valueHex.byteLength%2?this.valueBlock.valueHex.byteLength+1:this.valueBlock.valueHex.byteLength,e=new H({valueHex:this.valueBlock.valueHex});return e.valueBlock.fromDER(e.valueBlock.valueHex,0,e.valueBlock.valueHex.byteLength,t),e}toString(){f();const t=n(this.valueBlock.valueHex),e=BigInt("0x"+t);return`${this.constructor.blockName()} : ${e.toString()}`}}class _ extends H{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}static blockName(){return"ENUMERATED"}}class j extends(A(S)){constructor(t={}){super(t),this.valueDec=s(t,"valueDec",-1),this.isFirstSid=s(t,"isFirstSid",!1)}static blockName(){return"sidBlock"}fromBER(t,e,i){if(0===i)return e;if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);this.valueHex=new ArrayBuffer(i);let s=new Uint8Array(this.valueHex);for(let o=0;o<i&&(s[o]=127&r[o],this.blockLength++,0!=(128&r[o]));o++);const n=new ArrayBuffer(this.blockLength),c=new Uint8Array(n);for(let o=0;o<this.blockLength;o++)c[o]=s[o];return this.valueHex=n.slice(0),s=new Uint8Array(this.valueHex),0!=(128&r[this.blockLength-1])?(this.error="End of input reached before message was fully decoded",-1):(0===s[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=a(s,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){f();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;const i=new Uint8Array(e.length/7);for(let r=0;r<i.length;r++)i[r]=parseInt(e.slice(7*r,7*r+7),2)+(r+1<i.length?128:0);this.fromBER(i.buffer,0,i.length)}toBER(t=!1){let e,i;if(this.isHexOnly){if(!0===t)return new ArrayBuffer(this.valueHex.byteLength);const r=new Uint8Array(this.valueHex);e=new ArrayBuffer(this.blockLength),i=new Uint8Array(e);for(let t=0;t<this.blockLength-1;t++)i[t]=128|r[t];return i[this.blockLength-1]=r[this.blockLength-1],e}const r=c(this.valueDec,7);if(0===r.byteLength)return this.error="Error during encoding SID value",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength),!1===t){const t=new Uint8Array(r);i=new Uint8Array(e);for(let e=0;e<r.byteLength-1;e++)i[e]=128|t[e];i[r.byteLength-1]=t[r.byteLength-1]}return e}toString(){let t="";if(!0===this.isHexOnly)t=n(this.valueHex,0,this.valueHex.byteLength);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t.isFirstSid=this.isFirstSid,t}}class F extends g{constructor(t={}){super(t),this.fromString(s(t,"value",""))}fromBER(t,e,i){let r=e;for(;i>0;){const e=new j;if(r=e.fromBER(t,r,i),-1===r)return this.blockLength=0,this.error=e.error,r;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,i-=e.blockLength,this.value.push(e)}return r}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(t);if(0===r.byteLength)return this.error=this.value[i].error,new ArrayBuffer(0);e=l(e,r)}return e}fromString(t){this.value=[];let e=0,i=0,r="",s=!1;do{if(i=t.indexOf(".",e),r=-1===i?t.substr(e):t.substr(e,i-e),e=i+1,s){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return this.value=[],!1}const i=parseInt(r,10);if(isNaN(i))return!0;t.valueDec=i+e,s=!1}else{const t=new j;if(r>Number.MAX_SAFE_INTEGER){f();const e=BigInt(r);t.valueBigInt=e}else if(t.valueDec=parseInt(r,10),isNaN(t.valueDec))return!0;0===this.value.length&&(t.isFirstSid=!0,s=!0),this.value.push(t)}}while(-1!==i);return!0}toString(){let t="",e=!1;for(let i=0;i<this.value.length;i++){e=this.value[i].isHexOnly;let r=this.value[i].toString();0!==i&&(t+="."),e?(r=`{${r}}`,this.value[i].isFirstSid?t=`2.{${r} - 80}`:t+=r):t+=r}return t}static blockName(){return"ObjectIdentifierValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.value=this.toString(),t.sidArray=[];for(let i=0;i<this.value.length;i++)t.sidArray.push(this.value[i].toJSON());return t}}class L extends v{constructor(t={}){super(t,F),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}static blockName(){return"OBJECT IDENTIFIER"}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.toString()}`}}class V extends(A(S)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"Utf8StringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class G extends v{constructor(t={}){super(t,V),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}static blockName(){return"UTF8String"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,new Uint8Array(t));try{this.valueBlock.value=decodeURIComponent(escape(this.valueBlock.value))}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`)}}fromString(t){const e=unescape(encodeURIComponent(t)),i=e.length;this.valueBlock.valueHex=new ArrayBuffer(i);const r=new Uint8Array(this.valueBlock.valueHex);for(let s=0;s<i;s++)r[s]=e.charCodeAt(s);this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class $ extends(A(S)){constructor(t={}){super(t),this.valueDec=s(t,"valueDec",-1)}static blockName(){return"relativeSidBlock"}fromBER(t,e,i){if(0===i)return e;if(!1===o(this,t,e,i))return-1;const r=new Uint8Array(t,e,i);this.valueHex=new ArrayBuffer(i);let s=new Uint8Array(this.valueHex);for(let o=0;o<i&&(s[o]=127&r[o],this.blockLength++,0!=(128&r[o]));o++);const n=new ArrayBuffer(this.blockLength),c=new Uint8Array(n);for(let o=0;o<this.blockLength;o++)c[o]=s[o];return this.valueHex=n.slice(0),s=new Uint8Array(this.valueHex),0!=(128&r[this.blockLength-1])?(this.error="End of input reached before message was fully decoded",-1):(0===s[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=a(s,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t=!1){let e,i;if(this.isHexOnly){if(!0===t)return new ArrayBuffer(this.valueHex.byteLength);const r=new Uint8Array(this.valueHex);e=new ArrayBuffer(this.blockLength),i=new Uint8Array(e);for(let t=0;t<this.blockLength-1;t++)i[t]=128|r[t];return i[this.blockLength-1]=r[this.blockLength-1],e}const r=c(this.valueDec,7);if(0===r.byteLength)return this.error="Error during encoding SID value",new ArrayBuffer(0);if(e=new ArrayBuffer(r.byteLength),!1===t){const t=new Uint8Array(r);i=new Uint8Array(e);for(let e=0;e<r.byteLength-1;e++)i[e]=128|t[e];i[r.byteLength-1]=t[r.byteLength-1]}return e}toString(){let t="";return t=!0===this.isHexOnly?n(this.valueHex,0,this.valueHex.byteLength):this.valueDec.toString(),t}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.valueDec=this.valueDec,t}}class Q extends g{constructor(t={}){super(t),this.fromString(s(t,"value",""))}fromBER(t,e,i){let r=e;for(;i>0;){const e=new $;if(r=e.fromBER(t,r,i),-1===r)return this.blockLength=0,this.error=e.error,r;this.blockLength+=e.blockLength,i-=e.blockLength,this.value.push(e)}return r}toBER(t=!1){let e=new ArrayBuffer(0);for(let i=0;i<this.value.length;i++){const r=this.value[i].toBER(t);if(0===r.byteLength)return this.error=this.value[i].error,new ArrayBuffer(0);e=l(e,r)}return e}fromString(t){this.value=[];let e=0,i=0,r="";do{i=t.indexOf(".",e),r=-1===i?t.substr(e):t.substr(e,i-e),e=i+1;const s=new $;if(s.valueDec=parseInt(r,10),isNaN(s.valueDec))return!0;this.value.push(s)}while(-1!==i);return!0}toString(){let t="",e=!1;for(let i=0;i<this.value.length;i++){e=this.value[i].isHexOnly;let r=this.value[i].toString();0!==i&&(t+="."),e?(r=`{${r}}`,t+=r):t+=r}return t}static blockName(){return"RelativeObjectIdentifierValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}t.value=this.toString(),t.sidArray=[];for(let i=0;i<this.value.length;i++)t.sidArray.push(this.value[i].toJSON());return t}}class W extends v{constructor(t={}){super(t,Q),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}static blockName(){return"RelativeObjectIdentifier"}}class z extends(A(S)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"BmpStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class q extends v{constructor(t={}){super(t,z),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}static blockName(){return"BMPString"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){const e=t.slice(0),i=new Uint8Array(e);for(let r=0;r<i.length;r+=2){const t=i[r];i[r]=i[r+1],i[r+1]=t}this.valueBlock.value=String.fromCharCode.apply(null,new Uint16Array(e))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(2*e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++){const e=c(t.charCodeAt(r),8),s=new Uint8Array(e);if(s.length>2)continue;const n=2-s.length;for(let t=s.length-1;t>=0;t--)i[2*r+t+n]=s[t]}this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class J extends(A(S)){constructor(t={}){super(t),this.isHexOnly=!0,this.value=""}static blockName(){return"UniversalStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class Z extends v{constructor(t={}){super(t,J),"value"in t&&this.fromString(t.value),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}static blockName(){return"UniversalString"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){const e=t.slice(0),i=new Uint8Array(e);for(let r=0;r<i.length;r+=4)i[r]=i[r+3],i[r+1]=i[r+2],i[r+2]=0,i[r+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(4*e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++){const e=c(t.charCodeAt(r),8),s=new Uint8Array(e);if(s.length>4)continue;const n=4-s.length;for(let t=s.length-1;t>=0;t--)i[4*r+t+n]=s[t]}this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class X extends(A(S)){constructor(t={}){super(t),this.value="",this.isHexOnly=!0}static blockName(){return"SimpleStringValueBlock"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.value=this.value,t}}class Y extends v{constructor(t={}){super(t,X),"value"in t&&this.fromString(t.value)}static blockName(){return"SIMPLESTRING"}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,new Uint8Array(t))}fromString(t){const e=t.length;this.valueBlock.valueHex=new ArrayBuffer(e);const i=new Uint8Array(this.valueBlock.valueHex);for(let r=0;r<e;r++)i[r]=t.charCodeAt(r);this.valueBlock.value=t}toString(){return`${this.constructor.blockName()} : ${this.valueBlock.value}`}}class tt extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}static blockName(){return"NumericString"}}class et extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}static blockName(){return"PrintableString"}}class it extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}static blockName(){return"TeletexString"}}class rt extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}static blockName(){return"VideotexString"}}class st extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}static blockName(){return"IA5String"}}class nt extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}static blockName(){return"GraphicString"}}class ot extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}static blockName(){return"VisibleString"}}class at extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}static blockName(){return"GeneralString"}}class ct extends Y{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}static blockName(){return"CharacterString"}}class lt extends ot{constructor(t={}){if(super(t),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,"value"in t){this.fromString(t.value),this.valueBlock.valueHex=new ArrayBuffer(t.value.length);const e=new Uint8Array(this.valueBlock.valueHex);for(let i=0;i<t.value.length;i++)e[i]=t.value.charCodeAt(i)}"valueDate"in t&&(this.fromDate(t.valueDate),this.valueBlock.valueHex=this.toBuffer()),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,new Uint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),i=new Uint8Array(e);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for convertion");const i=parseInt(e[1],10);this.year=i>=50?1900+i:2e3+i,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(){const t=new Array(7);return t[0]=d(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=d(this.month,2),t[2]=d(this.day,2),t[3]=d(this.hour,2),t[4]=d(this.minute,2),t[5]=d(this.second,2),t[6]="Z",t.join("")}static blockName(){return"UTCTime"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.year=this.year,t.month=this.month,t.day=this.day,t.hour=this.hour,t.minute=this.minute,t.second=this.second,t}}class ut extends ot{constructor(t={}){if(super(t),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,this.millisecond=0,"value"in t){this.fromString(t.value),this.valueBlock.valueHex=new ArrayBuffer(t.value.length);const e=new Uint8Array(this.valueBlock.valueHex);for(let i=0;i<t.value.length;i++)e[i]=t.value.charCodeAt(i)}"valueDate"in t&&(this.fromDate(t.valueDate),this.valueBlock.valueHex=this.toBuffer()),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromBER(t,e,i){const r=this.valueBlock.fromBER(t,e,!0===this.lenBlock.isIndefiniteForm?i:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHex),0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),0===this.valueBlock.error.length&&(this.blockLength+=this.valueBlock.blockLength),r)}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,new Uint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),i=new Uint8Array(e);for(let r=0;r<t.length;r++)i[r]=t.charCodeAt(r);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e,i=!1,r="",s="",n=0,o=0,a=0;if("Z"===t[t.length-1])r=t.substr(0,t.length-1),i=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for convertion");r=t}if(i){if(-1!==r.indexOf("+"))throw new Error("Wrong input string for convertion");if(-1!==r.indexOf("-"))throw new Error("Wrong input string for convertion")}else{let t=1,e=r.indexOf("+"),i="";if(-1===e&&(e=r.indexOf("-"),t=-1),-1!==e){if(i=r.substr(e+1),r=r.substr(0,e),2!==i.length&&4!==i.length)throw new Error("Wrong input string for convertion");let s=new Number(i.substr(0,2));if(isNaN(s.valueOf()))throw new Error("Wrong input string for convertion");if(o=t*s,4===i.length){if(s=new Number(i.substr(2,2)),isNaN(s.valueOf()))throw new Error("Wrong input string for convertion");a=t*s}}}let c=r.indexOf(".");if(-1===c&&(c=r.indexOf(",")),-1!==c){const t=new Number("0"+r.substr(c));if(isNaN(t.valueOf()))throw new Error("Wrong input string for convertion");n=t.valueOf(),s=r.substr(0,c)}else s=r;switch(!0){case 8===s.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for convertion");break;case 10===s.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*n;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===s.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*n;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===s.length:e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c&&(this.millisecond=Math.floor(1e3*n));break;default:throw new Error("Wrong input string for convertion")}const l=e.exec(s);if(null===l)throw new Error("Wrong input string for convertion");for(let u=1;u<l.length;u++)switch(u){case 1:this.year=parseInt(l[u],10);break;case 2:this.month=parseInt(l[u],10);break;case 3:this.day=parseInt(l[u],10);break;case 4:this.hour=parseInt(l[u],10)+o;break;case 5:this.minute=parseInt(l[u],10)+a;break;case 6:this.second=parseInt(l[u],10);break;default:throw new Error("Wrong input string for convertion")}if(!1===i){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(){const t=[];return t.push(d(this.year,4)),t.push(d(this.month,2)),t.push(d(this.day,2)),t.push(d(this.hour,2)),t.push(d(this.minute,2)),t.push(d(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(d(this.millisecond,3))),t.push("Z"),t.join("")}static blockName(){return"GeneralizedTime"}toJSON(){let t={};try{t=super.toJSON()}catch(e){}return t.year=this.year,t.month=this.month,t.day=this.day,t.hour=this.hour,t.minute=this.minute,t.second=this.second,t.millisecond=this.millisecond,t}}class ht extends G{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}static blockName(){return"DATE"}}class pt extends G{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}static blockName(){return"TimeOfDay"}}class dt extends G{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}static blockName(){return"DateTime"}}class ft extends G{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}static blockName(){return"Duration"}}class yt extends G{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}static blockName(){return"TIME"}}class St{constructor(t={}){this.value=s(t,"value",[]),this.optional=s(t,"optional",!1)}}class At{constructor(t={}){this.name=s(t,"name",""),this.optional=s(t,"optional",!1)}}class Ct{constructor(t={}){this.name=s(t,"name",""),this.optional=s(t,"optional",!1),this.value=s(t,"value",new At),this.local=s(t,"local",!1)}}function mt(t,e,i){const r=e;let s=new v({},Object);const n=new S;if(!1===o(n,t,e,i))return s.error=n.error,{offset:-1,result:s};if(0===new Uint8Array(t,e,i).length)return s.error="Zero buffer length",{offset:-1,result:s};let a=s.idBlock.fromBER(t,e,i);if(s.warnings.concat(s.idBlock.warnings),-1===a)return s.error=s.idBlock.error,{offset:-1,result:s};if(a=s.lenBlock.fromBER(t,e=a,i-=s.idBlock.blockLength),s.warnings.concat(s.lenBlock.warnings),-1===a)return s.error=s.lenBlock.error,{offset:-1,result:s};if(e=a,i-=s.lenBlock.blockLength,!1===s.idBlock.isConstructed&&!0===s.lenBlock.isIndefiniteForm)return s.error="Indefinite length form used for primitive encoding form",{offset:-1,result:s};let c=v;switch(s.idBlock.tagClass){case 1:if(s.idBlock.tagNumber>=37&&!1===s.idBlock.isHexOnly)return s.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:s};switch(s.idBlock.tagNumber){case 0:if(!0===s.idBlock.isConstructed&&s.lenBlock.length>0)return s.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:s};c=D;break;case 1:c=T;break;case 2:c=H;break;case 3:c=K;break;case 4:c=k;break;case 5:c=R;break;case 6:c=L;break;case 10:c=_;break;case 12:c=G;break;case 13:c=W;break;case 14:c=yt;break;case 15:return s.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:s};case 16:c=N;break;case 17:c=x;break;case 18:c=tt;break;case 19:c=et;break;case 20:c=it;break;case 21:c=rt;break;case 22:c=st;break;case 23:c=lt;break;case 24:c=ut;break;case 25:c=nt;break;case 26:c=ot;break;case 27:c=at;break;case 28:c=Z;break;case 29:c=ct;break;case 30:c=q;break;case 31:c=ht;break;case 32:c=pt;break;case 33:c=dt;break;case 34:c=ft;break;default:{let t;t=!0===s.idBlock.isConstructed?new P:new E,t.idBlock=s.idBlock,t.lenBlock=s.lenBlock,t.warnings=s.warnings,s=t}}break;case 2:case 3:case 4:default:c=!0===s.idBlock.isConstructed?P:E}return s=function(t,e){if(t instanceof e)return t;const i=new e;return i.idBlock=t.idBlock,i.lenBlock=t.lenBlock,i.warnings=t.warnings,i.valueBeforeDecode=t.valueBeforeDecode.slice(0),i}(s,c),a=s.fromBER(t,e,!0===s.lenBlock.isIndefiniteForm?i:s.lenBlock.length),s.valueBeforeDecode=t.slice(r,r+s.blockLength),{offset:a,result:s}}function gt(t){if(0===t.byteLength){const t=new v({},Object);return t.error="Input buffer has zero length",{offset:-1,result:t}}return mt(t,0,t.byteLength)}function vt(t,e,i){if(i instanceof St){for(let r=0;r<i.value.length;r++)if(!0===vt(t,e,i.value[r]).verified)return{verified:!0,result:t};{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return i.hasOwnProperty("name")&&(t.name=i.name),t}}if(i instanceof At)return i.hasOwnProperty("name")&&(t[i.name]=e),{verified:!0,result:t};if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(i instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("idBlock"in i==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("fromBER"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("toBER"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=i.idBlock.toBER(!1);if(0===r.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===i.idBlock.fromBER(r,0,r.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===i.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===i.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===i.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if("isHexOnly"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(i.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(!0===i.idBlock.isHexOnly){if("valueHex"in i.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=new Uint8Array(i.idBlock.valueHex),s=new Uint8Array(e.idBlock.valueHex);if(r.length!==s.length)return{verified:!1,result:t};for(let e=0;e<r.length;e++)if(r[e]!==s[1])return{verified:!1,result:t}}if(i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(t[i.name]=e)),!0===i.idBlock.isConstructed){let r=0,s={verified:!1},n=i.valueBlock.value.length;if(n>0&&i.valueBlock.value[0]instanceof Ct&&(n=e.valueBlock.value.length),0===n)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==i.valueBlock.value.length){let e=!0;for(let t=0;t<i.valueBlock.value.length;t++)e=e&&(i.valueBlock.value[t].optional||!1);return!0===e?{verified:!0,result:t}:(i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let o=0;o<n;o++)if(o-r>=e.valueBlock.value.length){if(!1===i.valueBlock.value[o].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}}else if(i.valueBlock.value[0]instanceof Ct){if(s=vt(t,e.valueBlock.value[o],i.valueBlock.value[0].value),!1===s.verified){if(!0!==i.valueBlock.value[0].optional)return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),s;r++}if("name"in i.valueBlock.value[0]&&i.valueBlock.value[0].name.length>0){let r={};r="local"in i.valueBlock.value[0]&&!0===i.valueBlock.value[0].local?e:t,void 0===r[i.valueBlock.value[0].name]&&(r[i.valueBlock.value[0].name]=[]),r[i.valueBlock.value[0].name].push(e.valueBlock.value[o])}}else if(s=vt(t,e.valueBlock.value[o-r],i.valueBlock.value[o]),!1===s.verified){if(!0!==i.valueBlock.value[o].optional)return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&delete t[i.name]),s;r++}if(!1===s.verified){const e={verified:!1,result:t};return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}return{verified:!0,result:t}}if("primitiveSchema"in i&&"valueHex"in e.valueBlock){const r=gt(e.valueBlock.valueHex);if(-1===r.offset){const e={verified:!1,result:r.result};return i.hasOwnProperty("name")&&(i.name=i.name.replace(/^\s+|\s+$/g,""),""!==i.name&&(delete t[i.name],e.name=i.name)),e}return vt(t,r.result,i.primitiveSchema)}return{verified:!0,result:t}}const wt=Object.freeze({__proto__:null,HexBlock:A,ValueBlock:g,BaseBlock:v,Primitive:E,Constructed:P,EndOfContent:D,Boolean:T,Sequence:N,Set:x,Null:R,OctetString:k,BitString:K,Integer:H,Enumerated:_,ObjectIdentifier:L,Utf8String:G,RelativeObjectIdentifier:W,BmpString:q,UniversalString:Z,NumericString:tt,PrintableString:et,TeletexString:it,VideotexString:rt,IA5String:st,GraphicString:nt,VisibleString:ot,GeneralString:at,CharacterString:ct,UTCTime:lt,GeneralizedTime:ut,DATE:ht,TimeOfDay:pt,DateTime:dt,Duration:ft,TIME:yt,Choice:St,Any:At,Repeated:Ct,RawData:class{constructor(t={}){this.data=s(t,"data",new ArrayBuffer(0))}fromBER(t,e,i){return this.data=t.slice(e,i),e+i}toBER(t=!1){return this.data}},fromBER:gt,compareSchema:vt,verifySchema:function(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const i=gt(t);return-1===i.offset?{verified:!1,result:i.result}:vt(i.result,i.result,e)},fromJSON:function(){}});var Et,bt;!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(Et||(Et={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(bt||(bt={}));const Pt={fromASN:t=>t instanceof R?null:t.valueBeforeDecode,toASN:t=>{if(null===t)return new R;const e=gt(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Bt={fromASN:t=>t.valueBlock.valueHex.byteLength>4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new H({value:t})},Dt={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new _({value:t})},It={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new H({valueHex:t})},Tt={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new K({valueHex:t})},Nt={fromASN:t=>t.valueBlock.toString(),toASN:t=>new L({value:t})},xt={fromASN:t=>t.valueBlock.value,toASN:t=>new T({value:t})},Rt={fromASN:t=>t.valueBlock.valueHex,toASN:t=>new k({valueHex:t})};function Ot(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const kt=Ot(G),Mt=Ot(q),Kt=Ot(Z),Ut=Ot(tt),Ht=Ot(et),_t=Ot(it),jt=Ot(rt),Ft=Ot(st),Lt=Ot(nt),Vt=Ot(ot),Gt=Ot(at),$t=Ot(ct),Qt={fromASN:t=>t.toDate(),toASN:t=>new lt({valueDate:t})},Wt={fromASN:t=>t.toDate(),toASN:t=>new ut({valueDate:t})},zt={fromASN:()=>null,toASN:()=>new R};function qt(t){switch(t){case bt.Any:return Pt;case bt.BitString:return Tt;case bt.BmpString:return Mt;case bt.Boolean:return xt;case bt.CharacterString:return $t;case bt.Enumerated:return Dt;case bt.GeneralString:return Gt;case bt.GeneralizedTime:return Wt;case bt.GraphicString:return Lt;case bt.IA5String:return Ft;case bt.Integer:return Bt;case bt.Null:return zt;case bt.NumericString:return Ut;case bt.ObjectIdentifier:return Nt;case bt.OctetString:return Rt;case bt.PrintableString:return Ht;case bt.TeletexString:return _t;case bt.UTCTime:return Qt;case bt.UniversalString:return Kt;case bt.Utf8String:return kt;case bt.VideotexString:return jt;case bt.VisibleString:return Vt;default:return null}}const Jt=e(t((function(t,e){!function(t){class e{static isArrayBuffer(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}static toArrayBuffer(t){const e=this.toUint8Array(t);return e.byteOffset||e.length?e.buffer.slice(e.byteOffset,e.byteOffset+e.length):e.buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if("undefined"!=typeof Buffer&&"function"==typeof Buffer.isBuffer&&Buffer.isBuffer(t))return new e(t.buffer,t.byteOffset,t.byteLength);if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,i){const r=e.toUint8Array(t),s=e.toUint8Array(i);if(r.length!==s.byteLength)return!1;for(let e=0;e<r.length;e++)if(r[e]!==s[e])return!1;return!0}}class i{static fromString(t){const e=unescape(encodeURIComponent(t)),i=new Uint8Array(e.length);for(let r=0;r<e.length;r++)i[r]=e.charCodeAt(r);return i.buffer}static toString(t){const i=e.toUint8Array(t);let r="";for(let e=0;e<i.length;e++)r+=String.fromCharCode(i[e]);return decodeURIComponent(escape(r))}}class r{static toString(t,i=!1){const r=e.toArrayBuffer(t),s=new DataView(r);let n="";for(let e=0;e<r.byteLength;e+=2){const t=s.getUint16(e,i);n+=String.fromCharCode(t)}return n}static fromString(t,e=!1){const i=new ArrayBuffer(2*t.length),r=new DataView(i);for(let s=0;s<t.length;s++)r.setUint16(2*s,t.charCodeAt(s),e);return i}}class s{static isHex(t){return"string"==typeof t&&/^[a-z0-9]+$/i.test(t)}static isBase64(t){return"string"==typeof t&&/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}static isBase64Url(t){return"string"==typeof t&&/^[a-zA-Z0-9-_]+$/i.test(t)}static ToString(t,i="utf8"){const s=e.toUint8Array(t);switch(i.toLowerCase()){case"utf8":return this.ToUtf8String(s);case"binary":return this.ToBinary(s);case"hex":return this.ToHex(s);case"base64":return this.ToBase64(s);case"base64url":return this.ToBase64Url(s);case"utf16le":return r.toString(s,!0);case"utf16":case"utf16be":return r.toString(s);default:throw new Error(`Unknown type of encoding '${i}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return r.fromString(t,!0);case"utf16":case"utf16be":return r.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){const i=e.toUint8Array(t);if("undefined"!=typeof btoa){const t=this.ToString(i,"binary");return btoa(t)}return Buffer.from(i).toString("base64")}static FromBase64(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return"undefined"!=typeof atob?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return i.fromString(t);case"utf16":case"utf16be":return r.fromString(t);case"utf16le":case"usc2":return r.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return i.toString(t);case"utf16":case"utf16be":return r.toString(t);case"utf16le":case"usc2":return r.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){const e=t.length,i=new Uint8Array(e);for(let r=0;r<e;r++)i[r]=t.charCodeAt(r);return i.buffer}static ToBinary(t){const i=e.toUint8Array(t);let r="";for(let e=0;e<i.length;e++)r+=String.fromCharCode(i[e]);return r}static ToHex(t){const i=e.toUint8Array(t),r=[],s=i.length;for(let e=0;e<s;e++){const t=i[e].toString(16).padStart(2,"0");r.push(t)}return r.join("")}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e="0"+e);const i=new Uint8Array(e.length/2);for(let r=0;r<e.length;r+=2){const t=e.slice(r,r+2);i[r/2]=parseInt(t,16)}return i.buffer}static ToUtf16String(t,e=!1){return r.toString(t,e)}static FromUtf16String(t,e=!1){return r.fromString(t,e)}static Base64Padding(t){const e=4-t.length%4;if(e<4)for(let i=0;i<e;i++)t+="=";return t}static formatString(t){return(null==t?void 0:t.replace(/[\n\r\t ]/g,""))||""}}s.DEFAULT_UTF8_ENCODING="utf8",t.BufferSourceConverter=e,t.Convert=s,t.assign=function(t){const e=arguments[0];for(let i=1;i<arguments.length;i++){const t=arguments[i];for(const i in t)e[i]=t[i]}return e},t.combine=function(...t){const e=t.map(t=>t.byteLength).reduce((t,e)=>t+e),i=new Uint8Array(e);let r=0;return t.map(t=>new Uint8Array(t)).forEach(t=>{for(const e of t)i[r++]=e}),i.buffer},t.isEqual=function(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<t.byteLength;s++)if(i[s]!==r[s])return!1;return!0},Object.defineProperty(t,"__esModule",{value:!0})}(e)})));class Zt{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!Jt.BufferSourceConverter.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=Jt.BufferSourceConverter.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof K))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new K({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new K({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const i of e)t+=i.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const i=e.length+7>>3;this.unusedBits=(i<<3)-e.length;const r=new Uint8Array(i);e=e.padStart(i<<3,"0").split("").reverse().join("");let s=0;for(;s<i;)r[s]=parseInt(e.slice(s<<3,8+(s<<3)),2),s++;this.value=r.buffer}}class Xt{constructor(t){this.buffer="number"==typeof t?new ArrayBuffer(t):Jt.BufferSourceConverter.isBufferSource(t)?Jt.BufferSourceConverter.toArrayBuffer(t):Array.isArray(t)?new Uint8Array(t):new ArrayBuffer(0)}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(t){if(!(t instanceof k))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new k({valueHex:this.buffer})}toSchema(t){return new k({name:t})}}function Yt(t){return t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Yt(t.prototype):!!(t&&t.toASN&&t.fromASN)}function te(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const i=new Uint8Array(t),r=new Uint8Array(e);for(let s=0;s<t.byteLength;s++)if(i[s]!==r[s])return!1;return!0}const ee=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t){var e,i,r;const s=this.items.get(t);if(!s)throw new Error(`Cannot get schema for '${null!==(r=null===(i=null===(e=null==t?void 0:t.prototype)||void 0===e?void 0:e.constructor)||void 0===i?void 0:i.name)&&void 0!==r?r:t}' target`);return s}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:Et.Sequence,items:{}},i=this.findParentSchema(t);return i&&(Object.assign(e,i),e.items=Object.assign({},e.items,i.items)),e}create(t,e){const i=this.items.get(t)||this.createDefault(t),r=[];for(const s in i.items){const t=i.items[s],n=e?s:"";let o;if("number"==typeof t.type){const e=bt[t.type],i=wt[e];if(!i)throw new Error(`Cannot get ASN1 class by name '${e}'`);o=new i({name:n})}else Yt(t.type)?o=(new t.type).toSchema(n):t.optional?this.get(t.type).type===Et.Choice?o=new At({name:n}):(o=this.create(t.type,!1),o.name=n):o=new At({name:n});const a=!!t.optional||void 0!==t.defaultValue;if(t.repeated&&(o.name="",o=new("set"===t.repeated?x:N)({name:"",value:[new Ct({name:n,value:o})]})),null!=t.context)if(t.implicit)if("number"==typeof t.type||Yt(t.type))r.push(new(t.repeated?P:E)({name:n,optional:a,idBlock:{tagClass:3,tagNumber:t.context}}));else{this.cache(t.type);const e=!!t.repeated;let i=e?o:this.get(t.type).schema;i=i.valueBlock?i.valueBlock.value:i.value,r.push(new P({name:e?"":n,optional:a,idBlock:{tagClass:3,tagNumber:t.context},value:i}))}else r.push(new P({optional:a,idBlock:{tagClass:3,tagNumber:t.context},value:[o]}));else o.optional=a,r.push(o)}switch(i.type){case Et.Sequence:return new N({value:r,name:""});case Et.Set:return new x({value:r,name:""});case Et.Choice:return new St({value:r,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=t.__proto__;return e?this.items.get(e)||this.findParentSchema(e):null}},ie=t=>e=>{let i;ee.has(e)?i=ee.get(e):(i=ee.createDefault(e),ee.set(e,i)),Object.assign(i,t)},re=t=>(e,i)=>{let r;ee.has(e.constructor)?r=ee.get(e.constructor):(r=ee.createDefault(e.constructor),ee.set(e.constructor,r));const s=Object.assign({},t);if("number"==typeof s.type&&!s.converter){const r=qt(t.type);if(!r)throw new Error(`Cannot get default converter for property '${i}' of ${e.constructor.name}`);s.converter=r}r.items[i]=s};class se extends Error{constructor(){super(...arguments),this.schemas=[]}}class ne{static parse(t,e){let i;if(t instanceof ArrayBuffer)i=t;else if("undefined"!=typeof Buffer&&Buffer.isBuffer(t))i=new Uint8Array(t).buffer;else{if(!(ArrayBuffer.isView(t)||t.buffer instanceof ArrayBuffer))throw new TypeError("Wrong type of 'data' argument");i=t.buffer}const r=gt(i);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,e)}static fromASN(t,e){var i;try{if(Yt(e))return(new e).fromASN(t);const r=ee.get(e);ee.cache(e);let s=r.schema;if(t.constructor===P&&r.type!==Et.Choice){s=new P({idBlock:{tagClass:3,tagNumber:t.idBlock.tagNumber},value:r.schema.valueBlock.value});for(const e in r.items)delete t[e]}const n=vt(t,t,s);if(!n.verified)throw new se(`Data does not match to ${e.name} ASN1 schema. ${n.result.error}`);const o=new e;if(function t(e){var i;if(e){const r=Object.getPrototypeOf(e);return(null===(i=null==r?void 0:r.prototype)||void 0===i?void 0:i.constructor)===Array||t(r)}return!1}(e)){if("number"==typeof r.itemType){const i=qt(r.itemType);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);return e.from(t.valueBlock.value,t=>i.fromASN(t))}return e.from(t.valueBlock.value,t=>this.fromASN(t,r.itemType))}for(const e in r.items){if(!t[e])continue;const s=r.items[e];if("number"==typeof s.type||Yt(s.type)){const r=null!==(i=s.converter)&&void 0!==i?i:Yt(s.type)?new s.type:null;if(!r)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const i=new("sequence"===s.repeated?N:x);i.valueBlock=t[e].valueBlock;const n=gt(i.toBER(!1)).result.valueBlock.value;o[e]=Array.from(n,t=>r.fromASN(t))}else o[e]=Array.from(t[e],t=>r.fromASN(t));else{let i=t[e];if(s.implicit){let t;if(Yt(s.type))t=(new s.type).toSchema("");else{const e=bt[s.type],i=wt[e];if(!i)throw new Error(`Cannot get '${e}' class from asn1js module`);t=new i}t.valueBlock=i.valueBlock,i=gt(t.toBER(!1)).result}o[e]=r.fromASN(i)}}else o[e]=s.repeated?Array.from(t[e],t=>this.fromASN(t,s.type)):this.fromASN(t[e],s.type)}return o}catch(r){throw r instanceof se&&r.schemas.push(e.name),r}}}class oe{static serialize(t){return t instanceof v?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&Yt(t.constructor))return t.toASN();const e=t.constructor,i=ee.get(e);ee.cache(e);let r,s=[];if(i.itemType)if("number"==typeof i.itemType){const r=qt(i.itemType);if(!r)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);s=t.map(t=>r.toASN(t))}else s=t.map(t=>this.toAsnItem({type:i.itemType},"[]",e,t));else for(const n in i.items){const r=i.items[n],o=t[n];if(void 0===o||r.defaultValue===o||"object"==typeof r.defaultValue&&"object"==typeof o&&te(this.serialize(r.defaultValue),this.serialize(o)))continue;let a=oe.toAsnItem(r,n,e,o);if("number"==typeof r.context)if(r.implicit)if(r.repeated||"number"!=typeof r.type&&!Yt(r.type))s.push(new P({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof R?a.valueBeforeDecode:a.valueBlock.toBER(),s.push(new E(Object.assign({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context}},t)))}else s.push(new P({optional:r.optional,idBlock:{tagClass:3,tagNumber:r.context},value:[a]}));else r.repeated?s=s.concat(a):s.push(a)}switch(i.type){case Et.Sequence:r=new N({value:s});break;case Et.Set:r=new x({value:s});break;case Et.Choice:if(!s[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);r=s[0]}return r}static toAsnItem(t,e,i,r){let s;if("number"==typeof t.type){const n=t.converter;if(!n)throw new Error(`Property '${e}' doesn't have converter for type ${bt[t.type]} in schema '${i.name}'`);if(t.repeated){const e=Array.from(r,t=>n.toASN(t));s=new("sequence"===t.repeated?N:x)({value:e})}else s=n.toASN(r)}else if(t.repeated){const e=Array.from(r,t=>this.toASN(t));s=new("sequence"===t.repeated?N:x)({value:e})}else s=this.toASN(r);return s}}class ae extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class ce{static serialize(t){return oe.serialize(t)}static parse(t,e){return ne.parse(t,e)}static toString(t){const e=gt(Jt.BufferSourceConverter.isBufferSource(t)?Jt.BufferSourceConverter.toArrayBuffer(t):ce.serialize(t));if(-1===e.offset)throw new Error("Cannot decode ASN.1 data. "+e.result.error);return e.result.toString()}}
|
|
2
2
|
/*! *****************************************************************************
|
|
3
3
|
Copyright (c) Microsoft Corporation.
|
|
4
4
|
|
|
@@ -12,7 +12,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
12
12
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
13
13
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
14
14
|
PERFORMANCE OF THIS SOFTWARE.
|
|
15
|
-
***************************************************************************** */function ce(t,e,i,r){var s,n=arguments.length,o=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(n<3?s(o):n>3?s(e,i,o):s(e,i))||o);return n>3&&o&&Object.defineProperty(e,i,o),o}var le,ue,he,pe=t((function(t){!function(e){const i="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${i}\\.${i}\\.${i}\\.${i}$`,"i"),threeOctet:new RegExp(`^${i}\\.${i}\\.${i}$`,"i"),twoOctet:new RegExp(`^${i}\\.${i}$`,"i"),longValue:new RegExp(`^${i}$`,"i")},s=new RegExp("^0[0-7]+$","i"),n=new RegExp("^0x[a-f0-9]+$","i"),o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(%[0-9a-z]{1,})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${i}\\.${i}\\.${i}\\.${i}(%[0-9a-z]{1,})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${i}\\.${i}\\.${i}\\.${i}(%[0-9a-z]{1,})?$`,"i")};function c(t,e){if(t.indexOf("::")!==t.lastIndexOf("::"))return null;let i,r,s=0,n=-1,o=(t.match(a.zoneIndex)||[])[0];for(o&&(o=o.substring(1),t=t.replace(/%.+$/,""));(n=t.indexOf(":",n+1))>=0;)s++;if("::"===t.substr(0,2)&&s--,"::"===t.substr(-2,2)&&s--,s>e)return null;for(r=e-s,i=":";r--;)i+="0:";return":"===(t=t.replace("::",i))[0]&&(t=t.slice(1)),":"===t[t.length-1]&&(t=t.slice(0,-1)),{parts:e=function(){const e=t.split(":"),i=[];for(let t=0;t<e.length;t++)i.push(parseInt(e[t],16));return i}(),zoneId:o}}function l(t,e,i,r){if(t.length!==e.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let s,n=0;for(;r>0;){if(s=i-r,s<0&&(s=0),t[n]>>s!=e[n]>>s)return!1;r-=i,n+=1}return!0}function u(t){if(n.test(t))return parseInt(t,16);if("0"===t[0]&&!isNaN(parseInt(t[1],10))){if(s.test(t))return parseInt(t,8);throw new Error(`ipaddr: cannot parse ${t} as octal`)}return parseInt(t,10)}function h(t,e){for(;t.length<e;)t="0"+t;return t}const p={};p.IPv4=function(){function t(t){if(4!==t.length)throw new Error("ipaddr: ipv4 octet count should be 4");let e,i;for(e=0;e<t.length;e++)if(i=t[e],!(0<=i&&i<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=t}return t.prototype.SpecialRanges={unspecified:[[new t([0,0,0,0]),8]],broadcast:[[new t([255,255,255,255]),32]],multicast:[[new t([224,0,0,0]),4]],linkLocal:[[new t([169,254,0,0]),16]],loopback:[[new t([127,0,0,0]),8]],carrierGradeNat:[[new t([100,64,0,0]),10]],private:[[new t([10,0,0,0]),8],[new t([172,16,0,0]),12],[new t([192,168,0,0]),16]],reserved:[[new t([192,0,0,0]),24],[new t([192,0,2,0]),24],[new t([192,88,99,0]),24],[new t([198,51,100,0]),24],[new t([203,0,113,0]),24],[new t([240,0,0,0]),4]]},t.prototype.kind=function(){return"ipv4"},t.prototype.match=function(t,e){let i;if(void 0===e&&(i=t,t=i[0],e=i[1]),"ipv4"!==t.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,t.octets,8,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const i={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let r,s,n;for(r=3;r>=0;r-=1){if(s=this.octets[r],!(s in i))return null;if(n=i[s],e&&0!==n)return null;8!==n&&(e=!0),t+=n}return 32-t},t.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){return this.octets.slice(0)},t.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse("::ffff:"+this.toString())},t.prototype.toNormalizedString=function(){return this.toString()},t.prototype.toString=function(){return this.octets.join(".")},t}(),p.IPv4.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),i=e[0].toByteArray(),r=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[];let n=0;for(;n<4;)s.push(parseInt(i[n],10)|255^parseInt(r[n],10)),n++;return new this(s)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(t){return null!==this.parser(t)},p.IPv4.isValid=function(t){try{return new this(this.parser(t)),!0}catch(e){return!1}},p.IPv4.isValidFourPartDecimal=function(t){return!(!p.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(t){let e,i,r,s,n;try{for(e=this.parseCIDR(t),r=e[0].toByteArray(),n=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[],i=0;i<4;)s.push(parseInt(r[i],10)&parseInt(n[i],10)),i++;return new this(s)}catch(o){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(t){const e=this.parser(t);if(null===e)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(e)},p.IPv4.parseCIDR=function(t){let e;if(e=t.match(/^(.+)\/(\d+)$/)){const t=parseInt(e[2]);if(t>=0&&t<=32){const i=[this.parse(e[1]),t];return Object.defineProperty(i,"toString",{value:function(){return this.join("/")}}),i}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(t){let e,i,s;if(e=t.match(r.fourOctet))return function(){const t=e.slice(1,6),r=[];for(let e=0;e<t.length;e++)i=t[e],r.push(u(i));return r}();if(e=t.match(r.longValue)){if(s=u(e[1]),s>4294967295||s<0)throw new Error("ipaddr: address outside defined range");return function(){const t=[];let e;for(e=0;e<=24;e+=8)t.push(s>>e&255);return t}().reverse()}return(e=t.match(r.twoOctet))?function(){const t=e.slice(1,4),i=[];if(s=u(t[1]),s>16777215||s<0)throw new Error("ipaddr: address outside defined range");return i.push(u(t[0])),i.push(s>>16&255),i.push(s>>8&255),i.push(255&s),i}():(e=t.match(r.threeOctet))?function(){const t=e.slice(1,5),i=[];if(s=u(t[2]),s>65535||s<0)throw new Error("ipaddr: address outside defined range");return i.push(u(t[0])),i.push(u(t[1])),i.push(s>>8&255),i.push(255&s),i}():null},p.IPv4.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>32)throw new Error("ipaddr: invalid IPv4 prefix length");const e=[0,0,0,0];let i=0;const r=Math.floor(t/8);for(;i<r;)e[i]=255,i++;return r<4&&(e[r]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},p.IPv6=function(){function t(t,e){let i,r;if(16===t.length)for(this.parts=[],i=0;i<=14;i+=2)this.parts.push(t[i]<<8|t[i+1]);else{if(8!==t.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=t}for(i=0;i<this.parts.length;i++)if(r=this.parts[i],!(0<=r&&r<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");e&&(this.zoneId=e)}return t.prototype.SpecialRanges={unspecified:[new t([0,0,0,0,0,0,0,0]),128],linkLocal:[new t([65152,0,0,0,0,0,0,0]),10],multicast:[new t([65280,0,0,0,0,0,0,0]),8],loopback:[new t([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new t([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new t([0,0,0,0,0,65535,0,0]),96],rfc6145:[new t([0,0,0,0,65535,0,0,0]),96],rfc6052:[new t([100,65435,0,0,0,0,0,0]),96],"6to4":[new t([8194,0,0,0,0,0,0,0]),16],teredo:[new t([8193,0,0,0,0,0,0,0]),32],reserved:[[new t([8193,3512,0,0,0,0,0,0]),32]]},t.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()},t.prototype.kind=function(){return"ipv6"},t.prototype.match=function(t,e){let i;if(void 0===e&&(i=t,t=i[0],e=i[1]),"ipv6"!==t.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,t.parts,16,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const i={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let r,s;for(let n=7;n>=0;n-=1){if(r=this.parts[n],!(r in i))return null;if(s=i[r],e&&0!==s)return null;16!==s&&(e=!0),t+=s}return 128-t},t.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){let t;const e=[],i=this.parts;for(let r=0;r<i.length;r++)t=i[r],e.push(t>>8),e.push(255&t);return e},t.prototype.toFixedLengthString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(h(this.parts[e].toString(16),4));return t}.call(this).join(":");let e="";return this.zoneId&&(e="%"+this.zoneId),t+e},t.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const t=this.parts.slice(-2),e=t[0],i=t[1];return new p.IPv4([e>>8,255&e,i>>8,255&i])},t.prototype.toNormalizedString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(this.parts[e].toString(16));return t}.call(this).join(":");let e="";return this.zoneId&&(e="%"+this.zoneId),t+e},t.prototype.toRFC5952String=function(){const t=/((^|:)(0(:|$)){2,})/g,e=this.toNormalizedString();let i,r=0,s=-1;for(;i=t.exec(e);)i[0].length>s&&(r=i.index,s=i[0].length);return s<0?e:`${e.substring(0,r)}::${e.substring(r+s)}`},t.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},t}(),p.IPv6.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),i=e[0].toByteArray(),r=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[];let n=0;for(;n<16;)s.push(parseInt(i[n],10)|255^parseInt(r[n],10)),n++;return new this(s)}catch(e){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`)}},p.IPv6.isIPv6=function(t){return null!==this.parser(t)},p.IPv6.isValid=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{const e=this.parser(t);return new this(e.parts,e.zoneId),!0}catch(e){return!1}},p.IPv6.networkAddressFromCIDR=function(t){let e,i,r,s,n;try{for(e=this.parseCIDR(t),r=e[0].toByteArray(),n=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[],i=0;i<16;)s.push(parseInt(r[i],10)&parseInt(n[i],10)),i++;return new this(s)}catch(o){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${o})`)}},p.IPv6.parse=function(t){const e=this.parser(t);if(null===e.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(e.parts,e.zoneId)},p.IPv6.parseCIDR=function(t){let e,i,r;if((i=t.match(/^(.+)\/(\d+)$/))&&(e=parseInt(i[2]),e>=0&&e<=128))return r=[this.parse(i[1]),e],Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(t){let e,i,r,s,n,o;if(r=t.match(a.deprecatedTransitional))return this.parser("::ffff:"+r[1]);if(a.native.test(t))return c(t,8);if((r=t.match(a.transitional))&&(o=r[6]||"",e=c(r[1].slice(0,-1)+o,6),e.parts)){for(n=[parseInt(r[2]),parseInt(r[3]),parseInt(r[4]),parseInt(r[5])],i=0;i<n.length;i++)if(s=n[i],!(0<=s&&s<=255))return null;return e.parts.push(n[0]<<8|n[1]),e.parts.push(n[2]<<8|n[3]),{parts:e.parts,zoneId:e.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>128)throw new Error("ipaddr: invalid IPv6 prefix length");const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let i=0;const r=Math.floor(t/8);for(;i<r;)e[i]=255,i++;return r<16&&(e[r]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},p.fromByteArray=function(t){const e=t.length;if(4===e)return new p.IPv4(t);if(16===e)return new p.IPv6(t);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(t){return p.IPv6.isValid(t)||p.IPv4.isValid(t)},p.parse=function(t){if(p.IPv6.isValid(t))return p.IPv6.parse(t);if(p.IPv4.isValid(t))return p.IPv4.parse(t);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(t){try{return p.IPv6.parseCIDR(t)}catch(e){try{return p.IPv4.parseCIDR(t)}catch(i){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(t){const e=this.parse(t);return"ipv6"===e.kind()&&e.isIPv4MappedAddress()?e.toIPv4Address():e},p.subnetMatch=function(t,e,i){let r,s,n,o;for(s in null==i&&(i="unicast"),e)if(Object.prototype.hasOwnProperty.call(e,s))for(n=e[s],!n[0]||n[0]instanceof Array||(n=[n]),r=0;r<n.length;r++)if(o=n[r],t.kind()===o[0].kind()&&t.match.apply(t,o))return s;return i},t.exports?t.exports=p:e.ipaddr=p}(i)}));class de{static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce((t,e)=>t+ +e,0);let i=t.slice(0,8).replace(/(.{2})/g,t=>parseInt(t,16)+".");return i=i.slice(0,-1),`${i}/${e}`}static toString(t){if(4===t.byteLength||16===t.byteLength){const e=new Uint8Array(t);return pe.fromByteArray(Array.from(e)).toString()}return this.decodeIP(qt.Convert.ToHex(t))}static fromString(t){const e=pe.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let fe=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};ce([ie({type:Et.TeletexString})],fe.prototype,"teletexString",void 0),ce([ie({type:Et.PrintableString})],fe.prototype,"printableString",void 0),ce([ie({type:Et.UniversalString})],fe.prototype,"universalString",void 0),ce([ie({type:Et.Utf8String})],fe.prototype,"utf8String",void 0),ce([ie({type:Et.BmpString})],fe.prototype,"bmpString",void 0),fe=ce([ee({type:wt.Choice})],fe);let ye=class extends fe{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?qt.Convert.ToHex(this.anyValue):super.toString())}};ce([ie({type:Et.IA5String})],ye.prototype,"ia5String",void 0),ce([ie({type:Et.Any})],ye.prototype,"anyValue",void 0),ye=ce([ee({type:wt.Choice})],ye);class Se{constructor(t={}){this.type="",this.value=new ye,Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Se.prototype,"type",void 0),ce([ie({type:ye})],Se.prototype,"value",void 0);let Ae=le=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,le.prototype)}};Ae=le=ce([ee({type:wt.Set,itemType:Se})],Ae);let Ce=ue=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,ue.prototype)}};Ce=ue=ce([ee({type:wt.Sequence,itemType:Ae})],Ce);let me=he=class extends Ce{constructor(t){super(t),Object.setPrototypeOf(this,he.prototype)}};me=he=ce([ee({type:wt.Sequence})],me);const ge={fromASN:t=>de.toString(xt.fromASN(t)),toASN:t=>xt.toASN(de.fromString(t))};class ve{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],ve.prototype,"typeId",void 0),ce([ie({type:Et.Any,context:0})],ve.prototype,"value",void 0);class we{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:fe,optional:!0,context:0,implicit:!0})],we.prototype,"nameAssigner",void 0),ce([ie({type:fe,context:1,implicit:!0})],we.prototype,"partyName",void 0);let Ee=class{constructor(t={}){Object.assign(this,t)}};var be;ce([ie({type:ve,context:0,implicit:!0})],Ee.prototype,"otherName",void 0),ce([ie({type:Et.IA5String,context:1,implicit:!0})],Ee.prototype,"rfc822Name",void 0),ce([ie({type:Et.IA5String,context:2,implicit:!0})],Ee.prototype,"dNSName",void 0),ce([ie({type:Et.Any,context:3,implicit:!0})],Ee.prototype,"x400Address",void 0),ce([ie({type:me,context:4,implicit:!1})],Ee.prototype,"directoryName",void 0),ce([ie({type:we,context:5})],Ee.prototype,"ediPartyName",void 0),ce([ie({type:Et.IA5String,context:6,implicit:!0})],Ee.prototype,"uniformResourceIdentifier",void 0),ce([ie({type:Et.OctetString,context:7,implicit:!0,converter:ge})],Ee.prototype,"iPAddress",void 0),ce([ie({type:Et.ObjectIdentifier,context:8,implicit:!0})],Ee.prototype,"registeredID",void 0),Ee=ce([ee({type:wt.Choice})],Ee);class Pe{constructor(t={}){this.accessMethod="",this.accessLocation=new Ee,Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Pe.prototype,"accessMethod",void 0),ce([ie({type:Ee})],Pe.prototype,"accessLocation",void 0);let Be=be=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,be.prototype)}};Be=be=ce([ee({type:wt.Sequence,itemType:Pe})],Be);class De extends Zt{}class Ie{constructor(t={}){t&&Object.assign(this,t)}}ce([ie({type:De,context:0,optional:!0,implicit:!0})],Ie.prototype,"keyIdentifier",void 0),ce([ie({type:Ee,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Ie.prototype,"authorityCertIssuer",void 0),ce([ie({type:Et.Integer,context:2,optional:!0,implicit:!0,converter:Dt})],Ie.prototype,"authorityCertSerialNumber",void 0);class Te{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var Ne;ce([ie({type:Et.Boolean,defaultValue:!1})],Te.prototype,"cA",void 0),ce([ie({type:Et.Integer,optional:!0})],Te.prototype,"pathLenConstraint",void 0);let xe=Ne=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ne.prototype)}};var Re;xe=Ne=ce([ee({type:wt.Sequence,itemType:Ee})],xe);let Oe=Re=class extends xe{constructor(t){super(t),Object.setPrototypeOf(this,Re.prototype)}};var ke;Oe=Re=ce([ee({type:wt.Sequence})],Oe);let Me=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String}};ce([ie({type:Et.IA5String})],Me.prototype,"ia5String",void 0),ce([ie({type:Et.VisibleString})],Me.prototype,"visibleString",void 0),ce([ie({type:Et.BmpString})],Me.prototype,"bmpString",void 0),ce([ie({type:Et.Utf8String})],Me.prototype,"utf8String",void 0),Me=ce([ee({type:wt.Choice})],Me);class Ke{constructor(t={}){this.organization=new Me,this.noticeNumbers=[],Object.assign(this,t)}}ce([ie({type:Me})],Ke.prototype,"organization",void 0),ce([ie({type:Et.Integer,repeated:"sequence"})],Ke.prototype,"noticeNumbers",void 0);class Ue{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Ke,optional:!0})],Ue.prototype,"noticeRef",void 0),ce([ie({type:Me,optional:!0})],Ue.prototype,"explicitText",void 0);let He=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Et.IA5String})],He.prototype,"cPSuri",void 0),ce([ie({type:Ue})],He.prototype,"userNotice",void 0),He=ce([ee({type:wt.Choice})],He);class _e{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],_e.prototype,"policyQualifierId",void 0),ce([ie({type:Et.Any})],_e.prototype,"qualifier",void 0);class je{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],je.prototype,"policyIdentifier",void 0),ce([ie({type:_e,repeated:"sequence",optional:!0})],je.prototype,"policyQualifiers",void 0);let Fe=ke=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,ke.prototype)}};Fe=ke=ce([ee({type:wt.Sequence,itemType:je})],Fe);let Le=class{constructor(t=0){this.value=t}};ce([ie({type:Et.Integer})],Le.prototype,"value",void 0),Le=ce([ee({type:wt.Choice})],Le);let Ve=class extends Le{};var Ge,$e;Ve=ce([ee({type:wt.Choice})],Ve),function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}($e||($e={}));class Qe extends Jt{toJSON(){const t=[],e=this.toNumber();return e&$e.aACompromise&&t.push("aACompromise"),e&$e.affiliationChanged&&t.push("affiliationChanged"),e&$e.cACompromise&&t.push("cACompromise"),e&$e.certificateHold&&t.push("certificateHold"),e&$e.cessationOfOperation&&t.push("cessationOfOperation"),e&$e.keyCompromise&&t.push("keyCompromise"),e&$e.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&$e.superseded&&t.push("superseded"),e&$e.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let We=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Ee,context:0,repeated:"sequence",implicit:!0})],We.prototype,"fullName",void 0),ce([ie({type:Ae,context:1,implicit:!0})],We.prototype,"nameRelativeToCRLIssuer",void 0),We=ce([ee({type:wt.Choice})],We);class ze{constructor(t={}){Object.assign(this,t)}}ce([ie({type:We,context:0,optional:!0})],ze.prototype,"distributionPoint",void 0),ce([ie({type:Qe,context:1,optional:!0,implicit:!0})],ze.prototype,"reasons",void 0),ce([ie({type:Ee,context:2,optional:!0,repeated:"sequence",implicit:!0})],ze.prototype,"cRLIssuer",void 0);let qe=Ge=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ge.prototype)}};var Je;qe=Ge=ce([ee({type:wt.Sequence,itemType:ze})],qe);let Ze=Je=class extends qe{constructor(t){super(t),Object.setPrototypeOf(this,Je.prototype)}};Ze=Je=ce([ee({type:wt.Sequence,itemType:ze})],Ze);class Xe{constructor(t={}){this.onlyContainsUserCerts=Xe.ONLY,this.onlyContainsCACerts=Xe.ONLY,this.indirectCRL=Xe.ONLY,this.onlyContainsAttributeCerts=Xe.ONLY,Object.assign(this,t)}}var Ye;Xe.ONLY=!1,ce([ie({type:We,context:0,optional:!0})],Xe.prototype,"distributionPoint",void 0),ce([ie({type:Et.Boolean,context:1,defaultValue:Xe.ONLY})],Xe.prototype,"onlyContainsUserCerts",void 0),ce([ie({type:Et.Boolean,context:2,defaultValue:Xe.ONLY})],Xe.prototype,"onlyContainsCACerts",void 0),ce([ie({type:Qe,context:3,optional:!0})],Xe.prototype,"onlySomeReasons",void 0),ce([ie({type:Et.Boolean,context:4,defaultValue:Xe.ONLY})],Xe.prototype,"indirectCRL",void 0),ce([ie({type:Et.Boolean,context:5,defaultValue:Xe.ONLY})],Xe.prototype,"onlyContainsAttributeCerts",void 0),function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ye||(Ye={}));let ti=class{constructor(t=Ye.unspecified){this.reason=Ye.unspecified,this.reason=t}toJSON(){return Ye[this.reason]}toString(){return this.toJSON()}};var ei;ce([ie({type:Et.Enumerated})],ti.prototype,"reason",void 0),ti=ce([ee({type:wt.Choice})],ti);let ii=ei=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,ei.prototype)}};ii=ei=ce([ee({type:wt.Sequence,itemType:Et.ObjectIdentifier})],ii);let ri=class{constructor(t=new ArrayBuffer(0)){this.value=t}};ce([ie({type:Et.Integer,converter:Dt})],ri.prototype,"value",void 0),ri=ce([ee({type:wt.Choice})],ri);let si=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var ni;ce([ie({type:Et.GeneralizedTime})],si.prototype,"value",void 0),si=ce([ee({type:wt.Choice})],si);let oi=ni=class extends xe{constructor(t){super(t),Object.setPrototypeOf(this,ni.prototype)}};var ai,ci;oi=ni=ce([ee({type:wt.Sequence})],oi),function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(ai||(ai={}));class li extends Jt{toJSON(){const t=this.toNumber(),e=[];return t&ai.cRLSign&&e.push("crlSign"),t&ai.dataEncipherment&&e.push("dataEncipherment"),t&ai.decipherOnly&&e.push("decipherOnly"),t&ai.digitalSignature&&e.push("digitalSignature"),t&ai.encipherOnly&&e.push("encipherOnly"),t&ai.keyAgreement&&e.push("keyAgreement"),t&ai.keyCertSign&&e.push("keyCertSign"),t&ai.keyEncipherment&&e.push("keyEncipherment"),t&ai.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class ui{constructor(t={}){this.base=new Ee,this.minimum=0,Object.assign(this,t)}}ce([ie({type:Ee})],ui.prototype,"base",void 0),ce([ie({type:Et.Integer,context:0,defaultValue:0,implicit:!0})],ui.prototype,"minimum",void 0),ce([ie({type:Et.Integer,context:1,optional:!0,implicit:!0})],ui.prototype,"maximum",void 0);let hi=ci=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,ci.prototype)}};hi=ci=ce([ee({type:wt.Sequence,itemType:ui})],hi);class pi{constructor(t={}){Object.assign(this,t)}}ce([ie({type:hi,context:0,optional:!0,implicit:!0})],pi.prototype,"permittedSubtrees",void 0),ce([ie({type:hi,context:1,optional:!0,implicit:!0})],pi.prototype,"excludedSubtrees",void 0);class di{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Et.Integer,context:0,implicit:!0,optional:!0,converter:Dt})],di.prototype,"requireExplicitPolicy",void 0),ce([ie({type:Et.Integer,context:1,implicit:!0,optional:!0,converter:Dt})],di.prototype,"inhibitPolicyMapping",void 0);class fi{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}var yi;ce([ie({type:Et.ObjectIdentifier})],fi.prototype,"issuerDomainPolicy",void 0),ce([ie({type:Et.ObjectIdentifier})],fi.prototype,"subjectDomainPolicy",void 0);let Si=yi=class extends xe{constructor(t){super(t),Object.setPrototypeOf(this,yi.prototype)}};Si=yi=ce([ee({type:wt.Sequence})],Si);class Ai{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var Ci;ce([ie({type:Et.ObjectIdentifier})],Ai.prototype,"type",void 0),ce([ie({type:Et.Any,repeated:"set"})],Ai.prototype,"values",void 0);let mi=Ci=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ci.prototype)}};mi=Ci=ce([ee({type:wt.Sequence,itemType:Ai})],mi);class gi extends De{}class vi{constructor(t={}){Object.assign(this,t)}}var wi;ce([ie({type:Et.GeneralizedTime,context:0,implicit:!0,optional:!0})],vi.prototype,"notBefore",void 0),ce([ie({type:Et.GeneralizedTime,context:1,implicit:!0,optional:!0})],vi.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(wi||(wi={}));class Ei extends Jt{toJSON(){const t=[],e=this.toNumber();return e&wi.pKIXCertificate&&t.push("pKIXCertificate"),e&wi.newExtensions&&t.push("newExtensions"),e&wi.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class bi{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new Ei,Object.assign(this,t)}}ce([ie({type:Et.GeneralString})],bi.prototype,"entrustVers",void 0),ce([ie({type:Ei})],bi.prototype,"entrustInfoFlags",void 0);class Pi{constructor(t={}){this.algorithm="",Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Pi.prototype,"algorithm",void 0),ce([ie({type:Et.Any,optional:!0})],Pi.prototype,"parameters",void 0);class Bi{constructor(t={}){this.algorithm=new Pi,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Pi})],Bi.prototype,"algorithm",void 0),ce([ie({type:Et.BitString})],Bi.prototype,"subjectPublicKey",void 0);let Di=class{constructor(t){t&&("string"==typeof t||"number"==typeof t?this.utcTime=new Date(t):t instanceof Date?this.utcTime=t:Object.assign(this,t))}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};ce([ie({type:Et.UTCTime})],Di.prototype,"utcTime",void 0),ce([ie({type:Et.GeneralizedTime})],Di.prototype,"generalTime",void 0),Di=ce([ee({type:wt.Choice})],Di);class Ii{constructor(t){this.notBefore=new Di(new Date),this.notAfter=new Di(new Date),t&&(this.notBefore=new Di(t.notBefore),this.notAfter=new Di(t.notAfter))}}var Ti;ce([ie({type:Di})],Ii.prototype,"notBefore",void 0),ce([ie({type:Di})],Ii.prototype,"notAfter",void 0);class Ni{constructor(t={}){this.extnID="",this.critical=Ni.CRITICAL,this.extnValue=new Zt,Object.assign(this,t)}}Ni.CRITICAL=!1,ce([ie({type:Et.ObjectIdentifier})],Ni.prototype,"extnID",void 0),ce([ie({type:Et.Boolean,defaultValue:Ni.CRITICAL})],Ni.prototype,"critical",void 0),ce([ie({type:Zt})],Ni.prototype,"extnValue",void 0);let xi=Ti=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ti.prototype)}};var Ri;xi=Ti=ce([ee({type:wt.Sequence,itemType:Ni})],xi),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(Ri||(Ri={}));class Oi{constructor(t={}){this.version=Ri.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new Pi,this.issuer=new me,this.validity=new Ii,this.subject=new me,this.subjectPublicKeyInfo=new Bi,Object.assign(this,t)}}ce([ie({type:Et.Integer,context:0,defaultValue:Ri.v1})],Oi.prototype,"version",void 0),ce([ie({type:Et.Integer,converter:Dt})],Oi.prototype,"serialNumber",void 0),ce([ie({type:Pi})],Oi.prototype,"signature",void 0),ce([ie({type:me})],Oi.prototype,"issuer",void 0),ce([ie({type:Ii})],Oi.prototype,"validity",void 0),ce([ie({type:me})],Oi.prototype,"subject",void 0),ce([ie({type:Bi})],Oi.prototype,"subjectPublicKeyInfo",void 0),ce([ie({type:Et.BitString,context:1,implicit:!0,optional:!0})],Oi.prototype,"issuerUniqueID",void 0),ce([ie({type:Et.BitString,context:2,implicit:!0,optional:!0})],Oi.prototype,"subjectUniqueID",void 0),ce([ie({type:xi,context:3,optional:!0})],Oi.prototype,"extensions",void 0);class ki{constructor(t={}){this.tbsCertificate=new Oi,this.signatureAlgorithm=new Pi,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Oi})],ki.prototype,"tbsCertificate",void 0),ce([ie({type:Pi})],ki.prototype,"signatureAlgorithm",void 0),ce([ie({type:Et.BitString})],ki.prototype,"signatureValue",void 0);class Mi{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Di,Object.assign(this,t)}}ce([ie({type:Et.Integer,converter:Dt})],Mi.prototype,"userCertificate",void 0),ce([ie({type:Di})],Mi.prototype,"revocationDate",void 0),ce([ie({type:Ni,optional:!0,repeated:"sequence"})],Mi.prototype,"crlEntryExtensions",void 0);class Ki{constructor(t={}){this.signature=new Pi,this.issuer=new me,this.thisUpdate=new Di,Object.assign(this,t)}}ce([ie({type:Et.Integer,optional:!0})],Ki.prototype,"version",void 0),ce([ie({type:Pi})],Ki.prototype,"signature",void 0),ce([ie({type:me})],Ki.prototype,"issuer",void 0),ce([ie({type:Di})],Ki.prototype,"thisUpdate",void 0),ce([ie({type:Di,optional:!0})],Ki.prototype,"nextUpdate",void 0),ce([ie({type:Mi,repeated:"sequence",optional:!0})],Ki.prototype,"revokedCertificates",void 0),ce([ie({type:Ni,optional:!0,context:0,repeated:"sequence"})],Ki.prototype,"crlExtensions",void 0);class Ui{constructor(t={}){this.tbsCertList=new Ki,this.signatureAlgorithm=new Pi,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Ki})],Ui.prototype,"tbsCertList",void 0),ce([ie({type:Pi})],Ui.prototype,"signatureAlgorithm",void 0),ce([ie({type:Et.BitString})],Ui.prototype,"signature",void 0);const Hi="1.2.840.10045.2.1";function _i(t){return new Pi({algorithm:t})}_i("1.2.840.10045.4.1"),_i("1.2.840.10045.4.3.1"),_i("1.2.840.10045.4.3.2"),_i("1.2.840.10045.4.3.3"),_i("1.2.840.10045.4.3.4");let ji=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Et.ObjectIdentifier})],ji.prototype,"namedCurve",void 0),ji=ce([ee({type:wt.Choice})],ji);class Fi{constructor(t={}){this.version=1,this.privateKey=new Zt,Object.assign(this,t)}}ce([ie({type:Et.Integer})],Fi.prototype,"version",void 0),ce([ie({type:Zt})],Fi.prototype,"privateKey",void 0),ce([ie({type:ji,context:0,optional:!0})],Fi.prototype,"parameters",void 0),ce([ie({type:Et.BitString,context:1,optional:!0})],Fi.prototype,"publicKey",void 0);class Li{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.Integer,converter:Dt})],Li.prototype,"r",void 0),ce([ie({type:Et.Integer,converter:Dt})],Li.prototype,"s",void 0);const Vi="1.2.840.113549.1.1.1",Gi="1.2.840.113549.1.1.8";function $i(t){return new Pi({algorithm:t,parameters:null})}$i("1.2.840.113549.2.2"),$i("1.2.840.113549.2.5");const Qi=$i("1.3.14.3.2.26"),Wi=($i("2.16.840.1.101.3.4.2.4"),$i("2.16.840.1.101.3.4.2.1"),$i("2.16.840.1.101.3.4.2.2"),$i("2.16.840.1.101.3.4.2.3"),$i("2.16.840.1.101.3.4.2.5"),$i("2.16.840.1.101.3.4.2.6"),new Pi({algorithm:Gi,parameters:ae.serialize(Qi)})),zi=new Pi({algorithm:"1.2.840.113549.1.1.9",parameters:ae.serialize(xt.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});$i("1.2.840.113549.1.1.1"),$i("1.2.840.113549.1.1.2"),$i("1.2.840.113549.1.1.4"),$i("1.2.840.113549.1.1.5"),$i("1.2.840.113549.1.1.15"),$i("1.2.840.113549.1.1.16"),$i("1.2.840.113549.1.1.12"),$i("1.2.840.113549.1.1.13"),$i("1.2.840.113549.1.1.15"),$i("1.2.840.113549.1.1.16");class qi{constructor(t={}){this.hashAlgorithm=new Pi(Qi),this.maskGenAlgorithm=new Pi({algorithm:Gi,parameters:ae.serialize(Qi)}),this.pSourceAlgorithm=new Pi(zi),Object.assign(this,t)}}ce([ie({type:Pi,context:0,defaultValue:Qi})],qi.prototype,"hashAlgorithm",void 0),ce([ie({type:Pi,context:1,defaultValue:Wi})],qi.prototype,"maskGenAlgorithm",void 0),ce([ie({type:Pi,context:2,defaultValue:zi})],qi.prototype,"pSourceAlgorithm",void 0),new Pi({algorithm:"1.2.840.113549.1.1.7",parameters:ae.serialize(new qi)});class Ji{constructor(t={}){this.hashAlgorithm=new Pi(Qi),this.maskGenAlgorithm=new Pi({algorithm:Gi,parameters:ae.serialize(Qi)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}ce([ie({type:Pi,context:0,defaultValue:Qi})],Ji.prototype,"hashAlgorithm",void 0),ce([ie({type:Pi,context:1,defaultValue:Wi})],Ji.prototype,"maskGenAlgorithm",void 0),ce([ie({type:Et.Integer,context:2,defaultValue:20})],Ji.prototype,"saltLength",void 0),ce([ie({type:Et.Integer,context:3,defaultValue:1})],Ji.prototype,"trailerField",void 0),new Pi({algorithm:"1.2.840.113549.1.1.10",parameters:ae.serialize(new Ji)});class Zi{constructor(t={}){this.digestAlgorithm=new Pi,this.digest=new Zt,Object.assign(this,t)}}var Xi;ce([ie({type:Pi})],Zi.prototype,"digestAlgorithm",void 0),ce([ie({type:Zt})],Zi.prototype,"digest",void 0);class Yi{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.Integer,converter:Dt})],Yi.prototype,"prime",void 0),ce([ie({type:Et.Integer,converter:Dt})],Yi.prototype,"exponent",void 0),ce([ie({type:Et.Integer,converter:Dt})],Yi.prototype,"coefficient",void 0);let tr=Xi=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Xi.prototype)}};tr=Xi=ce([ee({type:wt.Sequence,itemType:Yi})],tr);class er{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.Integer})],er.prototype,"version",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"modulus",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"publicExponent",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"privateExponent",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"prime1",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"prime2",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"exponent1",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"exponent2",void 0),ce([ie({type:Et.Integer,converter:Dt})],er.prototype,"coefficient",void 0),ce([ie({type:tr,optional:!0})],er.prototype,"otherPrimeInfos",void 0);class ir{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.Integer,converter:Dt})],ir.prototype,"modulus",void 0),ce([ie({type:Et.Integer,converter:Dt})],ir.prototype,"publicExponent",void 0);
|
|
15
|
+
***************************************************************************** */function le(t,e,i,r){var s,n=arguments.length,o=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,i):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,i,r);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(n<3?s(o):n>3?s(e,i,o):s(e,i))||o);return n>3&&o&&Object.defineProperty(e,i,o),o}var ue,he,pe,de=t((function(t){!function(e){const i="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${i}\\.${i}\\.${i}\\.${i}$`,"i"),threeOctet:new RegExp(`^${i}\\.${i}\\.${i}$`,"i"),twoOctet:new RegExp(`^${i}\\.${i}$`,"i"),longValue:new RegExp(`^${i}$`,"i")},s=new RegExp("^0[0-7]+$","i"),n=new RegExp("^0x[a-f0-9]+$","i"),o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp("%[0-9a-z]{1,}","i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(%[0-9a-z]{1,})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${i}\\.${i}\\.${i}\\.${i}(%[0-9a-z]{1,})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${i}\\.${i}\\.${i}\\.${i}(%[0-9a-z]{1,})?$`,"i")};function c(t,e){if(t.indexOf("::")!==t.lastIndexOf("::"))return null;let i,r,s=0,n=-1,o=(t.match(a.zoneIndex)||[])[0];for(o&&(o=o.substring(1),t=t.replace(/%.+$/,""));(n=t.indexOf(":",n+1))>=0;)s++;if("::"===t.substr(0,2)&&s--,"::"===t.substr(-2,2)&&s--,s>e)return null;for(r=e-s,i=":";r--;)i+="0:";return":"===(t=t.replace("::",i))[0]&&(t=t.slice(1)),":"===t[t.length-1]&&(t=t.slice(0,-1)),{parts:e=function(){const e=t.split(":"),i=[];for(let t=0;t<e.length;t++)i.push(parseInt(e[t],16));return i}(),zoneId:o}}function l(t,e,i,r){if(t.length!==e.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let s,n=0;for(;r>0;){if(s=i-r,s<0&&(s=0),t[n]>>s!=e[n]>>s)return!1;r-=i,n+=1}return!0}function u(t){if(n.test(t))return parseInt(t,16);if("0"===t[0]&&!isNaN(parseInt(t[1],10))){if(s.test(t))return parseInt(t,8);throw new Error(`ipaddr: cannot parse ${t} as octal`)}return parseInt(t,10)}function h(t,e){for(;t.length<e;)t="0"+t;return t}const p={};p.IPv4=function(){function t(t){if(4!==t.length)throw new Error("ipaddr: ipv4 octet count should be 4");let e,i;for(e=0;e<t.length;e++)if(i=t[e],!(0<=i&&i<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=t}return t.prototype.SpecialRanges={unspecified:[[new t([0,0,0,0]),8]],broadcast:[[new t([255,255,255,255]),32]],multicast:[[new t([224,0,0,0]),4]],linkLocal:[[new t([169,254,0,0]),16]],loopback:[[new t([127,0,0,0]),8]],carrierGradeNat:[[new t([100,64,0,0]),10]],private:[[new t([10,0,0,0]),8],[new t([172,16,0,0]),12],[new t([192,168,0,0]),16]],reserved:[[new t([192,0,0,0]),24],[new t([192,0,2,0]),24],[new t([192,88,99,0]),24],[new t([198,51,100,0]),24],[new t([203,0,113,0]),24],[new t([240,0,0,0]),4]]},t.prototype.kind=function(){return"ipv4"},t.prototype.match=function(t,e){let i;if(void 0===e&&(i=t,t=i[0],e=i[1]),"ipv4"!==t.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,t.octets,8,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const i={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let r,s,n;for(r=3;r>=0;r-=1){if(s=this.octets[r],!(s in i))return null;if(n=i[s],e&&0!==n)return null;8!==n&&(e=!0),t+=n}return 32-t},t.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){return this.octets.slice(0)},t.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse("::ffff:"+this.toString())},t.prototype.toNormalizedString=function(){return this.toString()},t.prototype.toString=function(){return this.octets.join(".")},t}(),p.IPv4.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),i=e[0].toByteArray(),r=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[];let n=0;for(;n<4;)s.push(parseInt(i[n],10)|255^parseInt(r[n],10)),n++;return new this(s)}catch(e){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(t){return null!==this.parser(t)},p.IPv4.isValid=function(t){try{return new this(this.parser(t)),!0}catch(e){return!1}},p.IPv4.isValidFourPartDecimal=function(t){return!(!p.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(t){let e,i,r,s,n;try{for(e=this.parseCIDR(t),r=e[0].toByteArray(),n=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[],i=0;i<4;)s.push(parseInt(r[i],10)&parseInt(n[i],10)),i++;return new this(s)}catch(o){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(t){const e=this.parser(t);if(null===e)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(e)},p.IPv4.parseCIDR=function(t){let e;if(e=t.match(/^(.+)\/(\d+)$/)){const t=parseInt(e[2]);if(t>=0&&t<=32){const i=[this.parse(e[1]),t];return Object.defineProperty(i,"toString",{value:function(){return this.join("/")}}),i}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(t){let e,i,s;if(e=t.match(r.fourOctet))return function(){const t=e.slice(1,6),r=[];for(let e=0;e<t.length;e++)i=t[e],r.push(u(i));return r}();if(e=t.match(r.longValue)){if(s=u(e[1]),s>4294967295||s<0)throw new Error("ipaddr: address outside defined range");return function(){const t=[];let e;for(e=0;e<=24;e+=8)t.push(s>>e&255);return t}().reverse()}return(e=t.match(r.twoOctet))?function(){const t=e.slice(1,4),i=[];if(s=u(t[1]),s>16777215||s<0)throw new Error("ipaddr: address outside defined range");return i.push(u(t[0])),i.push(s>>16&255),i.push(s>>8&255),i.push(255&s),i}():(e=t.match(r.threeOctet))?function(){const t=e.slice(1,5),i=[];if(s=u(t[2]),s>65535||s<0)throw new Error("ipaddr: address outside defined range");return i.push(u(t[0])),i.push(u(t[1])),i.push(s>>8&255),i.push(255&s),i}():null},p.IPv4.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>32)throw new Error("ipaddr: invalid IPv4 prefix length");const e=[0,0,0,0];let i=0;const r=Math.floor(t/8);for(;i<r;)e[i]=255,i++;return r<4&&(e[r]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},p.IPv6=function(){function t(t,e){let i,r;if(16===t.length)for(this.parts=[],i=0;i<=14;i+=2)this.parts.push(t[i]<<8|t[i+1]);else{if(8!==t.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=t}for(i=0;i<this.parts.length;i++)if(r=this.parts[i],!(0<=r&&r<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");e&&(this.zoneId=e)}return t.prototype.SpecialRanges={unspecified:[new t([0,0,0,0,0,0,0,0]),128],linkLocal:[new t([65152,0,0,0,0,0,0,0]),10],multicast:[new t([65280,0,0,0,0,0,0,0]),8],loopback:[new t([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new t([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new t([0,0,0,0,0,65535,0,0]),96],rfc6145:[new t([0,0,0,0,65535,0,0,0]),96],rfc6052:[new t([100,65435,0,0,0,0,0,0]),96],"6to4":[new t([8194,0,0,0,0,0,0,0]),16],teredo:[new t([8193,0,0,0,0,0,0,0]),32],reserved:[[new t([8193,3512,0,0,0,0,0,0]),32]]},t.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()},t.prototype.kind=function(){return"ipv6"},t.prototype.match=function(t,e){let i;if(void 0===e&&(i=t,t=i[0],e=i[1]),"ipv6"!==t.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,t.parts,16,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const i={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let r,s;for(let n=7;n>=0;n-=1){if(r=this.parts[n],!(r in i))return null;if(s=i[r],e&&0!==s)return null;16!==s&&(e=!0),t+=s}return 128-t},t.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){let t;const e=[],i=this.parts;for(let r=0;r<i.length;r++)t=i[r],e.push(t>>8),e.push(255&t);return e},t.prototype.toFixedLengthString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(h(this.parts[e].toString(16),4));return t}.call(this).join(":");let e="";return this.zoneId&&(e="%"+this.zoneId),t+e},t.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const t=this.parts.slice(-2),e=t[0],i=t[1];return new p.IPv4([e>>8,255&e,i>>8,255&i])},t.prototype.toNormalizedString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(this.parts[e].toString(16));return t}.call(this).join(":");let e="";return this.zoneId&&(e="%"+this.zoneId),t+e},t.prototype.toRFC5952String=function(){const t=/((^|:)(0(:|$)){2,})/g,e=this.toNormalizedString();let i,r=0,s=-1;for(;i=t.exec(e);)i[0].length>s&&(r=i.index,s=i[0].length);return s<0?e:`${e.substring(0,r)}::${e.substring(r+s)}`},t.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},t}(),p.IPv6.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),i=e[0].toByteArray(),r=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[];let n=0;for(;n<16;)s.push(parseInt(i[n],10)|255^parseInt(r[n],10)),n++;return new this(s)}catch(e){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`)}},p.IPv6.isIPv6=function(t){return null!==this.parser(t)},p.IPv6.isValid=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{const e=this.parser(t);return new this(e.parts,e.zoneId),!0}catch(e){return!1}},p.IPv6.networkAddressFromCIDR=function(t){let e,i,r,s,n;try{for(e=this.parseCIDR(t),r=e[0].toByteArray(),n=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),s=[],i=0;i<16;)s.push(parseInt(r[i],10)&parseInt(n[i],10)),i++;return new this(s)}catch(o){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${o})`)}},p.IPv6.parse=function(t){const e=this.parser(t);if(null===e.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(e.parts,e.zoneId)},p.IPv6.parseCIDR=function(t){let e,i,r;if((i=t.match(/^(.+)\/(\d+)$/))&&(e=parseInt(i[2]),e>=0&&e<=128))return r=[this.parse(i[1]),e],Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(t){let e,i,r,s,n,o;if(r=t.match(a.deprecatedTransitional))return this.parser("::ffff:"+r[1]);if(a.native.test(t))return c(t,8);if((r=t.match(a.transitional))&&(o=r[6]||"",e=c(r[1].slice(0,-1)+o,6),e.parts)){for(n=[parseInt(r[2]),parseInt(r[3]),parseInt(r[4]),parseInt(r[5])],i=0;i<n.length;i++)if(s=n[i],!(0<=s&&s<=255))return null;return e.parts.push(n[0]<<8|n[1]),e.parts.push(n[2]<<8|n[3]),{parts:e.parts,zoneId:e.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>128)throw new Error("ipaddr: invalid IPv6 prefix length");const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let i=0;const r=Math.floor(t/8);for(;i<r;)e[i]=255,i++;return r<16&&(e[r]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},p.fromByteArray=function(t){const e=t.length;if(4===e)return new p.IPv4(t);if(16===e)return new p.IPv6(t);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(t){return p.IPv6.isValid(t)||p.IPv4.isValid(t)},p.parse=function(t){if(p.IPv6.isValid(t))return p.IPv6.parse(t);if(p.IPv4.isValid(t))return p.IPv4.parse(t);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(t){try{return p.IPv6.parseCIDR(t)}catch(e){try{return p.IPv4.parseCIDR(t)}catch(i){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(t){const e=this.parse(t);return"ipv6"===e.kind()&&e.isIPv4MappedAddress()?e.toIPv4Address():e},p.subnetMatch=function(t,e,i){let r,s,n,o;for(s in null==i&&(i="unicast"),e)if(Object.prototype.hasOwnProperty.call(e,s))for(n=e[s],!n[0]||n[0]instanceof Array||(n=[n]),r=0;r<n.length;r++)if(o=n[r],t.kind()===o[0].kind()&&t.match.apply(t,o))return s;return i},t.exports?t.exports=p:e.ipaddr=p}(i)}));class fe{static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce((t,e)=>t+ +e,0);let i=t.slice(0,8).replace(/(.{2})/g,t=>parseInt(t,16)+".");return i=i.slice(0,-1),`${i}/${e}`}static toString(t){if(4===t.byteLength||16===t.byteLength){const e=new Uint8Array(t);return de.fromByteArray(Array.from(e)).toString()}return this.decodeIP(Jt.Convert.ToHex(t))}static fromString(t){const e=de.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let ye=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};le([re({type:bt.TeletexString})],ye.prototype,"teletexString",void 0),le([re({type:bt.PrintableString})],ye.prototype,"printableString",void 0),le([re({type:bt.UniversalString})],ye.prototype,"universalString",void 0),le([re({type:bt.Utf8String})],ye.prototype,"utf8String",void 0),le([re({type:bt.BmpString})],ye.prototype,"bmpString",void 0),ye=le([ie({type:Et.Choice})],ye);let Se=class extends ye{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?Jt.Convert.ToHex(this.anyValue):super.toString())}};le([re({type:bt.IA5String})],Se.prototype,"ia5String",void 0),le([re({type:bt.Any})],Se.prototype,"anyValue",void 0),Se=le([ie({type:Et.Choice})],Se);class Ae{constructor(t={}){this.type="",this.value=new Se,Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Ae.prototype,"type",void 0),le([re({type:Se})],Ae.prototype,"value",void 0);let Ce=ue=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,ue.prototype)}};Ce=ue=le([ie({type:Et.Set,itemType:Ae})],Ce);let me=he=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,he.prototype)}};me=he=le([ie({type:Et.Sequence,itemType:Ce})],me);let ge=pe=class extends me{constructor(t){super(t),Object.setPrototypeOf(this,pe.prototype)}};ge=pe=le([ie({type:Et.Sequence})],ge);const ve={fromASN:t=>fe.toString(Rt.fromASN(t)),toASN:t=>Rt.toASN(fe.fromString(t))};class we{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],we.prototype,"typeId",void 0),le([re({type:bt.Any,context:0})],we.prototype,"value",void 0);class Ee{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:ye,optional:!0,context:0,implicit:!0})],Ee.prototype,"nameAssigner",void 0),le([re({type:ye,context:1,implicit:!0})],Ee.prototype,"partyName",void 0);let be=class{constructor(t={}){Object.assign(this,t)}};var Pe;le([re({type:we,context:0,implicit:!0})],be.prototype,"otherName",void 0),le([re({type:bt.IA5String,context:1,implicit:!0})],be.prototype,"rfc822Name",void 0),le([re({type:bt.IA5String,context:2,implicit:!0})],be.prototype,"dNSName",void 0),le([re({type:bt.Any,context:3,implicit:!0})],be.prototype,"x400Address",void 0),le([re({type:ge,context:4,implicit:!1})],be.prototype,"directoryName",void 0),le([re({type:Ee,context:5})],be.prototype,"ediPartyName",void 0),le([re({type:bt.IA5String,context:6,implicit:!0})],be.prototype,"uniformResourceIdentifier",void 0),le([re({type:bt.OctetString,context:7,implicit:!0,converter:ve})],be.prototype,"iPAddress",void 0),le([re({type:bt.ObjectIdentifier,context:8,implicit:!0})],be.prototype,"registeredID",void 0),be=le([ie({type:Et.Choice})],be);class Be{constructor(t={}){this.accessMethod="",this.accessLocation=new be,Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Be.prototype,"accessMethod",void 0),le([re({type:be})],Be.prototype,"accessLocation",void 0);let De=Pe=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Pe.prototype)}};De=Pe=le([ie({type:Et.Sequence,itemType:Be})],De);class Ie extends Xt{}class Te{constructor(t={}){t&&Object.assign(this,t)}}le([re({type:Ie,context:0,optional:!0,implicit:!0})],Te.prototype,"keyIdentifier",void 0),le([re({type:be,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Te.prototype,"authorityCertIssuer",void 0),le([re({type:bt.Integer,context:2,optional:!0,implicit:!0,converter:It})],Te.prototype,"authorityCertSerialNumber",void 0);class Ne{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var xe;le([re({type:bt.Boolean,defaultValue:!1})],Ne.prototype,"cA",void 0),le([re({type:bt.Integer,optional:!0})],Ne.prototype,"pathLenConstraint",void 0);let Re=xe=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,xe.prototype)}};var Oe;Re=xe=le([ie({type:Et.Sequence,itemType:be})],Re);let ke=Oe=class extends Re{constructor(t){super(t),Object.setPrototypeOf(this,Oe.prototype)}};var Me;ke=Oe=le([ie({type:Et.Sequence})],ke);let Ke=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String}};le([re({type:bt.IA5String})],Ke.prototype,"ia5String",void 0),le([re({type:bt.VisibleString})],Ke.prototype,"visibleString",void 0),le([re({type:bt.BmpString})],Ke.prototype,"bmpString",void 0),le([re({type:bt.Utf8String})],Ke.prototype,"utf8String",void 0),Ke=le([ie({type:Et.Choice})],Ke);class Ue{constructor(t={}){this.organization=new Ke,this.noticeNumbers=[],Object.assign(this,t)}}le([re({type:Ke})],Ue.prototype,"organization",void 0),le([re({type:bt.Integer,repeated:"sequence"})],Ue.prototype,"noticeNumbers",void 0);class He{constructor(t={}){Object.assign(this,t)}}le([re({type:Ue,optional:!0})],He.prototype,"noticeRef",void 0),le([re({type:Ke,optional:!0})],He.prototype,"explicitText",void 0);let _e=class{constructor(t={}){Object.assign(this,t)}};le([re({type:bt.IA5String})],_e.prototype,"cPSuri",void 0),le([re({type:He})],_e.prototype,"userNotice",void 0),_e=le([ie({type:Et.Choice})],_e);class je{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],je.prototype,"policyQualifierId",void 0),le([re({type:bt.Any})],je.prototype,"qualifier",void 0);class Fe{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Fe.prototype,"policyIdentifier",void 0),le([re({type:je,repeated:"sequence",optional:!0})],Fe.prototype,"policyQualifiers",void 0);let Le=Me=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Me.prototype)}};Le=Me=le([ie({type:Et.Sequence,itemType:Fe})],Le);let Ve=class{constructor(t=0){this.value=t}};le([re({type:bt.Integer})],Ve.prototype,"value",void 0),Ve=le([ie({type:Et.Choice})],Ve);let Ge=class extends Ve{};var $e,Qe;Ge=le([ie({type:Et.Choice})],Ge),function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}(Qe||(Qe={}));class We extends Zt{toJSON(){const t=[],e=this.toNumber();return e&Qe.aACompromise&&t.push("aACompromise"),e&Qe.affiliationChanged&&t.push("affiliationChanged"),e&Qe.cACompromise&&t.push("cACompromise"),e&Qe.certificateHold&&t.push("certificateHold"),e&Qe.cessationOfOperation&&t.push("cessationOfOperation"),e&Qe.keyCompromise&&t.push("keyCompromise"),e&Qe.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&Qe.superseded&&t.push("superseded"),e&Qe.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let ze=class{constructor(t={}){Object.assign(this,t)}};le([re({type:be,context:0,repeated:"sequence",implicit:!0})],ze.prototype,"fullName",void 0),le([re({type:Ce,context:1,implicit:!0})],ze.prototype,"nameRelativeToCRLIssuer",void 0),ze=le([ie({type:Et.Choice})],ze);class qe{constructor(t={}){Object.assign(this,t)}}le([re({type:ze,context:0,optional:!0})],qe.prototype,"distributionPoint",void 0),le([re({type:We,context:1,optional:!0,implicit:!0})],qe.prototype,"reasons",void 0),le([re({type:be,context:2,optional:!0,repeated:"sequence",implicit:!0})],qe.prototype,"cRLIssuer",void 0);let Je=$e=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,$e.prototype)}};var Ze;Je=$e=le([ie({type:Et.Sequence,itemType:qe})],Je);let Xe=Ze=class extends Je{constructor(t){super(t),Object.setPrototypeOf(this,Ze.prototype)}};Xe=Ze=le([ie({type:Et.Sequence,itemType:qe})],Xe);class Ye{constructor(t={}){this.onlyContainsUserCerts=Ye.ONLY,this.onlyContainsCACerts=Ye.ONLY,this.indirectCRL=Ye.ONLY,this.onlyContainsAttributeCerts=Ye.ONLY,Object.assign(this,t)}}var ti;Ye.ONLY=!1,le([re({type:ze,context:0,optional:!0})],Ye.prototype,"distributionPoint",void 0),le([re({type:bt.Boolean,context:1,defaultValue:Ye.ONLY})],Ye.prototype,"onlyContainsUserCerts",void 0),le([re({type:bt.Boolean,context:2,defaultValue:Ye.ONLY})],Ye.prototype,"onlyContainsCACerts",void 0),le([re({type:We,context:3,optional:!0})],Ye.prototype,"onlySomeReasons",void 0),le([re({type:bt.Boolean,context:4,defaultValue:Ye.ONLY})],Ye.prototype,"indirectCRL",void 0),le([re({type:bt.Boolean,context:5,defaultValue:Ye.ONLY})],Ye.prototype,"onlyContainsAttributeCerts",void 0),function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(ti||(ti={}));let ei=class{constructor(t=ti.unspecified){this.reason=ti.unspecified,this.reason=t}toJSON(){return ti[this.reason]}toString(){return this.toJSON()}};var ii;le([re({type:bt.Enumerated})],ei.prototype,"reason",void 0),ei=le([ie({type:Et.Choice})],ei);let ri=ii=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,ii.prototype)}};ri=ii=le([ie({type:Et.Sequence,itemType:bt.ObjectIdentifier})],ri);let si=class{constructor(t=new ArrayBuffer(0)){this.value=t}};le([re({type:bt.Integer,converter:It})],si.prototype,"value",void 0),si=le([ie({type:Et.Choice})],si);let ni=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var oi;le([re({type:bt.GeneralizedTime})],ni.prototype,"value",void 0),ni=le([ie({type:Et.Choice})],ni);let ai=oi=class extends Re{constructor(t){super(t),Object.setPrototypeOf(this,oi.prototype)}};var ci,li;ai=oi=le([ie({type:Et.Sequence})],ai),function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(ci||(ci={}));class ui extends Zt{toJSON(){const t=this.toNumber(),e=[];return t&ci.cRLSign&&e.push("crlSign"),t&ci.dataEncipherment&&e.push("dataEncipherment"),t&ci.decipherOnly&&e.push("decipherOnly"),t&ci.digitalSignature&&e.push("digitalSignature"),t&ci.encipherOnly&&e.push("encipherOnly"),t&ci.keyAgreement&&e.push("keyAgreement"),t&ci.keyCertSign&&e.push("keyCertSign"),t&ci.keyEncipherment&&e.push("keyEncipherment"),t&ci.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class hi{constructor(t={}){this.base=new be,this.minimum=0,Object.assign(this,t)}}le([re({type:be})],hi.prototype,"base",void 0),le([re({type:bt.Integer,context:0,defaultValue:0,implicit:!0})],hi.prototype,"minimum",void 0),le([re({type:bt.Integer,context:1,optional:!0,implicit:!0})],hi.prototype,"maximum",void 0);let pi=li=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,li.prototype)}};pi=li=le([ie({type:Et.Sequence,itemType:hi})],pi);class di{constructor(t={}){Object.assign(this,t)}}le([re({type:pi,context:0,optional:!0,implicit:!0})],di.prototype,"permittedSubtrees",void 0),le([re({type:pi,context:1,optional:!0,implicit:!0})],di.prototype,"excludedSubtrees",void 0);class fi{constructor(t={}){Object.assign(this,t)}}le([re({type:bt.Integer,context:0,implicit:!0,optional:!0,converter:It})],fi.prototype,"requireExplicitPolicy",void 0),le([re({type:bt.Integer,context:1,implicit:!0,optional:!0,converter:It})],fi.prototype,"inhibitPolicyMapping",void 0);class yi{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}var Si;le([re({type:bt.ObjectIdentifier})],yi.prototype,"issuerDomainPolicy",void 0),le([re({type:bt.ObjectIdentifier})],yi.prototype,"subjectDomainPolicy",void 0);let Ai=Si=class extends Re{constructor(t){super(t),Object.setPrototypeOf(this,Si.prototype)}};Ai=Si=le([ie({type:Et.Sequence})],Ai);class Ci{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var mi;le([re({type:bt.ObjectIdentifier})],Ci.prototype,"type",void 0),le([re({type:bt.Any,repeated:"set"})],Ci.prototype,"values",void 0);let gi=mi=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,mi.prototype)}};gi=mi=le([ie({type:Et.Sequence,itemType:Ci})],gi);class vi extends Ie{}class wi{constructor(t={}){Object.assign(this,t)}}var Ei;le([re({type:bt.GeneralizedTime,context:0,implicit:!0,optional:!0})],wi.prototype,"notBefore",void 0),le([re({type:bt.GeneralizedTime,context:1,implicit:!0,optional:!0})],wi.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(Ei||(Ei={}));class bi extends Zt{toJSON(){const t=[],e=this.toNumber();return e&Ei.pKIXCertificate&&t.push("pKIXCertificate"),e&Ei.newExtensions&&t.push("newExtensions"),e&Ei.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class Pi{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new bi,Object.assign(this,t)}}le([re({type:bt.GeneralString})],Pi.prototype,"entrustVers",void 0),le([re({type:bi})],Pi.prototype,"entrustInfoFlags",void 0);class Bi{constructor(t={}){this.algorithm="",Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Bi.prototype,"algorithm",void 0),le([re({type:bt.Any,optional:!0})],Bi.prototype,"parameters",void 0);class Di{constructor(t={}){this.algorithm=new Bi,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:Bi})],Di.prototype,"algorithm",void 0),le([re({type:bt.BitString})],Di.prototype,"subjectPublicKey",void 0);let Ii=class{constructor(t){t&&("string"==typeof t||"number"==typeof t?this.utcTime=new Date(t):t instanceof Date?this.utcTime=t:Object.assign(this,t))}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};le([re({type:bt.UTCTime})],Ii.prototype,"utcTime",void 0),le([re({type:bt.GeneralizedTime})],Ii.prototype,"generalTime",void 0),Ii=le([ie({type:Et.Choice})],Ii);class Ti{constructor(t){this.notBefore=new Ii(new Date),this.notAfter=new Ii(new Date),t&&(this.notBefore=new Ii(t.notBefore),this.notAfter=new Ii(t.notAfter))}}var Ni;le([re({type:Ii})],Ti.prototype,"notBefore",void 0),le([re({type:Ii})],Ti.prototype,"notAfter",void 0);class xi{constructor(t={}){this.extnID="",this.critical=xi.CRITICAL,this.extnValue=new Xt,Object.assign(this,t)}}xi.CRITICAL=!1,le([re({type:bt.ObjectIdentifier})],xi.prototype,"extnID",void 0),le([re({type:bt.Boolean,defaultValue:xi.CRITICAL})],xi.prototype,"critical",void 0),le([re({type:Xt})],xi.prototype,"extnValue",void 0);let Ri=Ni=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Ni.prototype)}};var Oi;Ri=Ni=le([ie({type:Et.Sequence,itemType:xi})],Ri),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(Oi||(Oi={}));class ki{constructor(t={}){this.version=Oi.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new Bi,this.issuer=new ge,this.validity=new Ti,this.subject=new ge,this.subjectPublicKeyInfo=new Di,Object.assign(this,t)}}le([re({type:bt.Integer,context:0,defaultValue:Oi.v1})],ki.prototype,"version",void 0),le([re({type:bt.Integer,converter:It})],ki.prototype,"serialNumber",void 0),le([re({type:Bi})],ki.prototype,"signature",void 0),le([re({type:ge})],ki.prototype,"issuer",void 0),le([re({type:Ti})],ki.prototype,"validity",void 0),le([re({type:ge})],ki.prototype,"subject",void 0),le([re({type:Di})],ki.prototype,"subjectPublicKeyInfo",void 0),le([re({type:bt.BitString,context:1,implicit:!0,optional:!0})],ki.prototype,"issuerUniqueID",void 0),le([re({type:bt.BitString,context:2,implicit:!0,optional:!0})],ki.prototype,"subjectUniqueID",void 0),le([re({type:Ri,context:3,optional:!0})],ki.prototype,"extensions",void 0);class Mi{constructor(t={}){this.tbsCertificate=new ki,this.signatureAlgorithm=new Bi,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:ki})],Mi.prototype,"tbsCertificate",void 0),le([re({type:Bi})],Mi.prototype,"signatureAlgorithm",void 0),le([re({type:bt.BitString})],Mi.prototype,"signatureValue",void 0);class Ki{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Ii,Object.assign(this,t)}}le([re({type:bt.Integer,converter:It})],Ki.prototype,"userCertificate",void 0),le([re({type:Ii})],Ki.prototype,"revocationDate",void 0),le([re({type:xi,optional:!0,repeated:"sequence"})],Ki.prototype,"crlEntryExtensions",void 0);class Ui{constructor(t={}){this.signature=new Bi,this.issuer=new ge,this.thisUpdate=new Ii,Object.assign(this,t)}}le([re({type:bt.Integer,optional:!0})],Ui.prototype,"version",void 0),le([re({type:Bi})],Ui.prototype,"signature",void 0),le([re({type:ge})],Ui.prototype,"issuer",void 0),le([re({type:Ii})],Ui.prototype,"thisUpdate",void 0),le([re({type:Ii,optional:!0})],Ui.prototype,"nextUpdate",void 0),le([re({type:Ki,repeated:"sequence",optional:!0})],Ui.prototype,"revokedCertificates",void 0),le([re({type:xi,optional:!0,context:0,repeated:"sequence"})],Ui.prototype,"crlExtensions",void 0);class Hi{constructor(t={}){this.tbsCertList=new Ui,this.signatureAlgorithm=new Bi,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:Ui})],Hi.prototype,"tbsCertList",void 0),le([re({type:Bi})],Hi.prototype,"signatureAlgorithm",void 0),le([re({type:bt.BitString})],Hi.prototype,"signature",void 0);const _i="1.2.840.10045.2.1";function ji(t){return new Bi({algorithm:t})}ji("1.2.840.10045.4.1"),ji("1.2.840.10045.4.3.1"),ji("1.2.840.10045.4.3.2"),ji("1.2.840.10045.4.3.3"),ji("1.2.840.10045.4.3.4");let Fi=class{constructor(t={}){Object.assign(this,t)}};le([re({type:bt.ObjectIdentifier})],Fi.prototype,"namedCurve",void 0),Fi=le([ie({type:Et.Choice})],Fi);class Li{constructor(t={}){this.version=1,this.privateKey=new Xt,Object.assign(this,t)}}le([re({type:bt.Integer})],Li.prototype,"version",void 0),le([re({type:Xt})],Li.prototype,"privateKey",void 0),le([re({type:Fi,context:0,optional:!0})],Li.prototype,"parameters",void 0),le([re({type:bt.BitString,context:1,optional:!0})],Li.prototype,"publicKey",void 0);class Vi{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.Integer,converter:It})],Vi.prototype,"r",void 0),le([re({type:bt.Integer,converter:It})],Vi.prototype,"s",void 0);const Gi="1.2.840.113549.1.1.1",$i="1.2.840.113549.1.1.8";function Qi(t){return new Bi({algorithm:t,parameters:null})}Qi("1.2.840.113549.2.2"),Qi("1.2.840.113549.2.5");const Wi=Qi("1.3.14.3.2.26"),zi=(Qi("2.16.840.1.101.3.4.2.4"),Qi("2.16.840.1.101.3.4.2.1"),Qi("2.16.840.1.101.3.4.2.2"),Qi("2.16.840.1.101.3.4.2.3"),Qi("2.16.840.1.101.3.4.2.5"),Qi("2.16.840.1.101.3.4.2.6"),new Bi({algorithm:$i,parameters:ce.serialize(Wi)})),qi=new Bi({algorithm:"1.2.840.113549.1.1.9",parameters:ce.serialize(Rt.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Qi("1.2.840.113549.1.1.1"),Qi("1.2.840.113549.1.1.2"),Qi("1.2.840.113549.1.1.4"),Qi("1.2.840.113549.1.1.5"),Qi("1.2.840.113549.1.1.15"),Qi("1.2.840.113549.1.1.16"),Qi("1.2.840.113549.1.1.12"),Qi("1.2.840.113549.1.1.13"),Qi("1.2.840.113549.1.1.15"),Qi("1.2.840.113549.1.1.16");class Ji{constructor(t={}){this.hashAlgorithm=new Bi(Wi),this.maskGenAlgorithm=new Bi({algorithm:$i,parameters:ce.serialize(Wi)}),this.pSourceAlgorithm=new Bi(qi),Object.assign(this,t)}}le([re({type:Bi,context:0,defaultValue:Wi})],Ji.prototype,"hashAlgorithm",void 0),le([re({type:Bi,context:1,defaultValue:zi})],Ji.prototype,"maskGenAlgorithm",void 0),le([re({type:Bi,context:2,defaultValue:qi})],Ji.prototype,"pSourceAlgorithm",void 0),new Bi({algorithm:"1.2.840.113549.1.1.7",parameters:ce.serialize(new Ji)});class Zi{constructor(t={}){this.hashAlgorithm=new Bi(Wi),this.maskGenAlgorithm=new Bi({algorithm:$i,parameters:ce.serialize(Wi)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}le([re({type:Bi,context:0,defaultValue:Wi})],Zi.prototype,"hashAlgorithm",void 0),le([re({type:Bi,context:1,defaultValue:zi})],Zi.prototype,"maskGenAlgorithm",void 0),le([re({type:bt.Integer,context:2,defaultValue:20})],Zi.prototype,"saltLength",void 0),le([re({type:bt.Integer,context:3,defaultValue:1})],Zi.prototype,"trailerField",void 0),new Bi({algorithm:"1.2.840.113549.1.1.10",parameters:ce.serialize(new Zi)});class Xi{constructor(t={}){this.digestAlgorithm=new Bi,this.digest=new Xt,Object.assign(this,t)}}var Yi;le([re({type:Bi})],Xi.prototype,"digestAlgorithm",void 0),le([re({type:Xt})],Xi.prototype,"digest",void 0);class tr{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.Integer,converter:It})],tr.prototype,"prime",void 0),le([re({type:bt.Integer,converter:It})],tr.prototype,"exponent",void 0),le([re({type:bt.Integer,converter:It})],tr.prototype,"coefficient",void 0);let er=Yi=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Yi.prototype)}};er=Yi=le([ie({type:Et.Sequence,itemType:tr})],er);class ir{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.Integer})],ir.prototype,"version",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"modulus",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"publicExponent",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"privateExponent",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"prime1",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"prime2",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"exponent1",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"exponent2",void 0),le([re({type:bt.Integer,converter:It})],ir.prototype,"coefficient",void 0),le([re({type:er,optional:!0})],ir.prototype,"otherPrimeInfos",void 0);class rr{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.Integer,converter:It})],rr.prototype,"modulus",void 0),le([re({type:bt.Integer,converter:It})],rr.prototype,"publicExponent",void 0);
|
|
16
16
|
/**
|
|
17
17
|
* @license
|
|
18
18
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -20,7 +20,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
20
20
|
* This source code is licensed under the MIT license found in the
|
|
21
21
|
* LICENSE file in the root directory of this source tree.
|
|
22
22
|
*/
|
|
23
|
-
const rr=t=>/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/.test(t),sr=t=>/-----BEGIN CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE-----/.test(t),nr=t=>/-----BEGIN CERTIFICATE REQUEST-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE REQUEST-----/.test(t),or=t=>/-----BEGIN ATTRIBUTE CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END ATTRIBUTE CERTIFICATE-----/.test(t),ar={"2.5.4.3":"CN","2.5.4.6":"C","0.9.2342.19200300.100.1.25":"DC","1.2.840.113549.1.9.1":"E","2.5.4.42":"G","2.5.4.43":"I","2.5.4.7":"L","2.5.4.10":"O","2.5.4.11":"OU","2.5.4.8":"ST","2.5.4.4":"SN","2.5.4.12":"T","2.5.4.15":"businessCategory","1.3.6.1.4.1.311.60.2.1.3":"jurisdictionCountry","2.5.4.5":"serialNumber","2.5.4.97":"OI"},cr={"0.2.262.1.10":"Telesec","0.2.262.1.10.0":"Extension","0.2.262.1.10.1":"Mechanism","0.2.262.1.10.1.0":"Authentication","0.2.262.1.10.1.0.1":"Password Authentication","0.2.262.1.10.1.0.2":"Protected Password Authentication","0.2.262.1.10.1.0.3":"One Way x509 Authentication","0.2.262.1.10.1.0.4":"Two Way x509 Authentication","0.2.262.1.10.1.0.5":"Three Way x509 Authentication","0.2.262.1.10.1.0.6":"One Way IS O9798 Authentication","0.2.262.1.10.1.0.7":"Two Way IS O9798 Authentication","0.2.262.1.10.1.0.8":"Telekom Authentication","0.2.262.1.10.1.1":"Signature","0.2.262.1.10.1.1.1":"MD4 with RSA And IS O9697","0.2.262.1.10.1.1.2":"MD4 with RSA And Telesec Signature Standard","0.2.262.1.10.1.1.3":"MD5 with RSA And IS O9697","0.2.262.1.10.1.1.4":"MD5 with RSA And Telesec Signature Standard","0.2.262.1.10.1.1.5":"Ripemd160 with RSA And Telekom Signature Standard","0.2.262.1.10.1.1.9":"HBCI RSA Signature","0.2.262.1.10.1.2":"Encryption","0.2.262.1.10.1.2.0":"None","0.2.262.1.10.1.2.1":"RSA Telesec","0.2.262.1.10.1.2.2":"DES","0.2.262.1.10.1.2.2.1":"DES ECB","0.2.262.1.10.1.2.2.2":"DES CBC","0.2.262.1.10.1.2.2.3":"DES OFB","0.2.262.1.10.1.2.2.4":"DES CFB8","0.2.262.1.10.1.2.2.5":"DES CFB64","0.2.262.1.10.1.2.3":"DES3","0.2.262.1.10.1.2.3.1":"DES3 ECB","0.2.262.1.10.1.2.3.2":"DES3 CBC","0.2.262.1.10.1.2.3.3":"DES3 OFB","0.2.262.1.10.1.2.3.4":"DES3 CFB8","0.2.262.1.10.1.2.3.5":"DES3 CFB64","0.2.262.1.10.1.2.4":"Magenta","0.2.262.1.10.1.2.5":"Idea","0.2.262.1.10.1.2.5.1":"Idea ECB","0.2.262.1.10.1.2.5.2":"Idea CBC","0.2.262.1.10.1.2.5.3":"Idea OFB","0.2.262.1.10.1.2.5.4":"Idea CFB8","0.2.262.1.10.1.2.5.5":"Idea CFB64","0.2.262.1.10.1.3":"One Way Function","0.2.262.1.10.1.3.1":"MD4","0.2.262.1.10.1.3.2":"MD5","0.2.262.1.10.1.3.3":"SQ ModNx509","0.2.262.1.10.1.3.4":"SQ ModNISO","0.2.262.1.10.1.3.5":"Ripemd128","0.2.262.1.10.1.3.6":"Hash Using Block Cipher","0.2.262.1.10.1.3.7":"Mac","0.2.262.1.10.1.3.8":"Ripemd160","0.2.262.1.10.1.4":"Fec Function","0.2.262.1.10.1.4.1":"Reed Solomon","0.2.262.1.10.2":"Module","0.2.262.1.10.2.0":"Algorithms","0.2.262.1.10.2.1":"Attribute Types","0.2.262.1.10.2.2":"Certificate Types","0.2.262.1.10.2.3":"Message Types","0.2.262.1.10.2.4":"Pl Protocol","0.2.262.1.10.2.5":"Sme And Components Of Sme","0.2.262.1.10.2.6":"Fec","0.2.262.1.10.2.7":"Useful Definitions","0.2.262.1.10.2.8":"Stefiles","0.2.262.1.10.2.9":"Sadmib","0.2.262.1.10.2.10":"Electronic Order","0.2.262.1.10.2.11":"Telesec Ttp Asymmetric Application","0.2.262.1.10.2.12":"Telesec Ttp Basis Application","0.2.262.1.10.2.13":"Telesec Ttp Messages","0.2.262.1.10.2.14":"Telesec Ttp Time Stamp Application","0.2.262.1.10.3":"Object Class","0.2.262.1.10.3.0":"Telesec Other Name","0.2.262.1.10.3.1":"Directory","0.2.262.1.10.3.2":"Directory Type","0.2.262.1.10.3.3":"Directory Group","0.2.262.1.10.3.4":"Directory User","0.2.262.1.10.3.5":"Symmetric Key Entry","0.2.262.1.10.4":"Package","0.2.262.1.10.5":"Parameter","0.2.262.1.10.6":"Name Binding","0.2.262.1.10.7":"Attribute","0.2.262.1.10.7.0":"Application Group Identifier","0.2.262.1.10.7.1":"Certificate Type","0.2.262.1.10.7.2":"Telesec Certificate","0.2.262.1.10.7.3":"Certificate Number","0.2.262.1.10.7.4":"Certificate Revocation List","0.2.262.1.10.7.5":"Creation Date","0.2.262.1.10.7.6":"Issuer","0.2.262.1.10.7.7":"Naming Authority","0.2.262.1.10.7.8":"Public Key Directory","0.2.262.1.10.7.9":"Security Domain","0.2.262.1.10.7.10":"Subject","0.2.262.1.10.7.11":"Time Of Revocation","0.2.262.1.10.7.12":"User Group Reference","0.2.262.1.10.7.13":"alidity","0.2.262.1.10.7.14":"Zert93","0.2.262.1.10.7.15":"Security Mess Env","0.2.262.1.10.7.16":"Anonymized Public Key Directory","0.2.262.1.10.7.17":"Telesec Given Name","0.2.262.1.10.7.18":"Name Additions","0.2.262.1.10.7.19":"Telesec Postal Code","0.2.262.1.10.7.20":"Name Distinguisher","0.2.262.1.10.7.21":"Telesec Certificate List","0.2.262.1.10.7.22":"Teletrust Certificate List","0.2.262.1.10.7.23":"x509 Certificate List","0.2.262.1.10.7.24":"Time Of Issue","0.2.262.1.10.7.25":"Physical Card Number","0.2.262.1.10.7.26":"File Type","0.2.262.1.10.7.27":"Ctl File Is Archive","0.2.262.1.10.7.28":"Email Address","0.2.262.1.10.7.29":"Certificate Template List","0.2.262.1.10.7.30":"Directory Name","0.2.262.1.10.7.31":"Directory Type Name","0.2.262.1.10.7.32":"Directory Group Name","0.2.262.1.10.7.33":"Directory User Name","0.2.262.1.10.7.34":"Revocation Flag","0.2.262.1.10.7.35":"Symmetric Key Entry Name","0.2.262.1.10.7.36":"Gl Number","0.2.262.1.10.7.37":"Go Number","0.2.262.1.10.7.38":"G Key Data","0.2.262.1.10.7.39":"Z Key Data","0.2.262.1.10.7.40":"Kt Key Data","0.2.262.1.10.7.41":"Kt Key Number","0.2.262.1.10.7.51":"Time Of Revocation Gen","0.2.262.1.10.7.52":"Liability Text","0.2.262.1.10.8":"Attribute Group","0.2.262.1.10.9":"Action","0.2.262.1.10.10":"Notification","0.2.262.1.10.11":"Snmp-mibs","0.2.262.1.10.11.1":"Security Application","0.2.262.1.10.12":"Cert And Crl Extension Definitions","0.2.262.1.10.12.0":"Liability Limitation Flag","0.2.262.1.10.12.1":"Telesec Cert Id Ext","0.2.262.1.10.12.2":"Telesec policy Identifier","0.2.262.1.10.12.3":"Telesec Policy Qualifier I D","0.2.262.1.10.12.4":"Telesec CRL Filtered Ext","0.2.262.1.10.12.5":"Telesec CRL Filter Ext","0.2.262.1.10.12.6":"Telesec Naming Authority Ext","0.4.0.127.0.7":"Bsi","0.4.0.127.0.7.1":"Bsi Ecc","0.4.0.127.0.7.1.1":"Bsifield Type","0.4.0.127.0.7.1.1.1":"Bsi Prime Field","0.4.0.127.0.7.1.1.2":"Bsi Characteristic Two Field","0.4.0.127.0.7.1.1.2.2":"Bsi ECTLV Key Format","0.4.0.127.0.7.1.1.2.2.1":"Bsi ECTLV Public Key","0.4.0.127.0.7.1.1.2.3":"Bsi Characteristic Two Basis","0.4.0.127.0.7.1.1.2.3.1":"Bsi Gn Basis","0.4.0.127.0.7.1.1.2.3.2":"Bsi Tp Basis","0.4.0.127.0.7.1.1.2.3.3":"Bsi Pp Basis","0.4.0.127.0.7.1.1.4.1":"Bsi Ecdsa Signatures","0.4.0.127.0.7.1.1.4.1.1":"Bsi Ecdsa with SHA1","0.4.0.127.0.7.1.1.4.1.2":"Bsi Ecdsa with SHA224","0.4.0.127.0.7.1.1.4.1.3":"Bsi Ecdsa with SHA256","0.4.0.127.0.7.1.1.4.1.4":"Bsi Ecdsa with SHA384","0.4.0.127.0.7.1.1.4.1.5":"Bsi Ecdsa with SHA512","0.4.0.127.0.7.1.1.4.1.6":"Bsi Ecdsa with RIPEMD160","0.4.0.127.0.7.1.1.5.1.1":"Bsi Ecka Eg x963KDF","0.4.0.127.0.7.1.1.5.1.1.1":"Bsi Ecka Eg x963KDF with SHA1","0.4.0.127.0.7.1.1.5.1.1.2":"Bsi Ecka Eg x963KDF with SHA224","0.4.0.127.0.7.1.1.5.1.1.3":"Bsi Ecka Eg x963KDF with SHA256","0.4.0.127.0.7.1.1.5.1.1.4":"Bsi Ecka Eg x963KDF with SHA384","0.4.0.127.0.7.1.1.5.1.1.5":"Bsi Ecka Eg x963KDF with SHA512","0.4.0.127.0.7.1.1.5.1.1.6":"Bsi Ecka Eg x963KDF with RIPEMD160","0.4.0.127.0.7.1.1.5.1.2":"Bsi Ecka Eg Session KDF","0.4.0.127.0.7.1.1.5.1.2.1":"Bsi Ecka Eg Session KDF With3DES","0.4.0.127.0.7.1.1.5.1.2.2":"Bsi Ecka Eg Session KDF with AES128","0.4.0.127.0.7.1.1.5.1.2.3":"Bsi Ecka Eg Session KDF with AES192","0.4.0.127.0.7.1.1.5.1.2.4":"Bsi Ecka Eg Session KDF with AES256","0.4.0.127.0.7.1.1.5.2":"Bsi Ecka DH","0.4.0.127.0.7.1.1.5.2.1":"Bsi Ecka DH x963KDF","0.4.0.127.0.7.1.1.5.2.1.1":"Bsi Ecka DHx963KDF with SHA1","0.4.0.127.0.7.1.1.5.2.1.2":"Bsi Ecka DHx963KDF with SHA224","0.4.0.127.0.7.1.1.5.2.1.3":"Bsi Ecka DHx963KDF with SHA256","0.4.0.127.0.7.1.1.5.2.1.4":"Bsi Ecka DHx963KDF with SHA384","0.4.0.127.0.7.1.1.5.2.1.5":"Bsi Ecka DHx963KDF with SHA512","0.4.0.127.0.7.1.1.5.2.1.6":"Bsi Ecka DHx963KDF with RIPEMD160","0.4.0.127.0.7.1.1.5.2.2":"Bsi Ecka DHSessionKDF","0.4.0.127.0.7.1.1.5.2.2.1":"Bsi Ecka DH Session KDF With3 DES","0.4.0.127.0.7.1.1.5.2.2.2":"Bsi Ecka DH Session KDF with AES128","0.4.0.127.0.7.1.1.5.2.2.3":"Bsi Ecka DH Session KDF with AES192","0.4.0.127.0.7.1.1.5.2.2.4":"Bsi Ecka DH Session KDF with AES256","0.4.0.127.0.7.1.2":"Bsi Ec Key Type","0.4.0.127.0.7.1.2.1":"Bsi Ec Public Key","0.4.0.127.0.7.1.5.1":"Bsi Kaeg","0.4.0.127.0.7.1.5.1.1":"Bsi Kaeg with x963KDF","0.4.0.127.0.7.1.5.1.2":"Bsi Kaeg with 3DESKDF","0.4.0.127.0.7.2.2.1":"Bsi PK","0.4.0.127.0.7.2.2.1.1":"Bsi PK_DH","0.4.0.127.0.7.2.2.1.2":"Bsi PK_ECDH","0.4.0.127.0.7.2.2.2":"Bsi TA","0.4.0.127.0.7.2.2.2.1":"Bsi TA_RSA","0.4.0.127.0.7.2.2.2.1.1":"Bsi TA_RSAv1_5_SHA1","0.4.0.127.0.7.2.2.2.1.2":"Bsi TA_RSAv1_5_SHA256","0.4.0.127.0.7.2.2.2.1.3":"Bsi TA_RSAPSS_SHA1","0.4.0.127.0.7.2.2.2.1.4":"Bsi TA_RSAPSS_SHA256","0.4.0.127.0.7.2.2.2.1.5":"Bsi TA_RSAv1_5_SHA512","0.4.0.127.0.7.2.2.2.1.6":"Bsi TA_RSAPSS_SHA512","0.4.0.127.0.7.2.2.2.2":"Bsi TA_ECDSA","0.4.0.127.0.7.2.2.2.2.1":"Bsi TA_ECDSA_SHA1","0.4.0.127.0.7.2.2.2.2.2":"Bsi TA_ECDSA_SHA224","0.4.0.127.0.7.2.2.2.2.3":"Bsi TA_ECDSA_SHA256","0.4.0.127.0.7.2.2.2.2.4":"Bsi TA_ECDSA_SHA384","0.4.0.127.0.7.2.2.2.2.5":"Bsi TA_ECDSA_SHA512","0.4.0.127.0.7.2.2.3":"Bsi CA","0.4.0.127.0.7.2.2.3.1":"Bsi CA_DH","0.4.0.127.0.7.2.2.3.1.1":"Bsi CA_DH_3DES_CBC_CBC","0.4.0.127.0.7.2.2.3.1.2":"Bsi CA_DH_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.3.1.3":"Bsi CA_DH_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.3.1.4":"Bsi CA_DH_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.3.2":"Bsi CA_ECDH","0.4.0.127.0.7.2.2.3.2.1":"Bsi CA_ECDH_3DES_CBC_CBC","0.4.0.127.0.7.2.2.3.2.2":"Bsi CA_ECDH_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.3.2.3":"Bsi CA_ECDH_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.3.2.4":"Bsi CA_ECDH_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4":"Bsi PACE","0.4.0.127.0.7.2.2.4.1":"Bsi PACE_DH_GM","0.4.0.127.0.7.2.2.4.1.1":"Bsi PACE_DH_GM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.1.2":"Bsi PACE_DH_GM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.1.3":"Bsi PACE_DH_GM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.1.4":"Bsi PACE_DH_GM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.2":"Bsi PACE_ECDH_GM","0.4.0.127.0.7.2.2.4.2.1":"Bsi PACE_ECDH_GM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.2.2":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.2.3":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.2.4":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.3":"Bsi PACE_DH_IM","0.4.0.127.0.7.2.2.4.3.1":"Bsi PACE_DH_IM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.3.2":"Bsi PACE_DH_IM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.3.3":"Bsi PACE_DH_IM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.3.4":"Bsi PACE_DH_IM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.4":"Bsi PACE_ECDH_IM","0.4.0.127.0.7.2.2.4.4.1":"Bsi PACE_ECDH_IM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.4.2":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.4.3":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.4.4":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.5":"Bsi RI","0.4.0.127.0.7.2.2.5.1":"Bsi RI_DH","0.4.0.127.0.7.2.2.5.1.1":"Bsi RI_DH_SHA1","0.4.0.127.0.7.2.2.5.1.2":"Bsi RI_DH_SHA224","0.4.0.127.0.7.2.2.5.1.3":"Bsi RI_DH_SHA256","0.4.0.127.0.7.2.2.5.1.4":"Bsi RI_DH_SHA384","0.4.0.127.0.7.2.2.5.1.5":"Bsi RI_DH_SHA512","0.4.0.127.0.7.2.2.5.2":"Bsi RI_ECDH","0.4.0.127.0.7.2.2.5.2.1":"Bsi RI_ECDH_SHA1","0.4.0.127.0.7.2.2.5.2.2":"Bsi RI_ECDH_SHA224","0.4.0.127.0.7.2.2.5.2.3":"Bsi RI_ECDH_SHA256","0.4.0.127.0.7.2.2.5.2.4":"Bsi RI_ECDH_SHA384","0.4.0.127.0.7.2.2.5.2.5":"Bsi RI_ECDH_SHA512","0.4.0.127.0.7.2.2.6":"Bsi Card Info","0.4.0.127.0.7.2.2.7":"Bsi Eid Security","0.4.0.127.0.7.2.2.8":"Bsi PT","0.4.0.127.0.7.3.1.2":"Bsi EAC Roles","0.4.0.127.0.7.3.1.2.1":"Bsi EAC Roles IS","0.4.0.127.0.7.3.1.2.2":"Bsi EAC Roles AT","0.4.0.127.0.7.3.1.2.3":"Bsi EAC Roles ST","0.4.0.127.0.7.3.1.3":"Bsi TAv2ce","0.4.0.127.0.7.3.1.3.1":"Bsi TAv2ce Description","0.4.0.127.0.7.3.1.3.1.1":"Bsi TAv2ce Description Plain Text","0.4.0.127.0.7.3.1.3.1.2":"Bsi TAv2ce Description IA5 String","0.4.0.127.0.7.3.1.3.1.3":"Bsi TAv2ce Description Octet String","0.4.0.127.0.7.3.1.3.2":"Bsi TAv2ce Terminal Sector","0.4.0.127.0.7.3.1.4":"Bsi Aux Data","0.4.0.127.0.7.3.1.4.1":"Bsi Aux Data Birthday","0.4.0.127.0.7.3.1.4.2":"Bsi Aux Data Expire Date","0.4.0.127.0.7.3.1.4.3":"Bsi Aux Data Community ID","0.4.0.127.0.7.3.1.5":"Bsi Defect List","0.4.0.127.0.7.3.1.5.1":"Bsi Defect Auth Defect","0.4.0.127.0.7.3.1.5.1.1":"Bsi Defect Cert Revoked","0.4.0.127.0.7.3.1.5.1.2":"Bsi Defect Cert Replaced","0.4.0.127.0.7.3.1.5.1.3":"Bsi Defect Chip Auth Key Revoked","0.4.0.127.0.7.3.1.5.1.4":"Bsi Defect Active Auth Key Revoked","0.4.0.127.0.7.3.1.5.2":"Bsi Defect EPassport Defect","0.4.0.127.0.7.3.1.5.2.1":"Bsi Defect EPassport DG Malformed","0.4.0.127.0.7.3.1.5.2.2":"Bsi Defect SOD Invalid","0.4.0.127.0.7.3.1.5.3":"Bsi Defect EID Defect","0.4.0.127.0.7.3.1.5.3.1":"Bsi Defect EIDDG Malformed","0.4.0.127.0.7.3.1.5.3.2":"Bsi Defect EID Integrity","0.4.0.127.0.7.3.1.5.4":"Bsi Defect Document Defect","0.4.0.127.0.7.3.1.5.4.1":"Bsi Defect Card Security Malformed","0.4.0.127.0.7.3.1.5.4.2":"Bsi Defect Chip Security Malformed","0.4.0.127.0.7.3.1.5.4.3":"Bsi Defect Power Down Req","0.4.0.127.0.7.3.1.6":"Bsi List Content Description","0.4.0.127.0.7.3.2.1":"Bsi Security Object","0.4.0.127.0.7.3.2.2":"Bsi Black List","0.4.0.1862":"Etsi Qcs Profile","0.4.0.1862.1":"Etsi Qcs","0.4.0.1862.1.1":"Etsi Qcs Compliance","0.4.0.1862.1.2":"Etsi Qcs Limit Value","0.4.0.1862.1.3":"Etsi Qcs Retention Period","0.4.0.1862.1.4":"Etsi Qcs SSCD","0.4.0.1862.1.5":"Etsi Qcs PDS","0.4.0.1862.1.6":"Etsi QcType","0.4.0.1862.1.6.1":"Etsi QcType eSign","0.4.0.1862.1.6.2":"Etsi QcType eSeal","0.4.0.1862.1.6.3":"Etsi QcType Web","0.4.0.194112.1.0":"QCP Natural Person","0.4.0.194112.1.1":"QCP Legal Person","0.4.0.194112.1.2":"QCP Natural QSCD","0.4.0.194112.1.3":"QCP Legal QSCD","0.4.0.194112.1.4":"QCP Web","0.9.2342.19200300.100.1.1":"User ID","0.9.2342.19200300.100.1.3":"Rfc822 Mailbox","0.9.2342.19200300.100.1.25":"Domain Component","1.0.10118.3.0.49":"Ripemd160","1.0.10118.3.0.50":"Ripemd128","1.0.10118.3.0.55":"Whirlpool","1.2.36.1.3.1.1.1":"Qgpki","1.2.36.1.3.1.1.1.1":"Qgpki Policies","1.2.36.1.3.1.1.1.1.1":"Qgpki Med Intermed CA","1.2.36.1.3.1.1.1.1.1.1":"Qgpki Med Intermed Individual","1.2.36.1.3.1.1.1.1.1.2":"Qgpki Med Intermed Device Control","1.2.36.1.3.1.1.1.1.1.3":"Qgpki Med Intermed Device","1.2.36.1.3.1.1.1.1.1.4":"Qgpki Med Intermed Authorised Party","1.2.36.1.3.1.1.1.1.1.5":"Qgpki Med Intermed Device System","1.2.36.1.3.1.1.1.1.2":"Qgpki Med Issuing CA","1.2.36.1.3.1.1.1.1.2.1":"Qgpki Med Issuing Individual","1.2.36.1.3.1.1.1.1.2.2":"Qgpki Med Issuing Device Control","1.2.36.1.3.1.1.1.1.2.3":"Qgpki Med Issuing Device","1.2.36.1.3.1.1.1.1.2.4":"Qgpki Med Issuing Authorised Party","1.2.36.1.3.1.1.1.1.2.5":"Qgpki Med Issuing Client Auth","1.2.36.1.3.1.1.1.1.2.6":"Qgpki Med Issuing Server Auth","1.2.36.1.3.1.1.1.1.2.7":"Qgpki Med Issuing Data Prot","1.2.36.1.3.1.1.1.1.2.8":"Qgpki Med Issuing Token Auth","1.2.36.1.3.1.1.1.1.3":"Qgpki Basic Intermed CA","1.2.36.1.3.1.1.1.1.3.1":"Qgpki Basic Intermed Device System","1.2.36.1.3.1.1.1.1.4":"Qgpki Basic Issuing CA","1.2.36.1.3.1.1.1.1.4.1":"Qgpki Basic Issuing Client Auth","1.2.36.1.3.1.1.1.1.4.2":"Qgpki Basic Issuing Server Auth","1.2.36.1.3.1.1.1.1.4.3":"Qgpki Basic Issuing Data Signing","1.2.36.1.3.1.1.1.2":"Qgpki Assurance Level","1.2.36.1.3.1.1.1.2.1":"Qgpki Assurance Rudimentary","1.2.36.1.3.1.1.1.2.2":"Qgpki Assurance Basic","1.2.36.1.3.1.1.1.2.3":"Qgpki Assurance Medium","1.2.36.1.3.1.1.1.2.4":"Qgpki Assurance High","1.2.36.1.3.1.1.1.3":"Qgpki Cert Function","1.2.36.1.3.1.1.1.3.1":"Qgpki Function Individual","1.2.36.1.3.1.1.1.3.2":"Qgpki Function Device","1.2.36.1.3.1.1.1.3.3":"Qgpki Function Authorised Party","1.2.36.1.3.1.1.1.3.4":"Qgpki Function Device Control","1.2.36.1.3.1.2":"Qpspki","1.2.36.1.3.1.2.1":"Qpspki Policies","1.2.36.1.3.1.2.1.2":"Qpspki Policy Basic","1.2.36.1.3.1.2.1.3":"Qpspki Policy Medium","1.2.36.1.3.1.2.1.4":"Qpspki Policy High","1.2.36.1.3.1.3.2":"Qtmrpki","1.2.36.1.3.1.3.2.1":"Qtmrpki Policies","1.2.36.1.3.1.3.2.2":"Qtmrpki Purpose","1.2.36.1.3.1.3.2.2.1":"Qtmrpki Individual","1.2.36.1.3.1.3.2.2.2":"Qtmrpki Device Control","1.2.36.1.3.1.3.2.2.3":"Qtmrpki Device","1.2.36.1.3.1.3.2.2.4":"Qtmrpki Authorised Party","1.2.36.1.3.1.3.2.2.5":"Qtmrpki Device System","1.2.36.1.3.1.3.2.3":"Qtmrpki Device","1.2.36.1.3.1.3.2.3.1":"Qtmrpki Driver License","1.2.36.1.3.1.3.2.3.2":"Qtmrpki Industry Authority","1.2.36.1.3.1.3.2.3.3":"Qtmrpki Marine License","1.2.36.1.3.1.3.2.3.4":"Qtmrpki Adult Proof Of Age","1.2.36.1.3.1.3.2.3.5":"Qtmrpki Sam","1.2.36.1.3.1.3.2.4":"Qtmrpki Authorised Party","1.2.36.1.3.1.3.2.4.1":"Qtmrpki Transport Inspector","1.2.36.1.3.1.3.2.4.2":"Qtmrpki Police Officer","1.2.36.1.3.1.3.2.4.3":"Qtmrpki System","1.2.36.1.3.1.3.2.4.4":"Qtmrpki Liquor Licensing Inspector","1.2.36.1.3.1.3.2.4.5":"Qtmrpki Marine Enforcement Officer","1.2.36.1.333.1":"Australian Business Number","1.2.36.68980861.1.1.2":"Signet Personal","1.2.36.68980861.1.1.3":"Signet Business","1.2.36.68980861.1.1.4":"Signet Legal","1.2.36.68980861.1.1.10":"Signet Pilot","1.2.36.68980861.1.1.11":"Signet Intra Net","1.2.36.68980861.1.1.20":"Signet Policy","1.2.36.75878867.1.100.1.1":"Certificates Australia Policy","1.2.40.0.17.1.22":"A-Trust EV policy","1.2.392.200011.61.1.1.1":"Mitsubishi Security Algorithm","1.2.392.200011.61.1.1.1.1":"Misty1-cbc","1.2.392.200091.100.721.1":"Security Communication (SECOM) EV policy","1.2.410.200004.1":"Kisa Algorithm","1.2.410.200004.1.1":"Kcdsa","1.2.410.200004.1.2":"Has160","1.2.410.200004.1.3":"Seed ECB","1.2.410.200004.1.4":"Seed CBC","1.2.410.200004.1.5":"Seed OFB","1.2.410.200004.1.6":"Seed CFB","1.2.410.200004.1.7":"Seed MAC","1.2.410.200004.1.8":"Kcdsa with HAS160","1.2.410.200004.1.9":"Kcdsa with SHA1","1.2.410.200004.1.10":"PBE with HAS160 And SEED-ECB","1.2.410.200004.1.11":"PBE with HAS160 And SEED-CBC","1.2.410.200004.1.12":"PBE with HAS160 And SEED-CFB","1.2.410.200004.1.13":"PBE with HAS160 And SEED-OFB","1.2.410.200004.1.14":"PBE with SHA1 And SEED-ECB","1.2.410.200004.1.15":"PBE with SHA1 And SEED-CBC","1.2.410.200004.1.16":"PBE with SHA1 And SEED-CFB","1.2.410.200004.1.17":"PBE with SHA1 And SEED-OFB","1.2.410.200004.1.20":"RSA with HAS160","1.2.410.200004.1.21":"Kcdsa1","1.2.410.200004.2":"Npki CP","1.2.410.200004.2.1":"Npki Signature Policy","1.2.410.200004.3":"Npki KP","1.2.410.200004.4":"Npki AT","1.2.410.200004.5":"Npki LCA","1.2.410.200004.5.1":"Npki Sign Korea","1.2.410.200004.5.2":"Npki Sign Gate","1.2.410.200004.5.3":"Npki Nca Sign","1.2.410.200004.6":"Npki ON","1.2.410.200004.7":"Npki APP","1.2.410.200004.7.1":"Npki SMIME","1.2.410.200004.7.1.1":"Npki SMIME Algo","1.2.410.200004.7.1.1.1":"Npki Cms SEED Wrap","1.2.410.200004.10":"Npki","1.2.410.200004.10.1":"Npki Attribute","1.2.410.200004.10.1.1":"Npki Identify Data","1.2.410.200004.10.1.1.1":"Npki VID","1.2.410.200004.10.1.1.2":"Npki Encrypted VID","1.2.410.200004.10.1.1.3":"Npki Random Num","1.2.410.200004.10.1.1.4":"Npki VID","1.2.410.200046.1.1":"Aria1 Algorithm Modes","1.2.410.200046.1.1.1":"Aria128-ecb","1.2.410.200046.1.1.2":"Aria128-cbc","1.2.410.200046.1.1.3":"Aria128-cfb","1.2.410.200046.1.1.4":"Aria128-ofb","1.2.410.200046.1.1.5":"Aria128-ctr","1.2.410.200046.1.1.6":"Aria192-ecb","1.2.410.200046.1.1.7":"Aria192-cbc","1.2.410.200046.1.1.8":"Aria192-cfb","1.2.410.200046.1.1.9":"Aria192-ofb","1.2.410.200046.1.1.10":"Aria192-ctr","1.2.410.200046.1.1.11":"Aria256-ecb","1.2.410.200046.1.1.12":"Aria256-cbc","1.2.410.200046.1.1.13":"Aria256-cfb","1.2.410.200046.1.1.14":"Aria256-ofb","1.2.410.200046.1.1.15":"Aria256-ctr","1.2.410.200046.1.1.21":"Aria128-cmac","1.2.410.200046.1.1.22":"Aria192-cmac","1.2.410.200046.1.1.23":"Aria256-cmac","1.2.410.200046.1.1.31":"Aria128-ocb2","1.2.410.200046.1.1.32":"Aria192-ocb2","1.2.410.200046.1.1.33":"Aria256-ocb2","1.2.410.200046.1.1.34":"Aria128-gcm","1.2.410.200046.1.1.35":"Aria192-gcm","1.2.410.200046.1.1.36":"Aria256-gcm","1.2.410.200046.1.1.37":"Aria128-ccm","1.2.410.200046.1.1.38":"Aria192-ccm","1.2.410.200046.1.1.39":"Aria256-ccm","1.2.410.200046.1.1.40":"Aria128-keywrap","1.2.410.200046.1.1.41":"Aria192-keywrap","1.2.410.200046.1.1.42":"Aria256-keywrap","1.2.410.200046.1.1.43":"Aria128-keywrap with Pad","1.2.410.200046.1.1.44":"Aria192-keywrap with Pad","1.2.410.200046.1.1.45":"Aria256-keywrap with Pad","1.2.643.2.2.3":"Gost Signature","1.2.643.2.2.4":"Gost94 Signature","1.2.643.2.2.9":"Gost Digest","1.2.643.2.2.10":"Hmac Gost","1.2.643.2.2.13.0":"Gost Wrap","1.2.643.2.2.13.1":"Crypto Pro Wrap","1.2.643.2.2.14.0":"Null Meshing","1.2.643.2.2.14.1":"Crypto Pro Meshing","1.2.643.2.2.19":"Gost Public Key","1.2.643.2.2.20":"Gost94 Public Key","1.2.643.2.2.21":"Gost Cipher","1.2.643.2.2.30.0":"Test Digest Params","1.2.643.2.2.30.1":"Crypto Pro Digest A","1.2.643.2.2.31.0":"Test Cipher Params","1.2.643.2.2.31.1":"Crypto Pro Cipher A","1.2.643.2.2.31.2":"Crypto Pro Cipher B","1.2.643.2.2.31.3":"Crypto Pro Cipher C","1.2.643.2.2.31.4":"Crypto Pro Cipher D","1.2.643.2.2.31.5":"Oscar11 Cipher","1.2.643.2.2.31.6":"Oscar10 Cipher","1.2.643.2.2.31.7":"Ric1 Cipher","1.2.643.2.2.35.0":"Test Sign Params","1.2.643.2.2.35.1":"Crypto Pro Sign A","1.2.643.2.2.35.2":"Crypto Pro Sign B","1.2.643.2.2.35.3":"Crypto Pro Sign C","1.2.643.2.2.36.0":"Crypto Pro Sign XA","1.2.643.2.2.36.1":"Crypto Pro Sign XB","1.2.643.2.2.96":"Crypto Pro ECDH Wrap","1.2.752.34.1":"Seis-cp","1.2.752.34.1.1":"SEIS high-assurance policy Identifier","1.2.752.34.1.2":"SEIS GAK policy Identifier","1.2.752.34.2":"SEI Spe","1.2.752.34.3":"SEI Sat","1.2.752.34.3.1":"SEI Sat-personal Identifier","1.2.840.10040.1":"Module","1.2.840.10040.1.1":"x9f1-cert-mgmt","1.2.840.10040.2":"Holdinstruction","1.2.840.10040.2.1":"Holdinstruction-none","1.2.840.10040.2.2":"Callissuer","1.2.840.10040.2.3":"Reject","1.2.840.10040.2.4":"Pickup Token","1.2.840.10040.3":"Attribute","1.2.840.10040.3.1":"Countersignature","1.2.840.10040.3.2":"Attribute-cert","1.2.840.10040.4":"Algorithm","1.2.840.10040.4.1":"DSA","1.2.840.10040.4.2":"DSA-match","1.2.840.10040.4.3":"DSA with SHA1","1.2.840.10045.1":"Field Type","1.2.840.10045.1.1":"Prime-field","1.2.840.10045.1.2":"Characteristic-two-field","1.2.840.10045.1.2.3":"Characteristic-two-basis","1.2.840.10045.1.2.3.1":"ON Basis","1.2.840.10045.1.2.3.2":"TP Basis","1.2.840.10045.1.2.3.3":"PP Basis","1.2.840.10045.2":"Public Key Type","1.2.840.10045.2.1":"EC Public Key","1.2.840.10045.3.0.1":"C2pnb163v1","1.2.840.10045.3.0.2":"C2pnb163v2","1.2.840.10045.3.0.3":"C2pnb163v3","1.2.840.10045.3.0.5":"C2tnb191v1","1.2.840.10045.3.0.6":"C2tnb191v2","1.2.840.10045.3.0.7":"C2tnb191v3","1.2.840.10045.3.0.10":"C2pnb208w1","1.2.840.10045.3.0.11":"C2tnb239v1","1.2.840.10045.3.0.12":"C2tnb239v2","1.2.840.10045.3.0.13":"C2tnb239v3","1.2.840.10045.3.0.16":"C2pnb272w1","1.2.840.10045.3.0.18":"C2tnb359v1","1.2.840.10045.3.0.19":"C2pnb368w1","1.2.840.10045.3.0.20":"C2tnb431r1","1.2.840.10045.3.1.1":"Prime192v1","1.2.840.10045.3.1.2":"Prime192v2","1.2.840.10045.3.1.3":"Prime192v3","1.2.840.10045.3.1.4":"Prime239v1","1.2.840.10045.3.1.5":"Prime239v2","1.2.840.10045.3.1.6":"Prime239v3","1.2.840.10045.3.1.7":"Prime256v1","1.2.840.10045.4.1":"ECDSA with SHA1","1.2.840.10045.4.2":"ECDSA with Recommended","1.2.840.10045.4.3":"ECDSA with Specified","1.2.840.10045.4.3.1":"ECDSA with SHA224","1.2.840.10045.4.3.2":"ECDSA with SHA256","1.2.840.10045.4.3.3":"ECDSA with SHA384","1.2.840.10045.4.3.4":"ECDSA with SHA512","1.2.840.10046.1":"Field Type","1.2.840.10046.1.1":"Gf-prime","1.2.840.10046.2":"Number Type","1.2.840.10046.2.1":"DH Public Key","1.2.840.10046.3":"Scheme","1.2.840.10046.3.1":"DH Static","1.2.840.10046.3.2":"DH Ephem","1.2.840.10046.3.3":"DH Hybrid1","1.2.840.10046.3.4":"DH Hybrid2","1.2.840.10046.3.5":"Mqv2","1.2.840.10046.3.6":"Mqv1","1.2.840.10065.2.2":"?","1.2.840.10065.2.3":"Healthcare License","1.2.840.10065.2.3.1.1":"License?","1.2.840.10070.":"Iec62351","1.2.840.10070.8":"Iec62351_8","1.2.840.10070.8.1":"Iec User Roles","1.2.840.113533.7":"NSN","1.2.840.113533.7.65":"NSN-ce","1.2.840.113533.7.65.0":"Entrust Version Info","1.2.840.113533.7.66":"NSN-alg","1.2.840.113533.7.66.3":"Cast3 CBC","1.2.840.113533.7.66.10":"Cast5 CBC","1.2.840.113533.7.66.11":"Cast5 MAC","1.2.840.113533.7.66.12":"PBE with MD5 And CAST5-CBC","1.2.840.113533.7.66.13":"Password Based Mac","1.2.840.113533.7.67":"NSN-oc","1.2.840.113533.7.67.0":"Entrust User","1.2.840.113533.7.68":"NSN-at","1.2.840.113533.7.68.0":"Entrust CA Info","1.2.840.113533.7.68.10":"Attribute Certificate","1.2.840.113549.1.1":"PKCS-1","1.2.840.113549.1.1.1":"RSA Encryption","1.2.840.113549.1.1.2":"MD2 with RSA Encryption","1.2.840.113549.1.1.3":"MD4 with RSA Encryption","1.2.840.113549.1.1.4":"MD5 with RSA Encryption","1.2.840.113549.1.1.5":"SHA1 with RSA Encryption","1.2.840.113549.1.1.6":"RSA OAEP Encryption SET","1.2.840.113549.1.1.7":"RSA OAEP","1.2.840.113549.1.1.8":"PKCS1-MGF","1.2.840.113549.1.1.9":"RSA OAEP-p Specified","1.2.840.113549.1.1.10":"RSA PSS","1.2.840.113549.1.1.11":"SHA256 with RSA Encryption","1.2.840.113549.1.1.12":"SHA384 with RSA Encryption","1.2.840.113549.1.1.13":"SHA512 with RSA Encryption","1.2.840.113549.1.1.14":"SHA224 with RSA Encryption","1.2.840.113549.1.2":"Bsafe Rsa Encr","1.2.840.113549.1.3":"PKCS-3","1.2.840.113549.1.3.1":"Dh Key Agreement","1.2.840.113549.1.5":"PKCS-5","1.2.840.113549.1.5.1":"PBE with MD2 And DES-CBC","1.2.840.113549.1.5.3":"PBE with MD5 And DES-CBC","1.2.840.113549.1.5.4":"PBE with MD2 And RC2-CBC","1.2.840.113549.1.5.6":"PBE with MD5 And RC2-CBC","1.2.840.113549.1.5.9":"PBE with MD5 And XOR","1.2.840.113549.1.5.10":"PBE with SHA And DES-CBC","1.2.840.113549.1.5.12":"PKCS5 PBKDF2","1.2.840.113549.1.5.13":"PKCS5 PBES2","1.2.840.113549.1.5.14":"PKCS5 PBMAC1","1.2.840.113549.1.7":"PKCS-7","1.2.840.113549.1.7.1":"Data","1.2.840.113549.1.7.2":"Signed Data","1.2.840.113549.1.7.3":"Enveloped Data","1.2.840.113549.1.7.4":"Signed And Enveloped Data","1.2.840.113549.1.7.5":"Digested Data","1.2.840.113549.1.7.6":"Encrypted Data","1.2.840.113549.1.7.7":"Data with Attributes","1.2.840.113549.1.7.8":"Encrypted Private Key Info","1.2.840.113549.1.9":"PKCS-9","1.2.840.113549.1.9.1":"Email","1.2.840.113549.1.9.2":"Unstructured Name","1.2.840.113549.1.9.3":"Content Type","1.2.840.113549.1.9.4":"Message Digest","1.2.840.113549.1.9.5":"Signing Time","1.2.840.113549.1.9.6":"Countersignature","1.2.840.113549.1.9.7":"Challenge Password","1.2.840.113549.1.9.8":"Unstructured Address","1.2.840.113549.1.9.9":"Extended Certificate Attributes","1.2.840.113549.1.9.10":"Issuer And Serial Number","1.2.840.113549.1.9.11":"Password Check","1.2.840.113549.1.9.12":"Public Key","1.2.840.113549.1.9.13":"Signing Description","1.2.840.113549.1.9.14":"Extension Request","1.2.840.113549.1.9.15":"S/MIME Capabilities","1.2.840.113549.1.9.15.1":"Prefer Signed Data","1.2.840.113549.1.9.15.2":"Can Not Decrypt Any","1.2.840.113549.1.9.15.3":"Receipt Request","1.2.840.113549.1.9.15.4":"Receipt","1.2.840.113549.1.9.15.5":"Content Hints","1.2.840.113549.1.9.15.6":"Ml Expansion History","1.2.840.113549.1.9.16":"Id-sMIME","1.2.840.113549.1.9.16.0":"Id-mod","1.2.840.113549.1.9.16.0.1":"Id-mod-cms","1.2.840.113549.1.9.16.0.2":"Id-mod-ess","1.2.840.113549.1.9.16.0.3":"Id-mod-oid","1.2.840.113549.1.9.16.0.4":"Id-mod-msg-v3","1.2.840.113549.1.9.16.0.5":"Id-mod-ets-e Signature-88","1.2.840.113549.1.9.16.0.6":"Id-mod-ets-e Signature-97","1.2.840.113549.1.9.16.0.7":"Id-mod-ets-e Sig Policy-88","1.2.840.113549.1.9.16.0.8":"Id-mod-ets-e Sig Policy-88","1.2.840.113549.1.9.16.1":"Content Type","1.2.840.113549.1.9.16.1.1":"Receipt","1.2.840.113549.1.9.16.1.2":"Auth Data","1.2.840.113549.1.9.16.1.3":"Publish Cert","1.2.840.113549.1.9.16.1.4":"TST Info","1.2.840.113549.1.9.16.1.5":"TDT Info","1.2.840.113549.1.9.16.1.6":"Content Info","1.2.840.113549.1.9.16.1.7":"DVCS Request Data","1.2.840.113549.1.9.16.1.8":"DVCS Response Data","1.2.840.113549.1.9.16.1.9":"Compressed Data","1.2.840.113549.1.9.16.1.10":"SCVP Cert Val Request","1.2.840.113549.1.9.16.1.11":"SCVP Cert Val Response","1.2.840.113549.1.9.16.1.12":"SCVP Val Pol Request","1.2.840.113549.1.9.16.1.13":"SCVP Val Pol Response","1.2.840.113549.1.9.16.1.14":"Attr Cert Enc Attrs","1.2.840.113549.1.9.16.1.15":"TS Req","1.2.840.113549.1.9.16.1.16":"Firmware Package","1.2.840.113549.1.9.16.1.17":"Firmware Load Receipt","1.2.840.113549.1.9.16.1.18":"Firmware Load Error","1.2.840.113549.1.9.16.1.19":"Content Collection","1.2.840.113549.1.9.16.1.20":"Content with Attrs","1.2.840.113549.1.9.16.1.21":"Enc Key with I D","1.2.840.113549.1.9.16.1.22":"Enc PEPSI","1.2.840.113549.1.9.16.1.23":"Auth Enveloped Data","1.2.840.113549.1.9.16.1.24":"Route Origin Attest","1.2.840.113549.1.9.16.1.25":"Symmetric Key Package","1.2.840.113549.1.9.16.1.26":"Rpki Manifest","1.2.840.113549.1.9.16.1.27":"Ascii Text with CRLF","1.2.840.113549.1.9.16.1.28":"XML","1.2.840.113549.1.9.16.1.29":"PDF","1.2.840.113549.1.9.16.1.30":"Postscript","1.2.840.113549.1.9.16.1.31":"Timestamped Data","1.2.840.113549.1.9.16.1.32":"As Adjacency Attest","1.2.840.113549.1.9.16.1.33":"Rpki Trust Anchor","1.2.840.113549.1.9.16.1.34":"Trust Anchor List","1.2.840.113549.1.9.16.2":"Authenticated Attributes","1.2.840.113549.1.9.16.2.1":"Receipt Request","1.2.840.113549.1.9.16.2.2":"Security Label","1.2.840.113549.1.9.16.2.3":"Ml Expand History","1.2.840.113549.1.9.16.2.4":"Content Hint","1.2.840.113549.1.9.16.2.5":"Msg Sig Digest","1.2.840.113549.1.9.16.2.6":"Encap Content Type","1.2.840.113549.1.9.16.2.7":"Content Identifier","1.2.840.113549.1.9.16.2.8":"Mac Value","1.2.840.113549.1.9.16.2.9":"Equivalent Labels","1.2.840.113549.1.9.16.2.10":"Content Reference","1.2.840.113549.1.9.16.2.11":"Encryp Key Pref","1.2.840.113549.1.9.16.2.12":"Signing Certificate","1.2.840.113549.1.9.16.2.13":"Smime Encrypt Certs","1.2.840.113549.1.9.16.2.14":"Time Stamp Token","1.2.840.113549.1.9.16.2.15":"Sig Policy Id","1.2.840.113549.1.9.16.2.16":"Commitment Type","1.2.840.113549.1.9.16.2.17":"Signer Location","1.2.840.113549.1.9.16.2.18":"Signer Attr","1.2.840.113549.1.9.16.2.19":"Other Sig Cert","1.2.840.113549.1.9.16.2.20":"Content Timestamp","1.2.840.113549.1.9.16.2.21":"Certificate Refs","1.2.840.113549.1.9.16.2.22":"Revocation Refs","1.2.840.113549.1.9.16.2.23":"Cert Values","1.2.840.113549.1.9.16.2.24":"Revocation Values","1.2.840.113549.1.9.16.2.25":"Esc Time Stamp","1.2.840.113549.1.9.16.2.26":"Cert CRL Timestamp","1.2.840.113549.1.9.16.2.27":"Archive Time Stamp","1.2.840.113549.1.9.16.2.28":"Signature Type","1.2.840.113549.1.9.16.2.29":"Dvcs Dvc","1.2.840.113549.1.9.16.2.30":"Cek Reference","1.2.840.113549.1.9.16.2.31":"Max CEK Decrypts","1.2.840.113549.1.9.16.2.32":"Kek Derivation Alg","1.2.840.113549.1.9.16.2.33":"Intended Recipients","1.2.840.113549.1.9.16.2.34":"Cmc Unsigned Data","1.2.840.113549.1.9.16.2.35":"Fw Package ID","1.2.840.113549.1.9.16.2.36":"Fw Target Hardware IDs","1.2.840.113549.1.9.16.2.37":"Fw Decrypt Key ID","1.2.840.113549.1.9.16.2.38":"Fw Impl Crypt Algs","1.2.840.113549.1.9.16.2.39":"Fw Wrapped Firmware Key","1.2.840.113549.1.9.16.2.40":"Fw Community Identifiers","1.2.840.113549.1.9.16.2.41":"Fw Pkg Message Digest","1.2.840.113549.1.9.16.2.42":"Fw Package Info","1.2.840.113549.1.9.16.2.43":"Fw Impl Compress Algs","1.2.840.113549.1.9.16.2.44":"Ets Attr Certificate Refs","1.2.840.113549.1.9.16.2.45":"Ets Attr Revocation Refs","1.2.840.113549.1.9.16.2.46":"Binary Signing Time","1.2.840.113549.1.9.16.2.47":"Signing Certificate V2","1.2.840.113549.1.9.16.2.48":"Ets Archive Time Stamp V2","1.2.840.113549.1.9.16.2.49":"Er Internal","1.2.840.113549.1.9.16.2.50":"Er External","1.2.840.113549.1.9.16.2.51":"Multiple Signatures","1.2.840.113549.1.9.16.3.1":"Es DHwith3 DES","1.2.840.113549.1.9.16.3.2":"Es DHwith RC2","1.2.840.113549.1.9.16.3.3":"3des Wrap","1.2.840.113549.1.9.16.3.4":"Rc2 Wrap","1.2.840.113549.1.9.16.3.5":"Es DH","1.2.840.113549.1.9.16.3.6":"Cms3 DESwrap","1.2.840.113549.1.9.16.3.7":"Cms RC2wrap","1.2.840.113549.1.9.16.3.8":"Zlib","1.2.840.113549.1.9.16.3.9":"Pwri KEK","1.2.840.113549.1.9.16.3.10":"Ss DH","1.2.840.113549.1.9.16.3.11":"Hmac With3 DE Swrap","1.2.840.113549.1.9.16.3.12":"Hmac with AE Swrap","1.2.840.113549.1.9.16.3.13":"MD5 Xor Experiment","1.2.840.113549.1.9.16.3.14":"RSA KEM","1.2.840.113549.1.9.16.3.15":"Auth Enc128","1.2.840.113549.1.9.16.3.16":"Auth Enc256","1.2.840.113549.1.9.16.4.1":"Cert Dist-ldap","1.2.840.113549.1.9.16.5.1":"Sig Policy Qualifier-spuri x","1.2.840.113549.1.9.16.5.2":"Sig Policy Qualifier-sp User Notice","1.2.840.113549.1.9.16.6.1":"Proof Of Origin","1.2.840.113549.1.9.16.6.2":"Proof Of Receipt","1.2.840.113549.1.9.16.6.3":"Proof Of Delivery","1.2.840.113549.1.9.16.6.4":"Proof Of Sender","1.2.840.113549.1.9.16.6.5":"Proof Of Approval","1.2.840.113549.1.9.16.6.6":"Proof Of Creation","1.2.840.113549.1.9.16.8.1":"Gl Use KEK","1.2.840.113549.1.9.16.8.2":"Gl Delete","1.2.840.113549.1.9.16.8.3":"Gl Add Member","1.2.840.113549.1.9.16.8.4":"Gl Delete Member","1.2.840.113549.1.9.16.8.5":"Gl Rekey","1.2.840.113549.1.9.16.8.6":"Gl Add Owner","1.2.840.113549.1.9.16.8.7":"Gl Remove Owner","1.2.840.113549.1.9.16.8.8":"Glk Compromise","1.2.840.113549.1.9.16.8.9":"Glk Refresh","1.2.840.113549.1.9.16.8.10":"Gl Fail Info","1.2.840.113549.1.9.16.8.11":"Gla Query Request","1.2.840.113549.1.9.16.8.12":"Gla Query Response","1.2.840.113549.1.9.16.8.13":"Gl Provide Cert","1.2.840.113549.1.9.16.8.14":"Gl Update Cert","1.2.840.113549.1.9.16.8.15":"Gl Key","1.2.840.113549.1.9.16.9":"Signature Type Identifier","1.2.840.113549.1.9.16.9.1":"Originator Sig","1.2.840.113549.1.9.16.9.2":"Domain Sig","1.2.840.113549.1.9.16.9.3":"Additional Attributes Sig","1.2.840.113549.1.9.16.9.4":"Review Sig","1.2.840.113549.1.9.16.11":"Capabilities","1.2.840.113549.1.9.16.11.1":"Prefer Binary Inside","1.2.840.113549.1.9.20":"Friendly Name (for PKCS #12)","1.2.840.113549.1.9.21":"Local Key I D (for PKCS #12)","1.2.840.113549.1.9.22":"Cert Types (for PKCS #12)","1.2.840.113549.1.9.22.1":"x509 Certificate (for PKCS #12)","1.2.840.113549.1.9.22.2":"SDSI Certificate (for PKCS #12)","1.2.840.113549.1.9.23":"CRL Types (for PKCS #12)","1.2.840.113549.1.9.23.1":"x509 Crl (for PKCS #12)","1.2.840.113549.1.9.24":"PKCS9object Class","1.2.840.113549.1.9.25":"PKCS9attributes","1.2.840.113549.1.9.25.1":"PKCS15 Token","1.2.840.113549.1.9.25.2":"Encrypted Private Key Info","1.2.840.113549.1.9.25.3":"Random Nonce","1.2.840.113549.1.9.25.4":"Sequence Number","1.2.840.113549.1.9.25.5":"PKCS7 PDU","1.2.840.113549.1.9.26":"PKCS9syntax","1.2.840.113549.1.9.27":"PKCS9matching Rules","1.2.840.113549.1.12":"PKCS-12","1.2.840.113549.1.12.1":"PKCS-12- Pbe Ids#12 mode ID","1.2.840.113549.1.12.1.1":"PBE with SHA And128 Bit RC4","1.2.840.113549.1.12.1.2":"PBE with SHA And40 Bit RC4","1.2.840.113549.1.12.1.3":"PBE with SHA And3-Key Triple DES-CBC","1.2.840.113549.1.12.1.4":"PBE with SHA And2-Key Triple DES-CBC","1.2.840.113549.1.12.1.5":"PBE with SHA And128 Bit RC2-CBC","1.2.840.113549.1.12.1.6":"PBE with SHA And40 Bit RC2-CBC","1.2.840.113549.1.12.2":"PKCS-12-ESPVKID","1.2.840.113549.1.12.2.1":"PKCS-12-PKCS8 Key Shrouding(1284011354911235) instead","1.2.840.113549.1.12.3":"PKCS-12-Bag Ids","1.2.840.113549.1.12.3.1":"PKCS-12-key Bag Id","1.2.840.113549.1.12.3.2":"PKCS-12-cert And CRL Bag Id","1.2.840.113549.1.12.3.3":"PKCS-12-secret Bag Id","1.2.840.113549.1.12.3.4":"PKCS-12-safe Contents Id","1.2.840.113549.1.12.3.5":"PKCS-12-pkcs","1.2.840.113549.1.12.4":"PKCS-12-Cert Bag ID","1.2.840.113549.1.12.4.1":"PKCS-12-x509 Cert CRL Bag I Dformerly assigned as pkcs-12-x509 Cert CRL Bag","1.2.840.113549.1.12.4.2":"PKCS-12-SDSI Cert Bag I Dformerly assigned as pkcs-12-SDSI Cert Bag","1.2.840.113549.1.12.5":"PKCS-12-OID","1.2.840.113549.1.12.5.1":"PKCS-12-PBEI Dthe partially compatible (128401135491121) OIDs instead","1.2.840.113549.1.12.5.1.1":"PKCS-12-PBE with SHA1 And128 Bit RC4use (1284011354911211) instead","1.2.840.113549.1.12.5.1.2":"PKCS-12-PBE with SHA1 And40 Bit RC4use (1284011354911212) instead","1.2.840.113549.1.12.5.1.3":"PKCS-12-PBE with SHA1 And Triple DESCB Cuse the incompatible but similar (1284011354911213) or (1284011354911214) instead","1.2.840.113549.1.12.5.1.4":"PKCS-12-PBE with SHA1 And128 Bit RC2CB Cuse (1284011354911215) instead","1.2.840.113549.1.12.5.1.5":"PKCS-12-PBE with SHA1 And40 Bit RC2CB Cuse (1284011354911216) instead","1.2.840.113549.1.12.5.1.6":"PKCS-12-PBE with SHA1 And RC4use the incompatible but similar (1284011354911211) or (1284011354911212) instead","1.2.840.113549.1.12.5.1.7":"PKCS-12-PBE with SHA1 And RC2CB Cuse the incompatible but similar (1284011354911215) or (1284011354911216) instead","1.2.840.113549.1.12.5.2":"PKCS-12-Enveloping I Dthe conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.1":"PKCS-12-RSA Encryption With128 Bit RC4use the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.2":"PKCS-12-RSA Encryption With40 Bit RC4use the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.3":"PKCS-12-RSA Encryption with Triple DESuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.3":"PKCS-12-Signature IDuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.3.1":"PKCS-12-RSA Signature with SHA1 Digestuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.10":"PKCS-12 Version1","1.2.840.113549.1.12.10.1":"PKCS-12 Bad Ids","1.2.840.113549.1.12.10.1.1":"PKCS-12-key Bag","1.2.840.113549.1.12.10.1.2":"PKCS-12-pkcs","1.2.840.113549.1.12.10.1.3":"PKCS-12-cert Bag","1.2.840.113549.1.12.10.1.4":"PKCS-12-crl Bag","1.2.840.113549.1.12.10.1.5":"PKCS-12-secret Bag","1.2.840.113549.1.12.10.1.6":"PKCS-12-safe Contents Bag","1.2.840.113549.1.15.1":"PKCS15modules","1.2.840.113549.1.15.2":"PKCS15attributes","1.2.840.113549.1.15.3":"PKCS15content Type","1.2.840.113549.1.15.3.1":"PKCS15content","1.2.840.113549.2":"Digest Algorithm","1.2.840.113549.2.2":"MD2","1.2.840.113549.2.4":"MD4","1.2.840.113549.2.5":"MD5","1.2.840.113549.2.7":"HMAC with SHA1","1.2.840.113549.2.8":"HMAC with SHA224","1.2.840.113549.2.9":"HMAC with SHA256","1.2.840.113549.2.10":"HMAC with SHA384","1.2.840.113549.2.11":"HMAC with SHA512","1.2.840.113549.3":"Encryption Algorithm","1.2.840.113549.3.2":"Rc2CBC","1.2.840.113549.3.3":"Rc2ECB","1.2.840.113549.3.4":"Rc4","1.2.840.113549.3.5":"Rc4 with MAC","1.2.840.113549.3.6":"Desx-CBC","1.2.840.113549.3.7":"Des-EDE3-CBC","1.2.840.113549.3.8":"Rc5CBC","1.2.840.113549.3.9":"Rc5-CBCPad","1.2.840.113549.3.10":"DesCDMF","1.2.840.113556.1.2.241":"Delivery Mechanism","1.2.840.113556.1.2.281":"Nt Security Descriptor","1.2.840.113556.1.3.0":"Site-Addressing","1.2.840.113556.1.3.13":"Class Schema","1.2.840.113556.1.3.14":"Attribute Schema","1.2.840.113556.1.3.17":"Mailbox- Agent","1.2.840.113556.1.3.22":"Mailbox","1.2.840.113556.1.3.23":"Container","1.2.840.113556.1.3.46":"Mail Recipient","1.2.840.113556.1.4.145":"Revision","1.2.840.113556.1.4.1327":"PKI Default Key Spec","1.2.840.113556.1.4.1328":"PKI Key Usage","1.2.840.113556.1.4.1329":"PKI Max Issuing Depth","1.2.840.113556.1.4.1330":"PKI Critical Extensions","1.2.840.113556.1.4.1331":"PKI Expiration Period","1.2.840.113556.1.4.1332":"PKI Overlap Period","1.2.840.113556.1.4.1333":"PKI Extended Key Usage","1.2.840.113556.1.4.1334":"PKI Default CSPs","1.2.840.113556.1.4.1335":"PKI Enrollment Access","1.2.840.113556.1.4.1429":"MsPKI-RA-Signature","1.2.840.113556.1.4.1430":"MsPKI-Enrollment-Flag","1.2.840.113556.1.4.1431":"MsPKI-Private-Key","1.2.840.113556.1.4.1432":"MsPKI-Certificate-Name","1.2.840.113556.1.4.1433":"MsPKI-Minimal-Key","1.2.840.113556.1.4.1434":"MsPKI-Template-Schema","1.2.840.113556.1.4.1435":"MsPKI-Template-Minor","1.2.840.113556.1.4.1436":"MsPKI-Cert-Template","1.2.840.113556.1.4.1437":"MsPKI-Supersede-Templates","1.2.840.113556.1.4.1438":"MsPKI-RA-Policies","1.2.840.113556.1.4.1439":"MsPKI-Certificate-Policy","1.2.840.113556.1.4.1674":"MsPKI-Certificate-Application","1.2.840.113556.1.4.1675":"MsPKI-R A- Application","1.2.840.113556.4.3":"Microsoft Excel","1.2.840.113556.4.4":"Titled with OID","1.2.840.113556.4.5":"Microsoft Power Point","1.2.840.113583.1":"Adobe Acrobat","1.2.840.113583.1.1":"Acrobat Security","1.2.840.113583.1.1.1":"PDF Password","1.2.840.113583.1.1.2":"PDF Default Signing Credential","1.2.840.113583.1.1.3":"PDF Default Encryption Credential","1.2.840.113583.1.1.4":"PDF Password Timeout","1.2.840.113583.1.1.5":"PDF Authentic Documents Trust","1.2.840.113583.1.1.6":"PDF Dynamic Content Trust","1.2.840.113583.1.1.7":"PDF Ubiquity Trust","1.2.840.113583.1.1.8":"PDF Revocation Info Archival","1.2.840.113583.1.1.9":"PDF x509 Extension","1.2.840.113583.1.1.9.1":"Adobe Time-stamp","1.2.840.113583.1.1.9.2":"Adobe Archive Rev Info","1.2.840.113583.1.1.10":"PDF PPLK Lite Credential","1.2.840.113583.1.2.":"Acrobat CPS","1.2.840.113583.1.2.1":"PDF Authentic Documents CPS","1.2.840.113583.1.2.2":"PDF Test CPS","1.2.840.113583.1.2.3":"PDF Ubiquity CPS","1.2.840.113583.1.2.4":"PDF Adhoc CPS","1.2.840.113583.1.7":"Acrobat Ubiquity","1.2.840.113583.1.7.1":"PDF Ubiquity Sub Rights","1.2.840.113583.1.9":"Acrobat Extension","1.2.840.113628.114.1.7":"Adobe PKCS7","1.2.840.113635.100":"Apple Data Security","1.2.840.113635.100.1":"Apple Trust Policy","1.2.840.113635.100.1.1":"Apple I Sign TP","1.2.840.113635.100.1.2":"Apple x509 Basic","1.2.840.113635.100.1.3":"Apple SSL Policy","1.2.840.113635.100.1.4":"Apple Local Cert Gen Policy","1.2.840.113635.100.1.5":"Apple CSR Gen Policy","1.2.840.113635.100.1.6":"Apple CRL Policy","1.2.840.113635.100.1.7":"Apple OCSP Policy","1.2.840.113635.100.1.8":"Apple SMIME Policy","1.2.840.113635.100.1.9":"Apple EAP Policy","1.2.840.113635.100.1.10":"Apple SW Update Signing Policy","1.2.840.113635.100.1.11":"Apple IPSec Policy","1.2.840.113635.100.1.12":"Apple IChat Policy","1.2.840.113635.100.1.13":"Apple Resource Sign Policy","1.2.840.113635.100.1.14":"Apple PKINIT Client Policy","1.2.840.113635.100.1.15":"Apple PKINIT Server Policy","1.2.840.113635.100.1.16":"Apple Code Signing Policy","1.2.840.113635.100.1.17":"Apple Package Signing Policy","1.2.840.113635.100.2":"Apple Security Algorithm","1.2.840.113635.100.2.1":"Apple FEE","1.2.840.113635.100.2.2":"Apple ASC","1.2.840.113635.100.2.3":"Apple FEE_MD5","1.2.840.113635.100.2.4":"Apple FEE_SHA1","1.2.840.113635.100.2.5":"Apple FEED","1.2.840.113635.100.2.6":"Apple FEEDEXP","1.2.840.113635.100.2.7":"Apple ECDSA","1.2.840.113635.100.3":"Apple Dot Mac Certificate","1.2.840.113635.100.3.1":"Apple Dot Mac Certificate Request","1.2.840.113635.100.3.2":"Apple Dot Mac Certificate Extension","1.2.840.113635.100.3.3":"Apple Dot Mac Certificate Request Values","1.2.840.113635.100.4":"Apple Extended Key Usage","1.2.840.113635.100.4.1":"Apple Code Signing","1.2.840.113635.100.4.1.1":"Apple Code Signing Development","1.2.840.113635.100.4.1.2":"Apple Software Update Signing","1.2.840.113635.100.4.1.3":"Apple Code Signing Third Party","1.2.840.113635.100.4.1.4":"Apple Resource Signing","1.2.840.113635.100.4.2":"Apple I Chat Signing","1.2.840.113635.100.4.3":"Apple I Chat Encryption","1.2.840.113635.100.4.4":"Apple System Identity","1.2.840.113635.100.4.5":"Apple Crypto Env","1.2.840.113635.100.4.5.1":"Apple Crypto Production Env","1.2.840.113635.100.4.5.2":"Apple Crypto Maintenance Env","1.2.840.113635.100.4.5.3":"Apple Crypto Test Env","1.2.840.113635.100.4.5.4":"Apple Crypto Development Env","1.2.840.113635.100.4.6":"Apple Crypto Qo S","1.2.840.113635.100.4.6.1":"Apple Crypto Tier0 QoS","1.2.840.113635.100.4.6.2":"Apple Crypto Tier1 QoS","1.2.840.113635.100.4.6.3":"Apple Crypto Tier2 QoS","1.2.840.113635.100.4.6.4":"Apple Crypto Tier3 QoS","1.2.840.113635.100.4.7":"Apple ID Sharing Certificate","1.2.840.113635.100.5":"Apple Certificate Policies","1.2.840.113635.100.5.1":"Apple Certificate Policy ID","1.2.840.113635.100.5.2":"Apple Dot Mac Certificate Policy ID","1.2.840.113635.100.5.3":"Apple ADC Certificate Policy ID","1.2.840.113635.100.5.7.1":"Apple ID Sharing Certificate Policy","1.2.840.113635.100.6":"Apple Certificate Extensions","1.2.840.113635.100.6.1":"Apple Certificate Extension Code Signing","1.2.840.113635.100.6.1.1":"Apple Certificate Extension Apple Signing","1.2.840.113635.100.6.1.2":"Apple Certificate Extension ADC Developer Signing","1.2.840.113635.100.6.1.3":"Apple Certificate Extension ADC Apple Signing","1.2.840.113635.100.6.2.3":"Apple Application Integration","1.2.840.114021.1.6.1":"Identrus unknown policy Identifier","1.2.840.114021.4.1":"Identrus OCSP","1.3.6.1.4.1.188.7.1.1":"Ascom","1.3.6.1.4.1.188.7.1.1.1":"Idea ECB","1.3.6.1.4.1.188.7.1.1.2":"Idea CBC","1.3.6.1.4.1.188.7.1.1.3":"Idea CFB","1.3.6.1.4.1.188.7.1.1.4":"Idea OFB","1.3.6.1.4.1.311.2.1.4":"Spc Indirect Data Context","1.3.6.1.4.1.311.2.1.10":"Spc Agency Info","1.3.6.1.4.1.311.2.1.11":"Spc Statement Type","1.3.6.1.4.1.311.2.1.12":"Spc Sp Opus Info","1.3.6.1.4.1.311.2.1.14":"Cert Req Extensions","1.3.6.1.4.1.311.2.1.15":"Spc P E Image Data","1.3.6.1.4.1.311.2.1.18":"Spc Raw File Data","1.3.6.1.4.1.311.2.1.19":"Spc Structured Storage Data","1.3.6.1.4.1.311.2.1.20":"Spc Java ClassData (type 1extension',aka 'Glue extension)","1.3.6.1.4.1.311.2.1.21":"Individual Code Signing","1.3.6.1.4.1.311.2.1.22":"Commercial Code Signing","1.3.6.1.4.1.311.2.1.25":"Spc Link (type 2as 'Glue extension)","1.3.6.1.4.1.311.2.1.26":"Spc Minimal Criteria Info","1.3.6.1.4.1.311.2.1.27":"Spc Financial Criteria Info","1.3.6.1.4.1.311.2.1.28":"SpcLink (type 3as 'Glue extension)","1.3.6.1.4.1.311.2.1.29":"Spc Hash Info Obj ID","1.3.6.1.4.1.311.2.1.30":"Spc Sip Info Obj ID","1.3.6.1.4.1.311.2.2":"Ctl","1.3.6.1.4.1.311.2.2.1":"Ctl Trusted Codesigning CAList","1.3.6.1.4.1.311.2.2.2":"Ctl Trusted Client Auth CAList","1.3.6.1.4.1.311.2.2.3":"Ctl Trusted Server Auth CAList","1.3.6.1.4.1.311.3.2.1":"Timestamp Request","1.3.6.1.4.1.311.10.1":"Cert Trust List","1.3.6.1.4.1.311.10.1.1":"Sorted Ctl","1.3.6.1.4.1.311.10.2":"Next Update Location","1.3.6.1.4.1.311.10.3.1":"Cert Trust List Signing","1.3.6.1.4.1.311.10.3.2":"Time Stamp Signing","1.3.6.1.4.1.311.10.3.3":"Server Gated Crypto","1.3.6.1.4.1.311.10.3.3.1":"Serialized","1.3.6.1.4.1.311.10.3.4":"Encrypted File System","1.3.6.1.4.1.311.10.3.4.1":"Efs Recovery","1.3.6.1.4.1.311.10.3.5":"Whql Crypto","1.3.6.1.4.1.311.10.3.6":"Nt5 Crypto","1.3.6.1.4.1.311.10.3.7":"Oem WHQL Crypto","1.3.6.1.4.1.311.10.3.8":"Embedded NT Crypto","1.3.6.1.4.1.311.10.3.9":"Root List Signer","1.3.6.1.4.1.311.10.3.10":"Qualified Subordination","1.3.6.1.4.1.311.10.3.11":"Key Recovery","1.3.6.1.4.1.311.10.3.12":"Document Signing","1.3.6.1.4.1.311.10.3.13":"Lifetime Signing","1.3.6.1.4.1.311.10.3.14":"Mobile Device Software","1.3.6.1.4.1.311.10.3.15":"Smart Display","1.3.6.1.4.1.311.10.3.16":"Csp Signature","1.3.6.1.4.1.311.10.4.1":"yesno Trust Attr","1.3.6.1.4.1.311.10.5.1":"Drm","1.3.6.1.4.1.311.10.5.2":"Drm Individualization","1.3.6.1.4.1.311.10.6.1":"Licenses","1.3.6.1.4.1.311.10.6.2":"License Server","1.3.6.1.4.1.311.10.7.1":"Keyid Rdn","1.3.6.1.4.1.311.10.8.1":"Remove Certificate","1.3.6.1.4.1.311.10.9.1":"Cross Cert Dist Points","1.3.6.1.4.1.311.10.10.1":"Cmc Add Attributes","1.3.6.1.4.1.311.10.11":"Cert Prop Id Prefix","1.3.6.1.4.1.311.10.11.4":"Cert Md5 Hash Prop Id","1.3.6.1.4.1.311.10.11.20":"Cert Key Identifier Prop Id","1.3.6.1.4.1.311.10.11.28":"Cert Issuer Serial Number Md5 Hash Prop Id","1.3.6.1.4.1.311.10.11.29":"Cert Subject Name MD5 Hash Prop Id","1.3.6.1.4.1.311.10.12.1":"Any Application Policy","1.3.6.1.4.1.311.12":"Catalog","1.3.6.1.4.1.311.12.1.1":"Catalog List","1.3.6.1.4.1.311.12.1.2":"Catalog List Member","1.3.6.1.4.1.311.12.2.1":"Catalog Name Value Obj ID","1.3.6.1.4.1.311.12.2.2":"Catalog Member Info Obj ID","1.3.6.1.4.1.311.13.1":"Renewal Certificate","1.3.6.1.4.1.311.13.2.1":"Enrolment Name Value Pair","1.3.6.1.4.1.311.13.2.2":"Enrolment CSP","1.3.6.1.4.1.311.13.2.3":"Os Version","1.3.6.1.4.1.311.16.4":"Microsoft Recipient Info","1.3.6.1.4.1.311.17.1":"PKCS12 Key Provider Name Attr","1.3.6.1.4.1.311.17.2":"Local Machine Keyset","1.3.6.1.4.1.311.17.3":"PKCS12 Extended Attributes","1.3.6.1.4.1.311.20.1":"Auto Enroll Ctl Usage","1.3.6.1.4.1.311.20.2":"Microsoft Certificate Type","1.3.6.1.4.1.311.20.2.1":"Enrollment Agent","1.3.6.1.4.1.311.20.2.2":"Smartcard Logon","1.3.6.1.4.1.311.20.2.3":"NP Principal Name","1.3.6.1.4.1.311.20.3":"Cert Manifold","1.3.6.1.4.1.311.21.1":"Microsoft Certification Authority Renewal","1.3.6.1.4.1.311.21.2":"Microsoft Certificate Previous Hash","1.3.6.1.4.1.311.21.3":"CRL Virtual Base","1.3.6.1.4.1.311.21.4":"CRL Next Publish","1.3.6.1.4.1.311.21.5":"Ca Exchange","1.3.6.1.4.1.311.21.6":"Key Recovery","1.3.6.1.4.1.311.21.7":"Microsoft Certificate Template","1.3.6.1.4.1.311.21.8":"Enterprize OID Root","1.3.6.1.4.1.311.21.9":"Rdn Dummy Signer","1.3.6.1.4.1.311.21.10":"Microsoft Certificate Policies","1.3.6.1.4.1.311.21.11":"Application Policy Mappings","1.3.6.1.4.1.311.21.12":"Application Policy Constraints","1.3.6.1.4.1.311.21.13":"Archived Key","1.3.6.1.4.1.311.21.14":"CRL Self CDP","1.3.6.1.4.1.311.21.15":"Require Cert Chain Policy","1.3.6.1.4.1.311.21.16":"Archived Key Cert Hash","1.3.6.1.4.1.311.21.17":"Issued Cert Hash","1.3.6.1.4.1.311.21.19":"DS Email Replication","1.3.6.1.4.1.311.21.20":"Request Client Info","1.3.6.1.4.1.311.21.21":"Encrypted Key Hash","1.3.6.1.4.1.311.21.22":"Certsrv Cross CA Version","1.3.6.1.4.1.311.25.1":"Ntds Replication","1.3.6.1.4.1.311.31.1":"Product Update","1.3.6.1.4.1.311.47.1.1":"System Health","1.3.6.1.4.1.311.47.1.3":"System Health Loophole","1.3.6.1.4.1.311.60.1.1":"Root Program Flags","1.3.6.1.4.1.311.60.2.1.1":"Jurisdiction Of Incorporation L","1.3.6.1.4.1.311.60.2.1.2":"Jurisdiction Of Incorporation SP","1.3.6.1.4.1.311.60.2.1.3":"Jurisdiction Of Incorporation C","1.3.6.1.4.1.311.61.1.1":"Kernel Mode Code Signing","1.3.6.1.4.1.311.84.1.1":"ASP.NET HTTPS Development certificate","1.3.6.1.4.1.311.88":"CAPICOM","1.3.6.1.4.1.311.88.1":"CAPICOM version","1.3.6.1.4.1.311.88.2":"CAPICOM attribute","1.3.6.1.4.1.311.88.2.1":"Document type attribute","1.3.6.1.4.1.311.88.2.2":"Document description attribute","1.3.6.1.4.1.311.88.3":"CAPICOM encrypted data message","1.3.6.1.4.1.311.88.3.1":"CAPICOM content of encrypted data","1.3.6.1.4.1.782.1.2.1.8.1":"Network Solutions EV policy","1.3.6.1.4.1.2428.10.1.1":"UNINETT policy Identifier","1.3.6.1.4.1.2712.10":"ICE-TEL policy Identifier","1.3.6.1.4.1.2786.1.1.1":"ICE-TEL Italian","1.3.6.1.4.1.3029.1.1.1":"Blowfish ECB","1.3.6.1.4.1.3029.1.1.2":"Blowfish CBC","1.3.6.1.4.1.3029.1.1.3":"Blowfish CFB","1.3.6.1.4.1.3029.1.1.4":"Blowfish OFB","1.3.6.1.4.1.3029.1.2.1":"Elgamal","1.3.6.1.4.1.3029.1.2.1.1":"Elgamal with SHA-1","1.3.6.1.4.1.3029.1.2.1.2":"Elgamal with RIPEMD-160","1.3.6.1.4.1.3029.3.1.1":"Cryptlib Presence Check","1.3.6.1.4.1.3029.3.1.2":"Pki Boot","1.3.6.1.4.1.3029.3.1.4":"CRL Ext Reason","1.3.6.1.4.1.3029.3.1.5":"Key Features","1.3.6.1.4.1.3029.4.1":"Cryptlib Content","1.3.6.1.4.1.3029.4.1.1":"Cryptlib Config Data","1.3.6.1.4.1.3029.4.1.2":"Cryptlib User Index","1.3.6.1.4.1.3029.4.1.3":"Cryptlib User Info","1.3.6.1.4.1.3029.4.1.4":"Rtcs Request","1.3.6.1.4.1.3029.4.1.5":"Rtcs Response","1.3.6.1.4.1.3029.4.1.6":"Rtcs Response Ext","1.3.6.1.4.1.3029.42.11172.1":"Mpeg-1","1.3.6.1.4.1.3029.54.11940.54":"TSA policy 'Anythingpolicy","1.3.6.1.4.1.3029.88.89.90.90.89":"XYZZY policy Identifier","1.3.6.1.4.1.3401.8.1.1":"Pgp Extension","1.3.6.1.4.1.3576.7":"Ecia Asc X12 Edi","1.3.6.1.4.1.3576.7.1":"Plain ED Imessage","1.3.6.1.4.1.3576.7.2":"Signed ED Imessage","1.3.6.1.4.1.3576.7.5":"Integrity ED Imessage","1.3.6.1.4.1.3576.7.65":"Ia Receipt Message","1.3.6.1.4.1.3576.7.97":"Ia Status Message","1.3.6.1.4.1.3576.8":"Ecia Edifact","1.3.6.1.4.1.3576.9":"Ecia Non Edi","1.3.6.1.4.1.4146":"GlobalSign","1.3.6.1.4.1.4146.1":"GlobalSign Policy","1.3.6.1.4.1.4146.1.1":"GlobalSign EV policy","1.3.6.1.4.1.4146.1.10":"GlobalSign DV Policy","1.3.6.1.4.1.4146.1.20":"GlobalSign OV Policy","1.3.6.1.4.1.4146.1.30":"GlobalSign TSA Policy","1.3.6.1.4.1.4146.1.40":"GlobalSign Client Certificates Policy","1.3.6.1.4.1.4146.1.40.10":"GlobalSign Client Certificates Enterprise PKI Policy","1.3.6.1.4.1.4146.1.50":"GlobalSign Code Signing Certificates Policy","1.3.6.1.4.1.4146.1.60":"GlobalSign Root Sign Policy","1.3.6.1.4.1.4146.1.70":"GlobalSign Trusted Root Policy","1.3.6.1.4.1.4146.1.80":"GlobalSign EDI Client Policy","1.3.6.1.4.1.4146.1.81":"GlobalSign EDI Server Policy","1.3.6.1.4.1.4146.1.90":"GlobalSign TPM Root Policy","1.3.6.1.4.1.4146.1.95":"GlobalSign OCSP Policy","1.3.6.1.4.1.41482.3.3":"YubiKey Firmware Version","1.3.6.1.4.1.41482.3.7":"YubiKey Serial Number","1.3.6.1.4.1.41482.3.8":"YubiKey PIN Touch Policy","1.3.6.1.4.1.41482.3.9":"YubiKey Formfactor","1.3.6.1.4.1.4788.2.202.1":"D-TRUSTEV policy","1.3.6.1.4.1.5309.1":"Edel Web Policy","1.3.6.1.4.1.5309.1.2":"Edel Web Customer Policy","1.3.6.1.4.1.5309.1.2.1":"Edel Web Clepsydre Policy","1.3.6.1.4.1.5309.1.2.2":"Edel Web Experimental TSA Policy","1.3.6.1.4.1.5309.1.2.3":"Edel Web Open Evidence TSA Policy","1.3.6.1.4.1.53087.1.3":"Trademark Country Or Region Name","1.3.6.1.4.1.53087.1.4":"Trademark Registration Number","1.3.6.1.4.1.53087.1.6":"Word Mark","1.3.6.1.4.1.5472":"Timeproof","1.3.6.1.4.1.5472.1":"TSS","1.3.6.1.4.1.5472.1.1":"TSS80","1.3.6.1.4.1.5472.1.2":"TSS380","1.3.6.1.4.1.5472.1.3":"TSS400","1.3.6.1.4.1.5770.0.3":"Secondary Practices","1.3.6.1.4.1.5770.0.4":"Physician Identifiers","1.3.6.1.4.1.6334.1.100.1":"Cybertrust EV policy","1.3.6.1.4.1.6449.1.2.1.3.1":"Comodo Policy","1.3.6.1.4.1.6449.1.2.1.5.1":"Comodo EV policy","1.3.6.1.4.1.6449.1.2.2.7":"Comodo TLS DV","1.3.6.1.4.1.6449.1.2.2.15":"Wotrust Policy","1.3.6.1.4.1.6449.1.3.5.2":"Comodo Certified Delivery Service","1.3.6.1.4.1.6449.2.1.1":"Comodo Timestamping Policy","1.3.6.1.4.1.7879.13.24.1":"T-Tele Sec EV policy","1.3.6.1.4.1.8024.0.2.100.1.2":"QuoVadis EV policy","1.3.6.1.4.1.8231.1":"Rol Unico Nacional","1.3.6.1.4.1.8301.3.5.1":"alidity Model Chain","1.3.6.1.4.1.8301.3.5.2":"alidity Model Shell","1.3.6.1.4.1.11129.2.4.2":"Certificate Transparency","1.3.6.1.4.1.11591":"Gnu","1.3.6.1.4.1.11591.1":"Gnu Radius","1.3.6.1.4.1.11591.3":"Gnu Radar","1.3.6.1.4.1.11591.12":"Gnu Digest Algorithm","1.3.6.1.4.1.11591.12.2":"Tiger","1.3.6.1.4.1.11591.13":"Gnu Encryption Algorithm","1.3.6.1.4.1.11591.13.2":"Serpent","1.3.6.1.4.1.11591.13.2.1":"Serpent128_ECB","1.3.6.1.4.1.11591.13.2.2":"Serpent128_CBC","1.3.6.1.4.1.11591.13.2.3":"Serpent128_OFB","1.3.6.1.4.1.11591.13.2.4":"Serpent128_CFB","1.3.6.1.4.1.11591.13.2.21":"Serpent192_ECB","1.3.6.1.4.1.11591.13.2.22":"Serpent192_CBC","1.3.6.1.4.1.11591.13.2.23":"Serpent192_OFB","1.3.6.1.4.1.11591.13.2.24":"Serpent192_CFB","1.3.6.1.4.1.11591.13.2.41":"Serpent256_ECB","1.3.6.1.4.1.11591.13.2.42":"Serpent256_CBC","1.3.6.1.4.1.11591.13.2.43":"Serpent256_OFB","1.3.6.1.4.1.11591.13.2.44":"Serpent256_CFB","1.3.6.1.4.1.14370.1.6":"Geo Trust EV policy","1.3.6.1.4.1.14777.6.1.1":"Izenpe EV policy","1.3.6.1.4.1.14777.6.1.2":"Izenpe EV policy","1.3.6.1.4.1.16334.509.1.1":"Northrop Grumman ext Key Usage?","1.3.6.1.4.1.16334.509.2.1":"Ngc Class1","1.3.6.1.4.1.16334.509.2.2":"Ngc Class2","1.3.6.1.4.1.16334.509.2.3":"Ngc Class3","1.3.6.1.4.1.17326.10.8.12.1.2":"Camerfirma EV policy","1.3.6.1.4.1.17326.10.14.2.1.2":"Camerfirma EV policy","1.3.6.1.4.1.22234.2.5.2.3.1":"Cert Plus EV policy","1.3.6.1.4.1.23223.1.1.1":"Start Com EV policy","1.3.6.1.4.1.23629.1.4.2.1.1":"Safenet Usage Limit","1.3.6.1.4.1.23629.1.4.2.1.2":"Safenet End Date","1.3.6.1.4.1.23629.1.4.2.1.3":"Safenet Start Date","1.3.6.1.4.1.23629.1.4.2.1.4":"Safenet Admin Cert","1.3.6.1.4.1.23629.1.4.2.2.1":"Safenet Key Digest","1.3.6.1.4.1.34697.2.1":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.2":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.3":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.4":"Affirm Trust EV policy","1.3.6.1.4.1.40869.1.1.22.3":"TWCAEV policy","1.3.6.1.4.1.13177.10.1.2.2":"Corporate certificates for Natural Person","1.3.6.1.5.2.3.5":"KCD Authentication","1.3.6.1.5.5.7":"PKIX","1.3.6.1.5.5.7.0.12":"Attribute Cert","1.3.6.1.5.5.7.1":"Private Extension","1.3.6.1.5.5.7.1.1":"Certificate Authority Information Access","1.3.6.1.5.5.7.1.2":"Biometric Info","1.3.6.1.5.5.7.1.3":"Qualified Certificate Statements","1.3.6.1.5.5.7.1.4":"Ac Audit Identity","1.3.6.1.5.5.7.1.5":"Ac Targeting","1.3.6.1.5.5.7.1.6":"Ac Aa Controls","1.3.6.1.5.5.7.1.7":"Ip Addr Blocks","1.3.6.1.5.5.7.1.8":"Autonomous Sys Ids","1.3.6.1.5.5.7.1.9":"Router Identifier","1.3.6.1.5.5.7.1.10":"Ac Proxying","1.3.6.1.5.5.7.1.11":"Subject Info Access","1.3.6.1.5.5.7.1.12":"Logo Type","1.3.6.1.5.5.7.1.13":"Wlan SSID","1.3.6.1.5.5.7.1.26":"Telephone Number Authorization List","1.3.6.1.5.5.7.2":"Policy Qualifier Ids","1.3.6.1.5.5.7.2.1":"Certificate Policy Statement","1.3.6.1.5.5.7.2.2":"User Notice","1.3.6.1.5.5.7.2.3":"Text Notice","1.3.6.1.5.5.7.3":"Key Purpose","1.3.6.1.5.5.7.3.1":"Server Authentication","1.3.6.1.5.5.7.3.2":"Client Authentication","1.3.6.1.5.5.7.3.3":"Code Signing","1.3.6.1.5.5.7.3.4":"Email Protection","1.3.6.1.5.5.7.3.5":"Ipsec End System","1.3.6.1.5.5.7.3.6":"Ipsec Tunnel","1.3.6.1.5.5.7.3.7":"Ipsec User","1.3.6.1.5.5.7.3.8":"Time Stamping","1.3.6.1.5.5.7.3.9":"OCSP Signing","1.3.6.1.5.5.7.3.10":"DVCS","1.3.6.1.5.5.7.3.11":"Sbgp Cert AA Server Auth","1.3.6.1.5.5.7.3.13":"Eap Over PPP","1.3.6.1.5.5.7.3.14":"Eap Over LAN","1.3.6.1.5.5.7.3.31":"Brand Indicator for Message Identification","1.3.6.1.5.5.7.4":"Cmp Information Types","1.3.6.1.5.5.7.4.1":"Ca Prot Enc Cert","1.3.6.1.5.5.7.4.2":"Sign Key Pair Types","1.3.6.1.5.5.7.4.3":"Enc Key Pair Types","1.3.6.1.5.5.7.4.4":"Preferred Symm Alg","1.3.6.1.5.5.7.4.5":"CA Key Update Info","1.3.6.1.5.5.7.4.6":"Current CRL","1.3.6.1.5.5.7.4.7":"Unsupported OIDs","1.3.6.1.5.5.7.4.10":"Key Pair Param Req","1.3.6.1.5.5.7.4.11":"Key Pair Param Rep","1.3.6.1.5.5.7.4.12":"Rev Passphrase","1.3.6.1.5.5.7.4.13":"Implicit Confirm","1.3.6.1.5.5.7.4.14":"Confirm Wait Time","1.3.6.1.5.5.7.4.15":"Orig PKI Message","1.3.6.1.5.5.7.4.16":"Supp Lang Tags","1.3.6.1.5.5.7.5":"Crmf Registration","1.3.6.1.5.5.7.5.1":"Reg Ctrl","1.3.6.1.5.5.7.5.1.1":"Reg Token","1.3.6.1.5.5.7.5.1.2":"Authenticator","1.3.6.1.5.5.7.5.1.3":"Pki Publication Info","1.3.6.1.5.5.7.5.1.4":"Pki Archive Options","1.3.6.1.5.5.7.5.1.5":"Old Cert ID","1.3.6.1.5.5.7.5.1.6":"Protocol Encr Key","1.3.6.1.5.5.7.5.1.7":"Alt Cert Template","1.3.6.1.5.5.7.5.1.8":"Wtls Template","1.3.6.1.5.5.7.5.2":"Utf8 Pairs","1.3.6.1.5.5.7.5.2.1":"Utf8 Pairs","1.3.6.1.5.5.7.5.2.2":"Cert Req","1.3.6.1.5.5.7.6":"Algorithms","1.3.6.1.5.5.7.6.1":"Des40","1.3.6.1.5.5.7.6.2":"No Signature","1.3.6.1.5.5.7.6.3":"Dh-sig-hmac","1.3.6.1.5.5.7.6.4":"Dh-pop","1.3.6.1.5.5.7.7":"CMC Controls","1.3.6.1.5.5.7.8":"Other Names","1.3.6.1.5.5.7.8.1":"Personal Data","1.3.6.1.5.5.7.8.2":"User Group","1.3.6.1.5.5.7.8.5":"Xmpp Addr","1.3.6.1.5.5.7.9":"Personal Data","1.3.6.1.5.5.7.9.1":"Date Of Birth","1.3.6.1.5.5.7.9.2":"Place Of Birth","1.3.6.1.5.5.7.9.3":"Gender","1.3.6.1.5.5.7.9.4":"Country Of Citizenship","1.3.6.1.5.5.7.9.5":"Country Of Residence","1.3.6.1.5.5.7.10":"Attribute Certificate","1.3.6.1.5.5.7.10.1":"Authentication Info","1.3.6.1.5.5.7.10.2":"Access Identity","1.3.6.1.5.5.7.10.3":"Charging Identity","1.3.6.1.5.5.7.10.4":"Group","1.3.6.1.5.5.7.10.5":"Role","1.3.6.1.5.5.7.10.6":"Wlan SSID","1.3.6.1.5.5.7.11":"Personal Data","1.3.6.1.5.5.7.11.1":"Pkix QC Syntax v1","1.3.6.1.5.5.7.11.2":"Pkix QC Syntax v2","1.3.6.1.5.5.7.14.2":"Resource Certificate Policy","1.3.6.1.5.5.7.20":"Logo","1.3.6.1.5.5.7.20.1":"Logo Loyalty","1.3.6.1.5.5.7.20.2":"Logo Background","1.3.6.1.5.5.7.48.1":"OCSP","1.3.6.1.5.5.7.48.1.1":"OCSP Basic","1.3.6.1.5.5.7.48.1.2":"OCSP Nonce","1.3.6.1.5.5.7.48.1.3":"OCSP CRL","1.3.6.1.5.5.7.48.1.4":"OCSP Response","1.3.6.1.5.5.7.48.1.5":"OCSP No Check","1.3.6.1.5.5.7.48.1.6":"OCSP Archive Cutoff","1.3.6.1.5.5.7.48.1.7":"OCSP Service Locator","1.3.6.1.5.5.7.48.2":"CA Issuers","1.3.6.1.5.5.7.48.3":"Time Stamping","1.3.6.1.5.5.7.48.4":"DVCS","1.3.6.1.5.5.7.48.5":"CA Repository","1.3.6.1.5.5.7.48.7":"Signed Object Repository","1.3.6.1.5.5.7.48.10":"Rpki Manifest","1.3.6.1.5.5.7.48.11":"Signed Object","1.3.6.1.5.5.8.1.1":"HMAC MD5","1.3.6.1.5.5.8.1.2":"HMAC SHA","1.3.6.1.5.5.8.1.3":"HMAC Tiger","1.3.6.1.5.5.8.2.2":"IKE Intermediate","1.3.12.2.1011.7.1":"DEC Encryption Algorithm","1.3.12.2.1011.7.1.2":"DEC DEA","1.3.12.2.1011.7.2":"DEC Hash Algorithm","1.3.12.2.1011.7.2.1":"DECMD2","1.3.12.2.1011.7.2.2":"DECMD4","1.3.12.2.1011.7.3":"DEC Signature Algorithm","1.3.12.2.1011.7.3.1":"DEC MD2 with RSA","1.3.12.2.1011.7.3.2":"DEC MD4 with RSA","1.3.12.2.1011.7.3.3":"DEC DEAMAC","1.3.14.2.26.5":"SHA","1.3.14.3.2.1.1":"RSA","1.3.14.3.2.2":"MD4 with RSA","1.3.14.3.2.2.1":"Sqmod-N","1.3.14.3.2.3":"MD5 with RSA","1.3.14.3.2.3.1":"Sqmod-Nwith RSA","1.3.14.3.2.4":"MD4 with RSA Encryption","1.3.14.3.2.6":"DES ECB","1.3.14.3.2.7":"DES CBC","1.3.14.3.2.8":"DES OFB","1.3.14.3.2.9":"DES CFB","1.3.14.3.2.10":"DES MAC","1.3.14.3.2.11":"RSA Signature","1.3.14.3.2.12":"DSA","1.3.14.3.2.13":"DSA with SHA","1.3.14.3.2.14":"MDC2 with RSA Signature","1.3.14.3.2.15":"SHA with RSA Signature","1.3.14.3.2.16":"DH with Common Modulus","1.3.14.3.2.17":"Des EDE","1.3.14.3.2.18":"SHA","1.3.14.3.2.19":"MDC-2","1.3.14.3.2.20":"DSA Common","1.3.14.3.2.21":"DSA Common with SHA","1.3.14.3.2.22":"RSA Key Transport","1.3.14.3.2.23":"Keyed-hash-seal","1.3.14.3.2.24":"MD2 with RSA Signature","1.3.14.3.2.25":"MD5 with RSA Signature","1.3.14.3.2.26":"SHA1","1.3.14.3.2.27":"DSA with SHA1","1.3.14.3.2.28":"DSA with Common SHA1","1.3.14.3.2.29":"SHA-1 with RSA Encryption","1.3.14.3.3.1":"Simple-strong-auth","1.3.14.7.2.1.1":"El Gamal","1.3.14.7.2.3.1":"MD2 with RSA","1.3.14.7.2.3.2":"MD2 with El Gamal","1.3.36.1":"Document","1.3.36.1.1":"Final Version","1.3.36.1.2":"Draft","1.3.36.2":"Sio","1.3.36.2.1":"Sedu","1.3.36.3":"Algorithm","1.3.36.3.1":"Encryption Algorithm","1.3.36.3.1.1":"DES","1.3.36.3.1.1.1":"DES ECB_pad","1.3.36.3.1.1.1.1":"DES ECB_ISOpad","1.3.36.3.1.1.2.1":"DES CBC_pad","1.3.36.3.1.1.2.1.1":"DES CBC_ISOpad","1.3.36.3.1.2":"IDEA","1.3.36.3.1.2.1":"IDEA ECB","1.3.36.3.1.2.1.1":"IDEA ECB_pad","1.3.36.3.1.2.1.1.1":"IDEA ECB_ISOpad","1.3.36.3.1.2.2":"IDEA CBC","1.3.36.3.1.2.2.1":"IDEA CBC_pad","1.3.36.3.1.2.2.1.1":"IDEA CBC_ISOpad","1.3.36.3.1.2.3":"IDEA OFB","1.3.36.3.1.2.4":"IDEA CFB","1.3.36.3.1.3":"DES_3","1.3.36.3.1.3.1.1":"DES_3 ECB_pad","1.3.36.3.1.3.1.1.1":"DES_3 ECB_ISOpad","1.3.36.3.1.3.2.1":"DES_3 CBC_pad","1.3.36.3.1.3.2.1.1":"DES_3 CBC_ISOpad","1.3.36.3.1.4":"RSA Encryption","1.3.36.3.1.4.512.17":"RSA Encryption Withlmod512expe17","1.3.36.3.1.5":"BSI-1","1.3.36.3.1.5.1":"BSI_1 ECB_pad","1.3.36.3.1.5.2":"BSI_1 CBC_pad","1.3.36.3.1.5.2.1":"BSI_1 CBC_PEMpad","1.3.36.3.2":"Hash Algorithm","1.3.36.3.2.1":"Ripemd160","1.3.36.3.2.2":"Ripemd128","1.3.36.3.2.3":"Ripemd256","1.3.36.3.2.4":"Mdc2single Length","1.3.36.3.2.5":"Mdc2double Length","1.3.36.3.3":"Signature Algorithm","1.3.36.3.3.1":"RSA Signature","1.3.36.3.3.1.1":"RSA Signature WithSHA1","1.3.36.3.3.1.1.1024.11":"RSA Signature WithSHA1_l1024_l11","1.3.36.3.3.1.2":"RSA Signature Withripemd160","1.3.36.3.3.1.2.1024.11":"RSA Signature Withripemd160_l1024_l11","1.3.36.3.3.1.3":"RSA Signature Withrimpemd128","1.3.36.3.3.1.4":"RSA Signature Withrimpemd256","1.3.36.3.3.2":"Ecsie Sign","1.3.36.3.3.2.1":"Ecsie Sign WithSHA1","1.3.36.3.3.2.2":"Ecsie Sign Withripemd160","1.3.36.3.3.2.3":"Ecsie Sign Withmd2","1.3.36.3.3.2.4":"Ecsie Sign Withmd5","1.3.36.3.3.2.8.1.1.1":"Brainpool P160r1","1.3.36.3.3.2.8.1.1.2":"Brainpool P160t1","1.3.36.3.3.2.8.1.1.3":"Brainpool P192r1","1.3.36.3.3.2.8.1.1.4":"Brainpool P192t1","1.3.36.3.3.2.8.1.1.5":"Brainpool P224r1","1.3.36.3.3.2.8.1.1.6":"Brainpool P224t1","1.3.36.3.3.2.8.1.1.7":"Brainpool P256r1","1.3.36.3.3.2.8.1.1.8":"Brainpool P256t1","1.3.36.3.3.2.8.1.1.9":"Brainpool P320r1","1.3.36.3.3.2.8.1.1.10":"Brainpool P320t1","1.3.36.3.3.2.8.1.1.11":"Brainpool P384r1","1.3.36.3.3.2.8.1.1.12":"Brainpool P384t1","1.3.36.3.3.2.8.1.1.13":"Brainpool P512r1","1.3.36.3.3.2.8.1.1.14":"Brainpool P512t1","1.3.36.3.4":"Signature Scheme","1.3.36.3.4.1":"Sig S_ISO9796-1","1.3.36.3.4.2":"Sig S_ISO9796-2","1.3.36.3.4.2.1":"Sig S_ISO9796-2 with RED","1.3.36.3.4.2.2":"Sig S_ISO9796-2 with RSA","1.3.36.3.4.2.3":"Sig S_ISO9796-2 with RDN","1.3.36.4":"Attribute","1.3.36.5":"Policy","1.3.36.6":"Api","1.3.36.6.1":"Manufacturer-specific_api","1.3.36.6.1.1":"Utimaco-api","1.3.36.6.2":"Functionality-specific_api","1.3.36.7":"Keymgmnt","1.3.36.7.1":"Keyagree","1.3.36.7.1.1":"Bsi PKE","1.3.36.7.2":"Keytrans","1.3.36.7.2.1":"Enc ISO9796-2 Withrsa","1.3.36.8.1.1":"Teletrust Sig G Conform policy Identifier","1.3.36.8.2.1":"Directory Service","1.3.36.8.3.1":"Date Of Cert Gen","1.3.36.8.3.2":"Procuration","1.3.36.8.3.3":"Admission","1.3.36.8.3.4":"Monetary Limit","1.3.36.8.3.5":"Declaration Of Majority","1.3.36.8.3.6":"Integrated Circuit Card Serial Number","1.3.36.8.3.7":"PK Reference","1.3.36.8.3.8":"Restriction","1.3.36.8.3.9":"Retrieve If Allowed","1.3.36.8.3.10":"Requested Certificate","1.3.36.8.3.11":"Naming Authorities","1.3.36.8.3.11.1":"Recht Wirtschaft Steuern","1.3.36.8.3.11.1.1":"Rechtsanwaeltin","1.3.36.8.3.11.1.2":"Rechtsanwalt","1.3.36.8.3.11.1.3":"Rechts Beistand","1.3.36.8.3.11.1.4":"Steuer Beraterin","1.3.36.8.3.11.1.5":"Steuer Berater","1.3.36.8.3.11.1.6":"Steuer Bevollmaechtigte","1.3.36.8.3.11.1.7":"Steuer Bevollmaechtigter","1.3.36.8.3.11.1.8":"Notarin","1.3.36.8.3.11.1.9":"Notar","1.3.36.8.3.11.1.10":"Notar Vertreterin","1.3.36.8.3.11.1.11":"Notar Vertreter","1.3.36.8.3.11.1.12":"Notariats Verwalterin","1.3.36.8.3.11.1.13":"Notariats Verwalter","1.3.36.8.3.11.1.14":"Wirtschafts Prueferin","1.3.36.8.3.11.1.15":"Wirtschafts Pruefer","1.3.36.8.3.11.1.16":"ereidigte Buchprueferin","1.3.36.8.3.11.1.17":"ereidigter Buchpruefer","1.3.36.8.3.11.1.18":"Patent Anwaeltin","1.3.36.8.3.11.1.19":"Patent Anwalt","1.3.36.8.3.12":"Cert In Dir Since","1.3.36.8.3.13":"Cert Hash","1.3.36.8.3.14":"Name At Birth","1.3.36.8.3.15":"Additional Information","1.3.36.8.4.1":"Personal Data","1.3.36.8.4.8":"Restriction","1.3.36.8.5.1.1.1":"RSA Indicate SHA1","1.3.36.8.5.1.1.2":"RSA Indicate RIPEMD160","1.3.36.8.5.1.1.3":"RSA with SHA1","1.3.36.8.5.1.1.4":"RSA with RIPEMD160","1.3.36.8.5.1.2.1":"Dsa Extended","1.3.36.8.5.1.2.2":"Dsa with RIPEMD160","1.3.36.8.6.1":"Cert","1.3.36.8.6.2":"Cert Ref","1.3.36.8.6.3":"Attr Cert","1.3.36.8.6.4":"Attr Ref","1.3.36.8.6.5":"File Name","1.3.36.8.6.6":"Storage Time","1.3.36.8.6.7":"File Size","1.3.36.8.6.8":"Location","1.3.36.8.6.9":"Sig Number","1.3.36.8.6.10":"Auto Gen","1.3.36.8.7.1.1":"Pt Adobe ILL","1.3.36.8.7.1.2":"Pt Ami Pro","1.3.36.8.7.1.3":"Pt Auto CAD","1.3.36.8.7.1.4":"Pt Binary","1.3.36.8.7.1.5":"Pt BMP","1.3.36.8.7.1.6":"Pt CGM","1.3.36.8.7.1.7":"Pt Corel CRT","1.3.36.8.7.1.8":"Pt Corel DRW","1.3.36.8.7.1.9":"Pt Corel EXC","1.3.36.8.7.1.10":"Pt Corel PHT","1.3.36.8.7.1.11":"Pt Draw","1.3.36.8.7.1.12":"Pt DVI","1.3.36.8.7.1.13":"Pt EPS","1.3.36.8.7.1.14":"Pt Excel","1.3.36.8.7.1.15":"Pt GEM","1.3.36.8.7.1.16":"Pt GIF","1.3.36.8.7.1.17":"Pt HPGL","1.3.36.8.7.1.18":"Pt JPEG","1.3.36.8.7.1.19":"Pt Kodak","1.3.36.8.7.1.20":"Pt LaTeX","1.3.36.8.7.1.21":"Pt Lotus","1.3.36.8.7.1.22":"Pt Lotus PIC","1.3.36.8.7.1.23":"Pt Mac PICT","1.3.36.8.7.1.24":"Pt Mac Word","1.3.36.8.7.1.25":"Pt MSWfD","1.3.36.8.7.1.26":"Pt MSWord","1.3.36.8.7.1.27":"Pt MSWord2","1.3.36.8.7.1.28":"Pt MSWord6","1.3.36.8.7.1.29":"Pt MSWord8","1.3.36.8.7.1.30":"Pt PDF","1.3.36.8.7.1.31":"Pt PIF","1.3.36.8.7.1.32":"Pt Postscript","1.3.36.8.7.1.33":"Pt RTF","1.3.36.8.7.1.34":"Pt SCITEX","1.3.36.8.7.1.35":"Pt TAR","1.3.36.8.7.1.36":"Pt Targa","1.3.36.8.7.1.37":"Pt TeX","1.3.36.8.7.1.38":"Pt Text","1.3.36.8.7.1.39":"Pt TIFF","1.3.36.8.7.1.40":"Pt TIFF-FC","1.3.36.8.7.1.41":"Pt UID","1.3.36.8.7.1.42":"Pt UU Encode","1.3.36.8.7.1.43":"Pt WMF","1.3.36.8.7.1.44":"Pt Word Perfect","1.3.36.8.7.1.45":"Pt WP Grph","1.3.101.1.4":"Thawte-ce","1.3.101.1.4.1":"Strong Extranet","1.3.101.112":"Edwards-curve Digital Signature Algorithm (EdDSA) Ed25519","1.3.132.0.1":"Sect163k1","1.3.132.0.2":"Sect163r1","1.3.132.0.3":"Sect239k1","1.3.132.0.4":"Sect113r1","1.3.132.0.5":"Sect113r2","1.3.132.0.6":"Secp112r1","1.3.132.0.7":"Secp112r2","1.3.132.0.8":"Secp160r1","1.3.132.0.9":"Secp160k1","1.3.132.0.10":"Secp256k1","1.3.132.0.15":"Sect163r2","1.3.132.0.16":"Sect283k1","1.3.132.0.17":"Sect283r1","1.3.132.0.22":"Sect131r1","1.3.132.0.23":"Sect131r2","1.3.132.0.24":"Sect193r1","1.3.132.0.25":"Sect193r2","1.3.132.0.26":"Sect233k1","1.3.132.0.27":"Sect233r1","1.3.132.0.28":"Secp128r1","1.3.132.0.29":"Secp128r2","1.3.132.0.30":"Secp160r2","1.3.132.0.31":"Secp192k1","1.3.132.0.32":"Secp224k1","1.3.132.0.33":"Secp224r1","1.3.132.0.34":"Secp384r1","1.3.132.0.35":"Secp521r1","1.3.132.0.36":"Sect409k1","1.3.132.0.37":"Sect409r1","1.3.132.0.38":"Sect571k1","1.3.132.0.39":"Sect571r1","1.3.133.16.840.9.84":"x984","1.3.133.16.840.9.84.0":"x984 Module","1.3.133.16.840.9.84.0.1":"x984 Biometrics","1.3.133.16.840.9.84.0.2":"x984 CMS","1.3.133.16.840.9.84.0.3":"x984 Identifiers","1.3.133.16.840.9.84.1":"x984 Biometric","1.3.133.16.840.9.84.1.0":"Biometric Unknown Type","1.3.133.16.840.9.84.1.1":"Biometric Body Odor","1.3.133.16.840.9.84.1.2":"Biometric DNA","1.3.133.16.840.9.84.1.3":"Biometric Ear Shape","1.3.133.16.840.9.84.1.4":"Biometric Facial Features","1.3.133.16.840.9.84.1.5":"Biometric Finger Image","1.3.133.16.840.9.84.1.6":"Biometric Finger Geometry","1.3.133.16.840.9.84.1.7":"Biometric Hand Geometry","1.3.133.16.840.9.84.1.8":"Biometric Iris Features","1.3.133.16.840.9.84.1.9":"Biometric Keystroke Dynamics","1.3.133.16.840.9.84.1.10":"Biometric Palm","1.3.133.16.840.9.84.1.11":"Biometric Retina","1.3.133.16.840.9.84.1.12":"Biometric Signature","1.3.133.16.840.9.84.1.13":"Biometric Speech Pattern","1.3.133.16.840.9.84.1.14":"Biometric Thermal Image","1.3.133.16.840.9.84.1.15":"Biometric Vein Pattern","1.3.133.16.840.9.84.1.16":"Biometric Thermal Face Image","1.3.133.16.840.9.84.1.17":"Biometric Thermal Hand Image","1.3.133.16.840.9.84.1.18":"Biometric Lip Movement","1.3.133.16.840.9.84.1.19":"Biometric Gait","1.3.133.16.840.9.84.3":"x984 Matching Method","1.3.133.16.840.9.84.4":"x984 Format Owner","1.3.133.16.840.9.84.4.0":"x984 Cbeff Owner","1.3.133.16.840.9.84.4.1":"x984 Ibia Owner","1.3.133.16.840.9.84.4.1.1":"Ibia Owner SAFLINK","1.3.133.16.840.9.84.4.1.2":"Ibia Owner Bioscrypt","1.3.133.16.840.9.84.4.1.3":"Ibia Owner Visionics","1.3.133.16.840.9.84.4.1.4":"Ibia Owner Infineon Technologies AG","1.3.133.16.840.9.84.4.1.5":"Ibia Owner Iridian Technologies","1.3.133.16.840.9.84.4.1.6":"Ibia Owner Veridicom","1.3.133.16.840.9.84.4.1.7":"Ibia Owner Cyber SIGN","1.3.133.16.840.9.84.4.1.8":"Ibia Ownere Cryp","1.3.133.16.840.9.84.4.1.9":"Ibia Owner Fingerprint Cards AB","1.3.133.16.840.9.84.4.1.10":"Ibia Owner Secu Gen","1.3.133.16.840.9.84.4.1.11":"Ibia Owner Precise Biometric","1.3.133.16.840.9.84.4.1.12":"Ibia Owner Identix","1.3.133.16.840.9.84.4.1.13":"Ibia Owner DERMALOG","1.3.133.16.840.9.84.4.1.14":"Ibia Owner LOGICO","1.3.133.16.840.9.84.4.1.15":"Ibia Owner NIST","1.3.133.16.840.9.84.4.1.16":"Ibia Owner A3 Vision","1.3.133.16.840.9.84.4.1.17":"Ibia Owner NEC","1.3.133.16.840.9.84.4.1.18":"Ibia Owner ST Microelectronics","2.5.4.0":"Object Class","2.5.4.1":"Aliased Entry Name","2.5.4.2":"Knowledge Information","2.5.4.3":"Common Name","2.5.4.4":"Surname","2.5.4.5":"Serial Number","2.5.4.6":"Country Name","2.5.4.7":"Locality","2.5.4.7.1":"Collective Locality Name","2.5.4.8":"State","2.5.4.8.1":"Collective State Or Province Name","2.5.4.9":"Street Address","2.5.4.9.1":"Collective Street Address","2.5.4.97":"Organization Identifier","2.5.4.10":"Organization","2.5.4.10.1":"Collective Organization Name","2.5.4.11":"Organization Unit","2.5.4.11.1":"Collective Organization Unit Name","2.5.4.12":"Title","2.5.4.13":"Description","2.5.4.14":"Search Guide","2.5.4.15":"Business Category","2.5.4.16":"Postal Address","2.5.4.16.1":"Collective Postal Address","2.5.4.17":"Postal Code","2.5.4.17.1":"Collective Postal Code","2.5.4.18":"Post Office Box","2.5.4.18.1":"Collective Post Office Box","2.5.4.19":"Physical Delivery Office Name","2.5.4.19.1":"Collective Physical Delivery Office Name","2.5.4.20":"Telephone Number","2.5.4.20.1":"Collective Telephone Number","2.5.4.21":"Telex Number","2.5.4.21.1":"Collective Telex Number","2.5.4.22":"Teletex Terminal Identifier","2.5.4.22.1":"Collective Teletex Terminal Identifier","2.5.4.23":"Facsimile Telephone Number","2.5.4.23.1":"Collective Facsimile Telephone Number","2.5.4.24":"x121 Address","2.5.4.25":"International ISDN Number","2.5.4.25.1":"Collective International ISDN Number","2.5.4.26":"Registered Address","2.5.4.27":"Destination Indicator","2.5.4.28":"Preferred Delivery Mehtod","2.5.4.29":"Presentation Address","2.5.4.30":"Supported Application Context","2.5.4.31":"Member","2.5.4.32":"Owner","2.5.4.33":"Role Occupant","2.5.4.34":"See Also","2.5.4.35":"User Password","2.5.4.36":"User Certificate","2.5.4.37":"Ca Certificate","2.5.4.38":"Authority Revocation List","2.5.4.39":"Certificate Revocation List","2.5.4.40":"Cross Certificate Pair","2.5.4.41":"Name","2.5.4.42":"Given Name","2.5.4.43":"Initials","2.5.4.44":"Generation Qualifier","2.5.4.45":"Unique Identifier","2.5.4.46":"Dn Qualifier","2.5.4.47":"Enhanced Search Guide","2.5.4.48":"Protocol Information","2.5.4.49":"Distinguished Name","2.5.4.50":"Unique Member","2.5.4.51":"House Identifier","2.5.4.52":"Supported Algorithms","2.5.4.53":"Delta Revocation List","2.5.4.54":"DMD Name","2.5.4.55":"Clearance","2.5.4.56":"Default Dir Qop","2.5.4.57":"Attribute Integrity Info","2.5.4.58":"Attribute Certificate","2.5.4.59":"Attribute Certificate Revocation List","2.5.4.60":"Conf Key Info","2.5.4.61":"AA Certificate","2.5.4.62":"Attribute Descriptor Certificate","2.5.4.63":"Attribute Authority Revocation List","2.5.4.64":"Family Information","2.5.4.65":"Pseudonym","2.5.4.66":"Communications Service","2.5.4.67":"Communications Network","2.5.4.68":"Certification Practice Stmt","2.5.4.69":"Certificate Policy","2.5.4.70":"Pki Path","2.5.4.71":"Priv Policy","2.5.4.72":"Role","2.5.4.73":"Delegation Path","2.5.4.74":"Prot Priv Policy","2.5.4.75":"XML Privilege Info","2.5.4.76":"XML Priv Policy","2.5.4.82":"Permission","2.5.6.0":"Top","2.5.6.1":"Alias","2.5.6.2":"Country","2.5.6.3":"Locality","2.5.6.4":"Organization","2.5.6.5":"Organization Unit","2.5.6.6":"Person","2.5.6.7":"Organization Person","2.5.6.8":"Organization Role","2.5.6.9":"Group Of Names","2.5.6.10":"Residential Person","2.5.6.11":"Application Process","2.5.6.12":"Application Entity","2.5.6.13":"DSA","2.5.6.14":"Device","2.5.6.15":"Strong Authentication User","2.5.6.16":"Certificate Authority","2.5.6.17":"Group Of Unique Names","2.5.6.21":"Pki User","2.5.6.22":"Pki CA","2.5.8.1.1":"RSA","2.5.29.1":"Authority Key Identifier","2.5.29.2":"Key Attributes","2.5.29.3":"Certificate Policies","2.5.29.4":"Key Usage Restriction","2.5.29.5":"Policy Mapping","2.5.29.6":"Subtrees Constraint","2.5.29.7":"Subject Alt Name","2.5.29.8":"Issuer Alt Name","2.5.29.9":"Subject Directory Attributes","2.5.29.10":"Basic Constraints","2.5.29.11":"Name Constraints","2.5.29.12":"Policy Constraints","2.5.29.13":"Basic Constraints","2.5.29.14":"Subject Key Identifier","2.5.29.15":"Key Usage","2.5.29.16":"Private Key Usage Period","2.5.29.17":"Subject Alternative Name","2.5.29.18":"Issuer Alternative Name","2.5.29.19":"Basic Constraints","2.5.29.20":"CRL Number","2.5.29.21":"CRL Reason","2.5.29.22":"Expiration Date","2.5.29.23":"Instruction Code","2.5.29.24":"Invalidity Date","2.5.29.25":"CRL Distribution Points","2.5.29.26":"Issuing Distribution Point","2.5.29.27":"Delta CRL Indicator","2.5.29.28":"Issuing Distribution Point","2.5.29.29":"Certificate Issuer","2.5.29.30":"Name Constraints","2.5.29.31":"CRL Distribution Points","2.5.29.32":"Certificate Policies","2.5.29.32.0":"Any Policy","2.5.29.33":"Policy Mappings","2.5.29.34":"Policy Constraints","2.5.29.35":"Authority Key Identifier","2.5.29.36":"Policy Constraints","2.5.29.37":"Extended Key Usage","2.5.29.37.0":"Any Extended Key Usage","2.5.29.38":"Authority Attribute Identifier","2.5.29.39":"Role Spec Cert Identifier","2.5.29.40":"CRL Stream Identifier","2.5.29.41":"Basic Att Constraints","2.5.29.42":"Delegated Name Constraints","2.5.29.43":"Time Specification","2.5.29.44":"CRL Scope","2.5.29.45":"Status Referrals","2.5.29.46":"Freshest CRL","2.5.29.47":"Ordered List","2.5.29.48":"Attribute Descriptor","2.5.29.49":"User Notice","2.5.29.50":"SOA Identifier","2.5.29.51":"Base Update Time","2.5.29.52":"Acceptable Cert Policies","2.5.29.53":"Delta Info","2.5.29.54":"Inhibit Any Policy","2.5.29.55":"Target Information","2.5.29.56":"No Rev Avail","2.5.29.57":"Acceptable Privilege Policies","2.5.29.58":"To Be Revoked","2.5.29.59":"Revoked Groups","2.5.29.60":"Expired Certs On CRL","2.5.29.61":"Indirect Issuer","2.5.29.62":"No Assertion","2.5.29.63":"A Aissuing Distribution Point","2.5.29.64":"Issued On Behalf Of","2.5.29.65":"Single Use","2.5.29.66":"Group AC","2.5.29.67":"Allowed Att Ass","2.5.29.68":"Attribute Mappings","2.5.29.69":"Holder Name Constraints","2.16.528.1.1001.1.1.1.12.6.1.1.1":"Digi Notar EV policy","2.16.578.1.26.1.3.3":"Buy Pass EV policy","2.16.724.1.2.2.4.1":"Personal Data Info","2.16.756.1.89.1.2.1.1":"Swiss Sign EV policy","2.16.840.1.101.2.1.1.1":"Sdns Signature Algorithm","2.16.840.1.101.2.1.1.2":"Fortezza Signature Algorithm","2.16.840.1.101.2.1.1.3":"Sdns Confidentiality Algorithm","2.16.840.1.101.2.1.1.4":"Fortezza Confidentiality Algorithm","2.16.840.1.101.2.1.1.5":"Sdns Integrity Algorithm","2.16.840.1.101.2.1.1.6":"Fortezza Integrity Algorithm","2.16.840.1.101.2.1.1.7":"Sdns Token Protection Algorithm","2.16.840.1.101.2.1.1.8":"Fortezza Token Protection Algorithm","2.16.840.1.101.2.1.1.9":"Sdns Key Management Algorithm","2.16.840.1.101.2.1.1.10":"Fortezza Key Management Algorithm","2.16.840.1.101.2.1.1.11":"Sdns K Mand Sig Algorithm","2.16.840.1.101.2.1.1.12":"Fortezza K Mand Sig Algorithm","2.16.840.1.101.2.1.1.13":"Suite A Signature Algorithm","2.16.840.1.101.2.1.1.14":"Suite A Confidentiality Algorithm","2.16.840.1.101.2.1.1.15":"Suite A Integrity Algorithm","2.16.840.1.101.2.1.1.16":"Suite A Token Protection Algorithm","2.16.840.1.101.2.1.1.17":"Suite A Key Management Algorithm","2.16.840.1.101.2.1.1.18":"Suite AK Mand Sig Algorithm","2.16.840.1.101.2.1.1.19":"Fortezza Updated Sig Algorithm","2.16.840.1.101.2.1.1.20":"Fortezza K Mand Upd Sig Algorithms","2.16.840.1.101.2.1.1.21":"Fortezza Updated Integ Algorithm","2.16.840.1.101.2.1.1.22":"Key Exchange Algorithm","2.16.840.1.101.2.1.1.23":"Fortezza Wrap80 Algorithm","2.16.840.1.101.2.1.1.24":"KEA Key Encryption Algorithm","2.16.840.1.101.2.1.2.1":"Rfc822 Message Format","2.16.840.1.101.2.1.2.2":"Empty Content","2.16.840.1.101.2.1.2.3":"Csp Content Type","2.16.840.1.101.2.1.2.42":"MSP Rev3 Content Type","2.16.840.1.101.2.1.2.48":"MSP Content Type","2.16.840.1.101.2.1.2.49":"MSP Rekey Agent Protocol","2.16.840.1.101.2.1.2.50":"MSP MMP","2.16.840.1.101.2.1.2.66":"MSP Rev3-1 Content Type","2.16.840.1.101.2.1.2.72":"Forwarded MSP Message Body Part","2.16.840.1.101.2.1.2.73":"MSP Forwarded Message Parameters","2.16.840.1.101.2.1.2.74":"Forwarded CSP Msg Body Part","2.16.840.1.101.2.1.2.75":"CSP Forwarded Message Parameters","2.16.840.1.101.2.1.2.76":"MSP MMP2","2.16.840.1.101.2.1.3.1":"SDNS Security Policy","2.16.840.1.101.2.1.3.2":"SDNS PRBAC","2.16.840.1.101.2.1.3.3":"Mosaic PRBAC","2.16.840.1.101.2.1.3.10":"SI Security Policy","2.16.840.1.101.2.1.3.10.0":"SI NASP","2.16.840.1.101.2.1.3.10.1":"SI ELCO","2.16.840.1.101.2.1.3.10.2":"SI TK","2.16.840.1.101.2.1.3.10.3":"SI DSAP","2.16.840.1.101.2.1.3.10.4":"SI SSSS","2.16.840.1.101.2.1.3.10.5":"SI DNASP","2.16.840.1.101.2.1.3.10.6":"SI BYEMAN","2.16.840.1.101.2.1.3.10.7":"SI REL-US","2.16.840.1.101.2.1.3.10.8":"SI REL-AUS","2.16.840.1.101.2.1.3.10.9":"SI REL-CAN","2.16.840.1.101.2.1.3.10.10":"SI REL_UK","2.16.840.1.101.2.1.3.10.11":"SI REL-NZ","2.16.840.1.101.2.1.3.10.12":"SI Generic","2.16.840.1.101.2.1.3.11":"Genser","2.16.840.1.101.2.1.3.11.0":"Genser Nations","2.16.840.1.101.2.1.3.11.1":"Genser Comsec","2.16.840.1.101.2.1.3.11.2":"Genser Acquisition","2.16.840.1.101.2.1.3.11.3":"Genser Security Categories","2.16.840.1.101.2.1.3.11.3.0":"Genser Tag Set Name","2.16.840.1.101.2.1.3.12":"Default Security Policy","2.16.840.1.101.2.1.3.13":"Capco Markings","2.16.840.1.101.2.1.3.13.0":"Capco Security Categories","2.16.840.1.101.2.1.3.13.0.1":"Capco Tag Set Name1","2.16.840.1.101.2.1.3.13.0.2":"Capco Tag Set Name2","2.16.840.1.101.2.1.3.13.0.3":"Capco Tag Set Name3","2.16.840.1.101.2.1.3.13.0.4":"Capco Tag Set Name4","2.16.840.1.101.2.1.5.1":"SDNS Key Management Certificate","2.16.840.1.101.2.1.5.2":"SDNS User Signature Certificate","2.16.840.1.101.2.1.5.3":"SDNS K Mand Sig Certificate","2.16.840.1.101.2.1.5.4":"Fortezza Key Management Certificate","2.16.840.1.101.2.1.5.5":"Fortezza K Mand Sig Certificate","2.16.840.1.101.2.1.5.6":"Fortezza User Signature Certificate","2.16.840.1.101.2.1.5.7":"Fortezza CA Signature Certificate","2.16.840.1.101.2.1.5.8":"SDNS CA Signature Certificate","2.16.840.1.101.2.1.5.10":"Auxiliary Vector","2.16.840.1.101.2.1.5.11":"Ml Receipt Policy","2.16.840.1.101.2.1.5.12":"Ml Membership","2.16.840.1.101.2.1.5.13":"Ml Administrators","2.16.840.1.101.2.1.5.14":"Alid","2.16.840.1.101.2.1.5.20":"Jan UKMs","2.16.840.1.101.2.1.5.21":"Feb UKMs","2.16.840.1.101.2.1.5.22":"Mar UKMs","2.16.840.1.101.2.1.5.23":"Apr UKMs","2.16.840.1.101.2.1.5.24":"May UKMs","2.16.840.1.101.2.1.5.25":"Jun UKMs","2.16.840.1.101.2.1.5.26":"Jul UKMs","2.16.840.1.101.2.1.5.27":"Aug UKMs","2.16.840.1.101.2.1.5.28":"Sep UKMs","2.16.840.1.101.2.1.5.29":"Oct UKMs","2.16.840.1.101.2.1.5.30":"Nov UKMs","2.16.840.1.101.2.1.5.31":"Dec UKMs","2.16.840.1.101.2.1.5.40":"Meta SDN Sckl","2.16.840.1.101.2.1.5.41":"Sdns CKL","2.16.840.1.101.2.1.5.42":"Meta SDN Ssignature CKL","2.16.840.1.101.2.1.5.43":"Sdns Signature CKL","2.16.840.1.101.2.1.5.44":"Sdns Certificate Revocation List","2.16.840.1.101.2.1.5.45":"Fortezza Certificate Revocation List","2.16.840.1.101.2.1.5.46":"Fortezza CKL","2.16.840.1.101.2.1.5.47":"Al Exempted Address Processor","2.16.840.1.101.2.1.5.48":"Guard","2.16.840.1.101.2.1.5.49":"Algorithms Supported","2.16.840.1.101.2.1.5.50":"Suite A Key Management Certificate","2.16.840.1.101.2.1.5.51":"Suite AK Mand Sig Certificate","2.16.840.1.101.2.1.5.52":"Suite A User Signature Certificate","2.16.840.1.101.2.1.5.53":"Prbac Info","2.16.840.1.101.2.1.5.54":"Prbac CA Constraints","2.16.840.1.101.2.1.5.55":"Sig Or KM Privileges","2.16.840.1.101.2.1.5.56":"Comm Privileges","2.16.840.1.101.2.1.5.57":"Labeled Attribute","2.16.840.1.101.2.1.5.58":"Policy Information File","2.16.840.1.101.2.1.5.59":"Sec Policy Information File","2.16.840.1.101.2.1.5.60":"CA Clearance Constraint","2.16.840.1.101.2.1.7.1":"CSP Extns","2.16.840.1.101.2.1.7.1.0":"CSP Cs Extn","2.16.840.1.101.2.1.8.1":"MISSI Security Categories","2.16.840.1.101.2.1.8.2":"Standard Security Label Privileges","2.16.840.1.101.2.1.10.1":"SIG Privileges","2.16.840.1.101.2.1.10.2":"KM Privileges","2.16.840.1.101.2.1.10.3":"Named Tag Set Privilege","2.16.840.1.101.2.1.11.1":"UK Demo","2.16.840.1.101.2.1.11.2":"US DOD Class2","2.16.840.1.101.2.1.11.3":"US Medium Pilot","2.16.840.1.101.2.1.11.4":"US DOD Class4","2.16.840.1.101.2.1.11.5":"US DOD Class3","2.16.840.1.101.2.1.11.6":"US DOD Class5","2.16.840.1.101.2.1.12.0":"Test Security Policy","2.16.840.1.101.2.1.12.0.1":"TSP1","2.16.840.1.101.2.1.12.0.1.0":"TSP1 Security Categories","2.16.840.1.101.2.1.12.0.1.0.0":"TSP1 Tag Set Zero","2.16.840.1.101.2.1.12.0.1.0.1":"TSP1 Tag Set One","2.16.840.1.101.2.1.12.0.1.0.2":"TSP1 Tag Set Two","2.16.840.1.101.2.1.12.0.2":"TSP2","2.16.840.1.101.2.1.12.0.2.0":"TSP2 Security Categories","2.16.840.1.101.2.1.12.0.2.0.0":"TSP2 Tag Set Zero","2.16.840.1.101.2.1.12.0.2.0.1":"TSP2 Tag Set One","2.16.840.1.101.2.1.12.0.2.0.2":"TSP2 Tag Set Two","2.16.840.1.101.2.1.12.0.3":"Kafka","2.16.840.1.101.2.1.12.0.3.0":"Kafka Security Categories","2.16.840.1.101.2.1.12.0.3.0.1":"Kafka Tag Set Name1","2.16.840.1.101.2.1.12.0.3.0.2":"Kafka Tag Set Name2","2.16.840.1.101.2.1.12.0.3.0.3":"Kafka Tag Set Name3","2.16.840.1.101.2.1.12.1.1":"TCp1","2.16.840.1.101.3.1":"Slabel","2.16.840.1.101.3.2":"PKI","2.16.840.1.101.3.2.1":"NIST policy Identifier","2.16.840.1.101.3.2.1.3.1":"Fbca Rudimentary Policy","2.16.840.1.101.3.2.1.3.2":"Fbca Basic Policy","2.16.840.1.101.3.2.1.3.3":"Fbca Medium Policy","2.16.840.1.101.3.2.1.3.4":"Fbca High Policy","2.16.840.1.101.3.2.1.48.1":"Nist Test Policy1","2.16.840.1.101.3.2.1.48.2":"Nist Test Policy2","2.16.840.1.101.3.2.1.48.3":"Nist Test Policy3","2.16.840.1.101.3.2.1.48.4":"Nist Test Policy4","2.16.840.1.101.3.2.1.48.5":"Nist Test Policy5","2.16.840.1.101.3.2.1.48.6":"Nist Test Policy6","2.16.840.1.101.3.2.2":"GAK","2.16.840.1.101.3.2.2.1":"KRA Key","2.16.840.1.101.3.2.3":"Extensions","2.16.840.1.101.3.2.3.1":"KR Technique","2.16.840.1.101.3.2.3.2":"K Recovery Capable","2.16.840.1.101.3.2.3.3":"KR","2.16.840.1.101.3.2.4":"Key Recovery Schemes","2.16.840.1.101.3.2.5":"Krapola","2.16.840.1.101.3.3":"ARPA","2.16.840.1.101.3.4":"Nist Algorithm","2.16.840.1.101.3.4.1":"AES","2.16.840.1.101.3.4.1.1":"AES128-ECB","2.16.840.1.101.3.4.1.2":"AES128-CBC","2.16.840.1.101.3.4.1.3":"AES128-OFB","2.16.840.1.101.3.4.1.4":"AES128-CFB","2.16.840.1.101.3.4.1.5":"AES128-wrap","2.16.840.1.101.3.4.1.6":"AES128-GCM","2.16.840.1.101.3.4.1.7":"AES128-CCM","2.16.840.1.101.3.4.1.8":"AES128-wrap-pad","2.16.840.1.101.3.4.1.21":"AES192-ECB","2.16.840.1.101.3.4.1.22":"AES192-CBC","2.16.840.1.101.3.4.1.23":"AES192-OFB","2.16.840.1.101.3.4.1.24":"AES192-CFB","2.16.840.1.101.3.4.1.25":"AES192-wrap","2.16.840.1.101.3.4.1.26":"AES192-GCM","2.16.840.1.101.3.4.1.27":"AES192-CCM","2.16.840.1.101.3.4.1.28":"AES192-wrap-pad","2.16.840.1.101.3.4.1.41":"AES256-ECB","2.16.840.1.101.3.4.1.42":"AES256-CBC","2.16.840.1.101.3.4.1.43":"AES256-OFB","2.16.840.1.101.3.4.1.44":"AES256-CFB","2.16.840.1.101.3.4.1.45":"AES256-wrap","2.16.840.1.101.3.4.1.46":"AES256-GCM","2.16.840.1.101.3.4.1.47":"AES256-CCM","2.16.840.1.101.3.4.1.48":"AES256-wrap-pad","2.16.840.1.101.3.4.2":"Hash Algos","2.16.840.1.101.3.4.2.1":"SHA-256","2.16.840.1.101.3.4.2.2":"SHA-384","2.16.840.1.101.3.4.2.3":"SHA-512","2.16.840.1.101.3.4.2.4":"SHA-224","2.16.840.1.101.3.4.3.1":"DSA with Sha224","2.16.840.1.101.3.4.3.2":"DSA with Sha256","2.16.840.1.113719.1.2.8":"Novell Algorithm","2.16.840.1.113719.1.2.8.22":"DES Cbc IV8","2.16.840.1.113719.1.2.8.23":"DES Cbc Pad IV8","2.16.840.1.113719.1.2.8.24":"DES EDE2 Cbc IV8","2.16.840.1.113719.1.2.8.25":"DES EDE2 Cbc Pad IV8","2.16.840.1.113719.1.2.8.26":"DES EDE3 Cbc IV8","2.16.840.1.113719.1.2.8.27":"DES EDE3 Cbc Pad IV8","2.16.840.1.113719.1.2.8.28":"Rc5 Cbc Pad","2.16.840.1.113719.1.2.8.29":"MD2 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.30":"MD5 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.31":"SHA1 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.32":"Lm Digest","2.16.840.1.113719.1.2.8.40":"MD2","2.16.840.1.113719.1.2.8.50":"MD5","2.16.840.1.113719.1.2.8.51":"Ike Hmac with SHA1-RSA","2.16.840.1.113719.1.2.8.52":"Ike Hmac with MD5-RSA","2.16.840.1.113719.1.2.8.69":"RC2 Cbc Pad","2.16.840.1.113719.1.2.8.82":"SHA-1","2.16.840.1.113719.1.2.8.92":"RC2 B Safe1 Cbc","2.16.840.1.113719.1.2.8.95":"MD4","2.16.840.1.113719.1.2.8.130":"MD4 Packet","2.16.840.1.113719.1.2.8.131":"RSA Encryption Bsafe1","2.16.840.1.113719.1.2.8.132":"Nw Password","2.16.840.1.113719.1.2.8.133":"Novell Obfuscate-1","2.16.840.1.113719.1.9":"PKI","2.16.840.1.113719.1.9.4":"PKI Attribute Type","2.16.840.1.113719.1.9.4.1":"Security Attributes","2.16.840.1.113719.1.9.4.2":"Reliance Limit","2.16.840.1.113730.1":"Certificate Extension","2.16.840.1.113730.1.1":"Netscape Certificate Type","2.16.840.1.113730.1.2":"Netscape Base Url","2.16.840.1.113730.1.3":"Netscape Revocation Url","2.16.840.1.113730.1.4":"Netscape CA Revocation","2.16.840.1.113730.1.7":"Netscape Certificate Renewal","2.16.840.1.113730.1.8":"Netscape CA Policy","2.16.840.1.113730.1.9":"Home Page Url","2.16.840.1.113730.1.10":"Entity Logo","2.16.840.1.113730.1.11":"User Picture","2.16.840.1.113730.1.12":"Netscape Ssl Server","2.16.840.1.113730.1.13":"Netscape Comment","2.16.840.1.113730.2":"Data-type","2.16.840.1.113730.2.1":"Data GIF","2.16.840.1.113730.2.2":"Data JPEG","2.16.840.1.113730.2.3":"Data URL","2.16.840.1.113730.2.4":"Data HTML","2.16.840.1.113730.2.5":"Cert Sequence","2.16.840.1.113730.2.6":"Cert URL","2.16.840.1.113730.3":"Directory","2.16.840.1.113730.3.1":"Ldap Definitions","2.16.840.1.113730.3.1.1":"Car License","2.16.840.1.113730.3.1.2":"Department Number","2.16.840.1.113730.3.1.3":"Employee Number","2.16.840.1.113730.3.1.4":"Employee Type","2.16.840.1.113730.3.2.2":"Inet Org Person","2.16.840.1.113730.4.1":"Server Gated Crypto","2.16.840.1.113733.1":"PKI","2.16.840.1.113733.1.6.3":"Verisign CZAG","2.16.840.1.113733.1.6.6":"Verisign In Box","2.16.840.1.113733.1.6.11":"Verisign Onsite Jurisdiction Hash","2.16.840.1.113733.1.6.13":"Unknown Verisign VPN extension","2.16.840.1.113733.1.6.15":"Verisign Server ID","2.16.840.1.113733.1.7.1.1":"Verisign Cert Policies95 Qualifier1","2.16.840.1.113733.1.7.1.1.1":"Verisign CP Sv1notice","2.16.840.1.113733.1.7.1.1.2":"Verisign CP Sv1nsi","2.16.840.1.113733.1.7.54":"Symantec","2.16.840.1.113733.1.7.23.6":"Veri Sign EV policy","2.16.840.1.113733.1.7.48.1":"Thawte EV policy","2.16.840.1.113733.1.8.1":"erisign ISS Strong Crypto","2.16.840.1.113733.1.9":"PKCS7 Attribute","2.16.840.1.113733.1.9.2":"Message Type","2.16.840.1.113733.1.9.3":"PKI Status","2.16.840.1.113733.1.9.4":"Fail Info","2.16.840.1.113733.1.9.5":"Sender Nonce","2.16.840.1.113733.1.9.6":"Recipient Nonce","2.16.840.1.113733.1.9.7":"Trans ID","2.16.840.1.113733.1.9.8":"Extension Req","2.16.840.1.113741.2":"Intel CDSA","2.16.840.1.114028.10.1.2":"Entrust EV policy","2.16.840.1.114171.500.9":"Wells Fargo EV policy","2.16.840.1.114404.1.1.2.4.1":"Trust Wave EV policy","2.16.840.1.114412.1":"Digi Cert Non EV Certs","2.16.840.1.114412.1.1":"Digi Cert OV Cert","2.16.840.1.114412.1.2":"Digi Cert DV Cert","2.16.840.1.114412.1.3.0.1":"Digi Cert Global CA Policy","2.16.840.1.114412.1.3.0.2":"Digi Cert High Assurance EVCA Policy","2.16.840.1.114412.1.3.0.3":"Digi Cert Global Root CA Policy","2.16.840.1.114412.1.3.0.4":"Digi Cert Assured ID Root CA Policy","2.16.840.1.114412.1.11":"Digi Cert Federated Device Cert","2.16.840.1.114412.2.1":"Digi Cert EV policy","2.16.840.1.114412.2.2":"Digi Cert EV Cert","2.23.140.1.1":"EV guidelines certificate policy","2.16.840.1.114412.2.3":"Digi Cert Object Signing Cert","2.16.840.1.114412.2.3.1":"Digi Cert Code Signing Cert","2.16.840.1.114412.2.3.2":"Digi Cert EV Code Signing Cert","2.16.840.1.114412.2.3.11":"Digi Cert Kernel Code Signing Cert","2.16.840.1.114412.2.3.21":"Digi Cert Document Signing Cert","2.16.840.1.114412.2.4":"Digi Cert Client Cert","2.16.840.1.114412.2.4.1.1":"Digi Cert Level1 Personal Client Cert","2.16.840.1.114412.2.4.1.2":"Digi Cert Level1 Enterprise Client Cert","2.16.840.1.114412.2.4.2":"Digi Cert Level2 Client Cert","2.16.840.1.114412.2.4.3.1":"Digi Cert Level3 US Client Cert","2.16.840.1.114412.2.4.3.2":"Digi Cert Level3 CBP Client Cert","2.16.840.1.114412.2.4.4.1":"Digi Cert Level4 US Client Cert","2.16.840.1.114412.2.4.4.2":"Digi Cert Level4 CBP Client Cert","2.16.840.1.114412.2.4.5.1":"Digi Cert PIV Hardware Cert","2.16.840.1.114412.2.4.5.2":"Digi Cert PIV Card Auth Cert","2.16.840.1.114412.2.4.5.3":"Digi Cert PIV Content Signing Cert","2.16.840.1.114412.4.31":"Digi Cert Grid Classic Cert","2.16.840.1.114412.4.31.5":"Digi Cert Grid Integrated Cert","2.16.840.1.114412.31.4.31.1":"Digi Cert Grid Host Cert","2.16.840.1.114413.1.7.23.3":"Go Daddy EV policy","2.16.840.1.114414.1.7.23.3":"Starfield EV policy","2.23.42.0":"Content Type","2.23.42.0.0":"Pan Data","2.23.42.0.1":"Pan Token","2.23.42.0.2":"Pan Only","2.23.42.1":"Msg Ext","2.23.42.2":"Field","2.23.42.2.0":"Full Name","2.23.42.2.1":"Given Name","2.23.42.2.2":"Family Name","2.23.42.2.3":"Birth Family Name","2.23.42.2.4":"Place Name","2.23.42.2.5":"Identification Number","2.23.42.2.6":"Month","2.23.42.2.7":"Date","2.23.42.2.8":"Address","2.23.42.2.9":"Telephone","2.23.42.2.10":"Amount","2.23.42.2.11":"Account Number","2.23.42.2.12":"Pass Phrase","2.23.42.3":"Attribute","2.23.42.3.0":"Cert","2.23.42.3.0.0":"Root Key Thumb","2.23.42.3.0.1":"Additional Policy","2.23.42.4":"Algorithm","2.23.42.5":"Policy","2.23.42.5.0":"Root","2.23.42.6":"Module","2.23.42.7":"Cert Ext","2.23.42.7.0":"Hashed Root Key","2.23.42.7.1":"Certificate Type","2.23.42.7.2":"Merchant Data","2.23.42.7.3":"Card Cert Required","2.23.42.7.4":"Tunneling","2.23.42.7.5":"Set Extensions","2.23.42.7.6":"Set Qualifier","2.23.42.8":"Brand","2.23.42.8.1":"IATA-ATA","2.23.42.8.4":" ISA","2.23.42.8.5":"Master Card","2.23.42.8.30":"Diners","2.23.42.8.34":"American Express","2.23.42.8.6011":"Novus","2.23.42.9":"Vendor","2.23.42.9.0":"Globe Set","2.23.42.9.1":"IBM","2.23.42.9.2":"Cyber Cash","2.23.42.9.3":"Terisa","2.23.42.9.4":"RSADSI","2.23.42.9.5":"Veri Fone","2.23.42.9.6":"Trin Tech","2.23.42.9.7":"Bank Gate","2.23.42.9.8":"GTE","2.23.42.9.9":"Compu Source","2.23.42.9.10":"Griffin","2.23.42.9.11":"Certicom","2.23.42.9.12":"OSS","2.23.42.9.13":"Tenth Mountain","2.23.42.9.14":"Antares","2.23.42.9.15":"ECC","2.23.42.9.16":"Maithean","2.23.42.9.17":"Netscape","2.23.42.9.18":"erisign","2.23.42.9.19":"Blue Money","2.23.42.9.20":"Lacerte","2.23.42.9.21":"Fujitsu","2.23.42.9.22":"E Lab","2.23.42.9.23":"Entrust","2.23.42.9.24":"VI Anet","2.23.42.9.25":"III","2.23.42.9.26":"Open Market","2.23.42.9.27":"Lexem","2.23.42.9.28":"Intertrader","2.23.42.9.29":"Persimmon","2.23.42.9.30":"NABLE","2.23.42.9.31":"Espace-net","2.23.42.9.32":"Hitachi","2.23.42.9.33":"Microsoft","2.23.42.9.34":"NEC","2.23.42.9.35":"Mitsubishi","2.23.42.9.36":"NCR","2.23.42.9.37":"E-COMM","2.23.42.9.38":"Gemplus","2.23.42.10":"National","2.23.42.10.392":"Japan","2.23.43.1.4":"WTLS-ECC","2.23.43.1.4.1":"WTLS-ECC-curve1","2.23.43.1.4.6":"WTLS-ECC-curve6","2.23.43.1.4.8":"WTLS-ECC-curve8","2.23.43.1.4.9":"WTLS-ECC-curve9","2.23.133":"TCPA","2.23.133.1":"TCPA Spec Version","2.23.133.2":"TCPA Attribute","2.23.133.2.1":"TCPA Tpm Manufacturer","2.23.133.2.2":"TCPA Tpm Model","2.23.133.2.3":"TCPA Tpm Version","2.23.133.2.4":"TCPA Platform Manufacturer","2.23.133.2.5":"TCPA Platform Model","2.23.133.2.6":"TCPA Platform Version","2.23.133.2.7":"TCPA Component Manufacturer","2.23.133.2.8":"TCPA Component Model","2.23.133.2.9":"TCPA Component Version","2.23.133.2.10":"TCPA Security Qualities","2.23.133.2.11":"TCPA Tpm Protection Profile","2.23.133.2.12":"TCPA Tpm Security Target","2.23.133.2.13":"TCPA Foundation Protection Profile","2.23.133.2.14":"TCPA Foundation Security Target","2.23.133.2.15":"TCPA Tpm Id Label","2.23.133.3":"TCPA Protocol","2.23.133.3.1":"TCPA Prtt Tpm Id Protocol","2.23.134.1.2.1.8.210":"Post Signum Commercial Server Policy","2.23.134.1.2.2.3":"Post Signum Public CA","2.23.134.1.4.2.1":"Post Signum Root QCA","2.23.136.1.1.1":"MRTD Signature Data","2.54.1775.2":"Hashed Root Key","2.54.1775.3":"Certificate Type","2.54.1775.4":"Merchant Data","2.54.1775.5":"Card Cert Required","2.54.1775.6":"Tunneling","2.54.1775.7":"Set Qualifier","2.54.1775.99":"Set Data","1.3.6.1.4.1.11129.2.4.3":"CT Pre-Certificate Poison","2.23.140.1.2.2":"CA/B Forum Organization Validated","2.23.140.1.2.1":"CA/B Forum Domain Validated","1.3.6.1.4.1.44947.1.1.1":"Let's Encrypt","1.3.6.1.4.1.4329.7.2.4":"SslTlsCerts","1.3.6.1.4.1.4329.7":"Siemens Public Key Infrastructure","1.3.6.1.4.1.52266.1":"Legal Entity Identifier","1.3.6.1.4.1.52266.2":"Role","0.4.0.9496.1":"Domain Name Beneficiary","0.4.0.9496.2":"DNB Legal representative","0.4.0.9496.3":"Domain Name Owner","0.4.0.9496.4":"Domain Name Technical Operator","0.4.0.9496.5":"Type of relationship between DNB/DNO/DNT","0.4.0.9496.6":"DNB Main Activity Description","0.4.0.9496.7":"GDPR compliance attestation reference","0.4.0.9496.8":"Insurance coverage attestation","0.4.0.9496.9":"Valuation ranking"};
|
|
23
|
+
const sr=t=>/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/.test(t),nr=t=>/-----BEGIN CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE-----/.test(t),or=t=>/-----BEGIN CERTIFICATE REQUEST-----([A-Za-z0-9+\/=\s]+)-----END CERTIFICATE REQUEST-----/.test(t),ar=t=>/-----BEGIN ATTRIBUTE CERTIFICATE-----([A-Za-z0-9+\/=\s]+)-----END ATTRIBUTE CERTIFICATE-----/.test(t),cr={"2.5.4.3":"CN","2.5.4.6":"C","0.9.2342.19200300.100.1.25":"DC","1.2.840.113549.1.9.1":"E","2.5.4.42":"G","2.5.4.43":"I","2.5.4.7":"L","2.5.4.10":"O","2.5.4.11":"OU","2.5.4.8":"ST","2.5.4.4":"SN","2.5.4.12":"T","2.5.4.15":"businessCategory","1.3.6.1.4.1.311.60.2.1.3":"jurisdictionCountry","2.5.4.5":"serialNumber","2.5.4.97":"OI"},lr={"0.2.262.1.10":"Telesec","0.2.262.1.10.0":"Extension","0.2.262.1.10.1":"Mechanism","0.2.262.1.10.1.0":"Authentication","0.2.262.1.10.1.0.1":"Password Authentication","0.2.262.1.10.1.0.2":"Protected Password Authentication","0.2.262.1.10.1.0.3":"One Way x509 Authentication","0.2.262.1.10.1.0.4":"Two Way x509 Authentication","0.2.262.1.10.1.0.5":"Three Way x509 Authentication","0.2.262.1.10.1.0.6":"One Way IS O9798 Authentication","0.2.262.1.10.1.0.7":"Two Way IS O9798 Authentication","0.2.262.1.10.1.0.8":"Telekom Authentication","0.2.262.1.10.1.1":"Signature","0.2.262.1.10.1.1.1":"MD4 with RSA And IS O9697","0.2.262.1.10.1.1.2":"MD4 with RSA And Telesec Signature Standard","0.2.262.1.10.1.1.3":"MD5 with RSA And IS O9697","0.2.262.1.10.1.1.4":"MD5 with RSA And Telesec Signature Standard","0.2.262.1.10.1.1.5":"Ripemd160 with RSA And Telekom Signature Standard","0.2.262.1.10.1.1.9":"HBCI RSA Signature","0.2.262.1.10.1.2":"Encryption","0.2.262.1.10.1.2.0":"None","0.2.262.1.10.1.2.1":"RSA Telesec","0.2.262.1.10.1.2.2":"DES","0.2.262.1.10.1.2.2.1":"DES ECB","0.2.262.1.10.1.2.2.2":"DES CBC","0.2.262.1.10.1.2.2.3":"DES OFB","0.2.262.1.10.1.2.2.4":"DES CFB8","0.2.262.1.10.1.2.2.5":"DES CFB64","0.2.262.1.10.1.2.3":"DES3","0.2.262.1.10.1.2.3.1":"DES3 ECB","0.2.262.1.10.1.2.3.2":"DES3 CBC","0.2.262.1.10.1.2.3.3":"DES3 OFB","0.2.262.1.10.1.2.3.4":"DES3 CFB8","0.2.262.1.10.1.2.3.5":"DES3 CFB64","0.2.262.1.10.1.2.4":"Magenta","0.2.262.1.10.1.2.5":"Idea","0.2.262.1.10.1.2.5.1":"Idea ECB","0.2.262.1.10.1.2.5.2":"Idea CBC","0.2.262.1.10.1.2.5.3":"Idea OFB","0.2.262.1.10.1.2.5.4":"Idea CFB8","0.2.262.1.10.1.2.5.5":"Idea CFB64","0.2.262.1.10.1.3":"One Way Function","0.2.262.1.10.1.3.1":"MD4","0.2.262.1.10.1.3.2":"MD5","0.2.262.1.10.1.3.3":"SQ ModNx509","0.2.262.1.10.1.3.4":"SQ ModNISO","0.2.262.1.10.1.3.5":"Ripemd128","0.2.262.1.10.1.3.6":"Hash Using Block Cipher","0.2.262.1.10.1.3.7":"Mac","0.2.262.1.10.1.3.8":"Ripemd160","0.2.262.1.10.1.4":"Fec Function","0.2.262.1.10.1.4.1":"Reed Solomon","0.2.262.1.10.2":"Module","0.2.262.1.10.2.0":"Algorithms","0.2.262.1.10.2.1":"Attribute Types","0.2.262.1.10.2.2":"Certificate Types","0.2.262.1.10.2.3":"Message Types","0.2.262.1.10.2.4":"Pl Protocol","0.2.262.1.10.2.5":"Sme And Components Of Sme","0.2.262.1.10.2.6":"Fec","0.2.262.1.10.2.7":"Useful Definitions","0.2.262.1.10.2.8":"Stefiles","0.2.262.1.10.2.9":"Sadmib","0.2.262.1.10.2.10":"Electronic Order","0.2.262.1.10.2.11":"Telesec Ttp Asymmetric Application","0.2.262.1.10.2.12":"Telesec Ttp Basis Application","0.2.262.1.10.2.13":"Telesec Ttp Messages","0.2.262.1.10.2.14":"Telesec Ttp Time Stamp Application","0.2.262.1.10.3":"Object Class","0.2.262.1.10.3.0":"Telesec Other Name","0.2.262.1.10.3.1":"Directory","0.2.262.1.10.3.2":"Directory Type","0.2.262.1.10.3.3":"Directory Group","0.2.262.1.10.3.4":"Directory User","0.2.262.1.10.3.5":"Symmetric Key Entry","0.2.262.1.10.4":"Package","0.2.262.1.10.5":"Parameter","0.2.262.1.10.6":"Name Binding","0.2.262.1.10.7":"Attribute","0.2.262.1.10.7.0":"Application Group Identifier","0.2.262.1.10.7.1":"Certificate Type","0.2.262.1.10.7.2":"Telesec Certificate","0.2.262.1.10.7.3":"Certificate Number","0.2.262.1.10.7.4":"Certificate Revocation List","0.2.262.1.10.7.5":"Creation Date","0.2.262.1.10.7.6":"Issuer","0.2.262.1.10.7.7":"Naming Authority","0.2.262.1.10.7.8":"Public Key Directory","0.2.262.1.10.7.9":"Security Domain","0.2.262.1.10.7.10":"Subject","0.2.262.1.10.7.11":"Time Of Revocation","0.2.262.1.10.7.12":"User Group Reference","0.2.262.1.10.7.13":"alidity","0.2.262.1.10.7.14":"Zert93","0.2.262.1.10.7.15":"Security Mess Env","0.2.262.1.10.7.16":"Anonymized Public Key Directory","0.2.262.1.10.7.17":"Telesec Given Name","0.2.262.1.10.7.18":"Name Additions","0.2.262.1.10.7.19":"Telesec Postal Code","0.2.262.1.10.7.20":"Name Distinguisher","0.2.262.1.10.7.21":"Telesec Certificate List","0.2.262.1.10.7.22":"Teletrust Certificate List","0.2.262.1.10.7.23":"x509 Certificate List","0.2.262.1.10.7.24":"Time Of Issue","0.2.262.1.10.7.25":"Physical Card Number","0.2.262.1.10.7.26":"File Type","0.2.262.1.10.7.27":"Ctl File Is Archive","0.2.262.1.10.7.28":"Email Address","0.2.262.1.10.7.29":"Certificate Template List","0.2.262.1.10.7.30":"Directory Name","0.2.262.1.10.7.31":"Directory Type Name","0.2.262.1.10.7.32":"Directory Group Name","0.2.262.1.10.7.33":"Directory User Name","0.2.262.1.10.7.34":"Revocation Flag","0.2.262.1.10.7.35":"Symmetric Key Entry Name","0.2.262.1.10.7.36":"Gl Number","0.2.262.1.10.7.37":"Go Number","0.2.262.1.10.7.38":"G Key Data","0.2.262.1.10.7.39":"Z Key Data","0.2.262.1.10.7.40":"Kt Key Data","0.2.262.1.10.7.41":"Kt Key Number","0.2.262.1.10.7.51":"Time Of Revocation Gen","0.2.262.1.10.7.52":"Liability Text","0.2.262.1.10.8":"Attribute Group","0.2.262.1.10.9":"Action","0.2.262.1.10.10":"Notification","0.2.262.1.10.11":"Snmp-mibs","0.2.262.1.10.11.1":"Security Application","0.2.262.1.10.12":"Cert And Crl Extension Definitions","0.2.262.1.10.12.0":"Liability Limitation Flag","0.2.262.1.10.12.1":"Telesec Cert Id Ext","0.2.262.1.10.12.2":"Telesec policy Identifier","0.2.262.1.10.12.3":"Telesec Policy Qualifier I D","0.2.262.1.10.12.4":"Telesec CRL Filtered Ext","0.2.262.1.10.12.5":"Telesec CRL Filter Ext","0.2.262.1.10.12.6":"Telesec Naming Authority Ext","0.4.0.127.0.7":"Bsi","0.4.0.127.0.7.1":"Bsi Ecc","0.4.0.127.0.7.1.1":"Bsifield Type","0.4.0.127.0.7.1.1.1":"Bsi Prime Field","0.4.0.127.0.7.1.1.2":"Bsi Characteristic Two Field","0.4.0.127.0.7.1.1.2.2":"Bsi ECTLV Key Format","0.4.0.127.0.7.1.1.2.2.1":"Bsi ECTLV Public Key","0.4.0.127.0.7.1.1.2.3":"Bsi Characteristic Two Basis","0.4.0.127.0.7.1.1.2.3.1":"Bsi Gn Basis","0.4.0.127.0.7.1.1.2.3.2":"Bsi Tp Basis","0.4.0.127.0.7.1.1.2.3.3":"Bsi Pp Basis","0.4.0.127.0.7.1.1.4.1":"Bsi Ecdsa Signatures","0.4.0.127.0.7.1.1.4.1.1":"Bsi Ecdsa with SHA1","0.4.0.127.0.7.1.1.4.1.2":"Bsi Ecdsa with SHA224","0.4.0.127.0.7.1.1.4.1.3":"Bsi Ecdsa with SHA256","0.4.0.127.0.7.1.1.4.1.4":"Bsi Ecdsa with SHA384","0.4.0.127.0.7.1.1.4.1.5":"Bsi Ecdsa with SHA512","0.4.0.127.0.7.1.1.4.1.6":"Bsi Ecdsa with RIPEMD160","0.4.0.127.0.7.1.1.5.1.1":"Bsi Ecka Eg x963KDF","0.4.0.127.0.7.1.1.5.1.1.1":"Bsi Ecka Eg x963KDF with SHA1","0.4.0.127.0.7.1.1.5.1.1.2":"Bsi Ecka Eg x963KDF with SHA224","0.4.0.127.0.7.1.1.5.1.1.3":"Bsi Ecka Eg x963KDF with SHA256","0.4.0.127.0.7.1.1.5.1.1.4":"Bsi Ecka Eg x963KDF with SHA384","0.4.0.127.0.7.1.1.5.1.1.5":"Bsi Ecka Eg x963KDF with SHA512","0.4.0.127.0.7.1.1.5.1.1.6":"Bsi Ecka Eg x963KDF with RIPEMD160","0.4.0.127.0.7.1.1.5.1.2":"Bsi Ecka Eg Session KDF","0.4.0.127.0.7.1.1.5.1.2.1":"Bsi Ecka Eg Session KDF With3DES","0.4.0.127.0.7.1.1.5.1.2.2":"Bsi Ecka Eg Session KDF with AES128","0.4.0.127.0.7.1.1.5.1.2.3":"Bsi Ecka Eg Session KDF with AES192","0.4.0.127.0.7.1.1.5.1.2.4":"Bsi Ecka Eg Session KDF with AES256","0.4.0.127.0.7.1.1.5.2":"Bsi Ecka DH","0.4.0.127.0.7.1.1.5.2.1":"Bsi Ecka DH x963KDF","0.4.0.127.0.7.1.1.5.2.1.1":"Bsi Ecka DHx963KDF with SHA1","0.4.0.127.0.7.1.1.5.2.1.2":"Bsi Ecka DHx963KDF with SHA224","0.4.0.127.0.7.1.1.5.2.1.3":"Bsi Ecka DHx963KDF with SHA256","0.4.0.127.0.7.1.1.5.2.1.4":"Bsi Ecka DHx963KDF with SHA384","0.4.0.127.0.7.1.1.5.2.1.5":"Bsi Ecka DHx963KDF with SHA512","0.4.0.127.0.7.1.1.5.2.1.6":"Bsi Ecka DHx963KDF with RIPEMD160","0.4.0.127.0.7.1.1.5.2.2":"Bsi Ecka DHSessionKDF","0.4.0.127.0.7.1.1.5.2.2.1":"Bsi Ecka DH Session KDF With3 DES","0.4.0.127.0.7.1.1.5.2.2.2":"Bsi Ecka DH Session KDF with AES128","0.4.0.127.0.7.1.1.5.2.2.3":"Bsi Ecka DH Session KDF with AES192","0.4.0.127.0.7.1.1.5.2.2.4":"Bsi Ecka DH Session KDF with AES256","0.4.0.127.0.7.1.2":"Bsi Ec Key Type","0.4.0.127.0.7.1.2.1":"Bsi Ec Public Key","0.4.0.127.0.7.1.5.1":"Bsi Kaeg","0.4.0.127.0.7.1.5.1.1":"Bsi Kaeg with x963KDF","0.4.0.127.0.7.1.5.1.2":"Bsi Kaeg with 3DESKDF","0.4.0.127.0.7.2.2.1":"Bsi PK","0.4.0.127.0.7.2.2.1.1":"Bsi PK_DH","0.4.0.127.0.7.2.2.1.2":"Bsi PK_ECDH","0.4.0.127.0.7.2.2.2":"Bsi TA","0.4.0.127.0.7.2.2.2.1":"Bsi TA_RSA","0.4.0.127.0.7.2.2.2.1.1":"Bsi TA_RSAv1_5_SHA1","0.4.0.127.0.7.2.2.2.1.2":"Bsi TA_RSAv1_5_SHA256","0.4.0.127.0.7.2.2.2.1.3":"Bsi TA_RSAPSS_SHA1","0.4.0.127.0.7.2.2.2.1.4":"Bsi TA_RSAPSS_SHA256","0.4.0.127.0.7.2.2.2.1.5":"Bsi TA_RSAv1_5_SHA512","0.4.0.127.0.7.2.2.2.1.6":"Bsi TA_RSAPSS_SHA512","0.4.0.127.0.7.2.2.2.2":"Bsi TA_ECDSA","0.4.0.127.0.7.2.2.2.2.1":"Bsi TA_ECDSA_SHA1","0.4.0.127.0.7.2.2.2.2.2":"Bsi TA_ECDSA_SHA224","0.4.0.127.0.7.2.2.2.2.3":"Bsi TA_ECDSA_SHA256","0.4.0.127.0.7.2.2.2.2.4":"Bsi TA_ECDSA_SHA384","0.4.0.127.0.7.2.2.2.2.5":"Bsi TA_ECDSA_SHA512","0.4.0.127.0.7.2.2.3":"Bsi CA","0.4.0.127.0.7.2.2.3.1":"Bsi CA_DH","0.4.0.127.0.7.2.2.3.1.1":"Bsi CA_DH_3DES_CBC_CBC","0.4.0.127.0.7.2.2.3.1.2":"Bsi CA_DH_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.3.1.3":"Bsi CA_DH_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.3.1.4":"Bsi CA_DH_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.3.2":"Bsi CA_ECDH","0.4.0.127.0.7.2.2.3.2.1":"Bsi CA_ECDH_3DES_CBC_CBC","0.4.0.127.0.7.2.2.3.2.2":"Bsi CA_ECDH_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.3.2.3":"Bsi CA_ECDH_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.3.2.4":"Bsi CA_ECDH_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4":"Bsi PACE","0.4.0.127.0.7.2.2.4.1":"Bsi PACE_DH_GM","0.4.0.127.0.7.2.2.4.1.1":"Bsi PACE_DH_GM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.1.2":"Bsi PACE_DH_GM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.1.3":"Bsi PACE_DH_GM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.1.4":"Bsi PACE_DH_GM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.2":"Bsi PACE_ECDH_GM","0.4.0.127.0.7.2.2.4.2.1":"Bsi PACE_ECDH_GM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.2.2":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.2.3":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.2.4":"Bsi PACE_ECDH_GM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.3":"Bsi PACE_DH_IM","0.4.0.127.0.7.2.2.4.3.1":"Bsi PACE_DH_IM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.3.2":"Bsi PACE_DH_IM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.3.3":"Bsi PACE_DH_IM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.3.4":"Bsi PACE_DH_IM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.4.4":"Bsi PACE_ECDH_IM","0.4.0.127.0.7.2.2.4.4.1":"Bsi PACE_ECDH_IM_3DES_CBC_CBC","0.4.0.127.0.7.2.2.4.4.2":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_128","0.4.0.127.0.7.2.2.4.4.3":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_192","0.4.0.127.0.7.2.2.4.4.4":"Bsi PACE_ECDH_IM_AES_CBC_CMAC_256","0.4.0.127.0.7.2.2.5":"Bsi RI","0.4.0.127.0.7.2.2.5.1":"Bsi RI_DH","0.4.0.127.0.7.2.2.5.1.1":"Bsi RI_DH_SHA1","0.4.0.127.0.7.2.2.5.1.2":"Bsi RI_DH_SHA224","0.4.0.127.0.7.2.2.5.1.3":"Bsi RI_DH_SHA256","0.4.0.127.0.7.2.2.5.1.4":"Bsi RI_DH_SHA384","0.4.0.127.0.7.2.2.5.1.5":"Bsi RI_DH_SHA512","0.4.0.127.0.7.2.2.5.2":"Bsi RI_ECDH","0.4.0.127.0.7.2.2.5.2.1":"Bsi RI_ECDH_SHA1","0.4.0.127.0.7.2.2.5.2.2":"Bsi RI_ECDH_SHA224","0.4.0.127.0.7.2.2.5.2.3":"Bsi RI_ECDH_SHA256","0.4.0.127.0.7.2.2.5.2.4":"Bsi RI_ECDH_SHA384","0.4.0.127.0.7.2.2.5.2.5":"Bsi RI_ECDH_SHA512","0.4.0.127.0.7.2.2.6":"Bsi Card Info","0.4.0.127.0.7.2.2.7":"Bsi Eid Security","0.4.0.127.0.7.2.2.8":"Bsi PT","0.4.0.127.0.7.3.1.2":"Bsi EAC Roles","0.4.0.127.0.7.3.1.2.1":"Bsi EAC Roles IS","0.4.0.127.0.7.3.1.2.2":"Bsi EAC Roles AT","0.4.0.127.0.7.3.1.2.3":"Bsi EAC Roles ST","0.4.0.127.0.7.3.1.3":"Bsi TAv2ce","0.4.0.127.0.7.3.1.3.1":"Bsi TAv2ce Description","0.4.0.127.0.7.3.1.3.1.1":"Bsi TAv2ce Description Plain Text","0.4.0.127.0.7.3.1.3.1.2":"Bsi TAv2ce Description IA5 String","0.4.0.127.0.7.3.1.3.1.3":"Bsi TAv2ce Description Octet String","0.4.0.127.0.7.3.1.3.2":"Bsi TAv2ce Terminal Sector","0.4.0.127.0.7.3.1.4":"Bsi Aux Data","0.4.0.127.0.7.3.1.4.1":"Bsi Aux Data Birthday","0.4.0.127.0.7.3.1.4.2":"Bsi Aux Data Expire Date","0.4.0.127.0.7.3.1.4.3":"Bsi Aux Data Community ID","0.4.0.127.0.7.3.1.5":"Bsi Defect List","0.4.0.127.0.7.3.1.5.1":"Bsi Defect Auth Defect","0.4.0.127.0.7.3.1.5.1.1":"Bsi Defect Cert Revoked","0.4.0.127.0.7.3.1.5.1.2":"Bsi Defect Cert Replaced","0.4.0.127.0.7.3.1.5.1.3":"Bsi Defect Chip Auth Key Revoked","0.4.0.127.0.7.3.1.5.1.4":"Bsi Defect Active Auth Key Revoked","0.4.0.127.0.7.3.1.5.2":"Bsi Defect EPassport Defect","0.4.0.127.0.7.3.1.5.2.1":"Bsi Defect EPassport DG Malformed","0.4.0.127.0.7.3.1.5.2.2":"Bsi Defect SOD Invalid","0.4.0.127.0.7.3.1.5.3":"Bsi Defect EID Defect","0.4.0.127.0.7.3.1.5.3.1":"Bsi Defect EIDDG Malformed","0.4.0.127.0.7.3.1.5.3.2":"Bsi Defect EID Integrity","0.4.0.127.0.7.3.1.5.4":"Bsi Defect Document Defect","0.4.0.127.0.7.3.1.5.4.1":"Bsi Defect Card Security Malformed","0.4.0.127.0.7.3.1.5.4.2":"Bsi Defect Chip Security Malformed","0.4.0.127.0.7.3.1.5.4.3":"Bsi Defect Power Down Req","0.4.0.127.0.7.3.1.6":"Bsi List Content Description","0.4.0.127.0.7.3.2.1":"Bsi Security Object","0.4.0.127.0.7.3.2.2":"Bsi Black List","0.4.0.1862":"Etsi Qcs Profile","0.4.0.1862.1":"Etsi Qcs","0.4.0.1862.1.1":"Etsi Qcs Compliance","0.4.0.1862.1.2":"Etsi Qcs Limit Value","0.4.0.1862.1.3":"Etsi Qcs Retention Period","0.4.0.1862.1.4":"Etsi Qcs SSCD","0.4.0.1862.1.5":"Etsi Qcs PDS","0.4.0.1862.1.6":"Etsi QcType","0.4.0.1862.1.6.1":"Etsi QcType eSign","0.4.0.1862.1.6.2":"Etsi QcType eSeal","0.4.0.1862.1.6.3":"Etsi QcType Web","0.4.0.194112.1.0":"QCP Natural Person","0.4.0.194112.1.1":"QCP Legal Person","0.4.0.194112.1.2":"QCP Natural QSCD","0.4.0.194112.1.3":"QCP Legal QSCD","0.4.0.194112.1.4":"QCP Web","0.9.2342.19200300.100.1.1":"User ID","0.9.2342.19200300.100.1.3":"Rfc822 Mailbox","0.9.2342.19200300.100.1.25":"Domain Component","1.0.10118.3.0.49":"Ripemd160","1.0.10118.3.0.50":"Ripemd128","1.0.10118.3.0.55":"Whirlpool","1.2.36.1.3.1.1.1":"Qgpki","1.2.36.1.3.1.1.1.1":"Qgpki Policies","1.2.36.1.3.1.1.1.1.1":"Qgpki Med Intermed CA","1.2.36.1.3.1.1.1.1.1.1":"Qgpki Med Intermed Individual","1.2.36.1.3.1.1.1.1.1.2":"Qgpki Med Intermed Device Control","1.2.36.1.3.1.1.1.1.1.3":"Qgpki Med Intermed Device","1.2.36.1.3.1.1.1.1.1.4":"Qgpki Med Intermed Authorised Party","1.2.36.1.3.1.1.1.1.1.5":"Qgpki Med Intermed Device System","1.2.36.1.3.1.1.1.1.2":"Qgpki Med Issuing CA","1.2.36.1.3.1.1.1.1.2.1":"Qgpki Med Issuing Individual","1.2.36.1.3.1.1.1.1.2.2":"Qgpki Med Issuing Device Control","1.2.36.1.3.1.1.1.1.2.3":"Qgpki Med Issuing Device","1.2.36.1.3.1.1.1.1.2.4":"Qgpki Med Issuing Authorised Party","1.2.36.1.3.1.1.1.1.2.5":"Qgpki Med Issuing Client Auth","1.2.36.1.3.1.1.1.1.2.6":"Qgpki Med Issuing Server Auth","1.2.36.1.3.1.1.1.1.2.7":"Qgpki Med Issuing Data Prot","1.2.36.1.3.1.1.1.1.2.8":"Qgpki Med Issuing Token Auth","1.2.36.1.3.1.1.1.1.3":"Qgpki Basic Intermed CA","1.2.36.1.3.1.1.1.1.3.1":"Qgpki Basic Intermed Device System","1.2.36.1.3.1.1.1.1.4":"Qgpki Basic Issuing CA","1.2.36.1.3.1.1.1.1.4.1":"Qgpki Basic Issuing Client Auth","1.2.36.1.3.1.1.1.1.4.2":"Qgpki Basic Issuing Server Auth","1.2.36.1.3.1.1.1.1.4.3":"Qgpki Basic Issuing Data Signing","1.2.36.1.3.1.1.1.2":"Qgpki Assurance Level","1.2.36.1.3.1.1.1.2.1":"Qgpki Assurance Rudimentary","1.2.36.1.3.1.1.1.2.2":"Qgpki Assurance Basic","1.2.36.1.3.1.1.1.2.3":"Qgpki Assurance Medium","1.2.36.1.3.1.1.1.2.4":"Qgpki Assurance High","1.2.36.1.3.1.1.1.3":"Qgpki Cert Function","1.2.36.1.3.1.1.1.3.1":"Qgpki Function Individual","1.2.36.1.3.1.1.1.3.2":"Qgpki Function Device","1.2.36.1.3.1.1.1.3.3":"Qgpki Function Authorised Party","1.2.36.1.3.1.1.1.3.4":"Qgpki Function Device Control","1.2.36.1.3.1.2":"Qpspki","1.2.36.1.3.1.2.1":"Qpspki Policies","1.2.36.1.3.1.2.1.2":"Qpspki Policy Basic","1.2.36.1.3.1.2.1.3":"Qpspki Policy Medium","1.2.36.1.3.1.2.1.4":"Qpspki Policy High","1.2.36.1.3.1.3.2":"Qtmrpki","1.2.36.1.3.1.3.2.1":"Qtmrpki Policies","1.2.36.1.3.1.3.2.2":"Qtmrpki Purpose","1.2.36.1.3.1.3.2.2.1":"Qtmrpki Individual","1.2.36.1.3.1.3.2.2.2":"Qtmrpki Device Control","1.2.36.1.3.1.3.2.2.3":"Qtmrpki Device","1.2.36.1.3.1.3.2.2.4":"Qtmrpki Authorised Party","1.2.36.1.3.1.3.2.2.5":"Qtmrpki Device System","1.2.36.1.3.1.3.2.3":"Qtmrpki Device","1.2.36.1.3.1.3.2.3.1":"Qtmrpki Driver License","1.2.36.1.3.1.3.2.3.2":"Qtmrpki Industry Authority","1.2.36.1.3.1.3.2.3.3":"Qtmrpki Marine License","1.2.36.1.3.1.3.2.3.4":"Qtmrpki Adult Proof Of Age","1.2.36.1.3.1.3.2.3.5":"Qtmrpki Sam","1.2.36.1.3.1.3.2.4":"Qtmrpki Authorised Party","1.2.36.1.3.1.3.2.4.1":"Qtmrpki Transport Inspector","1.2.36.1.3.1.3.2.4.2":"Qtmrpki Police Officer","1.2.36.1.3.1.3.2.4.3":"Qtmrpki System","1.2.36.1.3.1.3.2.4.4":"Qtmrpki Liquor Licensing Inspector","1.2.36.1.3.1.3.2.4.5":"Qtmrpki Marine Enforcement Officer","1.2.36.1.333.1":"Australian Business Number","1.2.36.68980861.1.1.2":"Signet Personal","1.2.36.68980861.1.1.3":"Signet Business","1.2.36.68980861.1.1.4":"Signet Legal","1.2.36.68980861.1.1.10":"Signet Pilot","1.2.36.68980861.1.1.11":"Signet Intra Net","1.2.36.68980861.1.1.20":"Signet Policy","1.2.36.75878867.1.100.1.1":"Certificates Australia Policy","1.2.40.0.17.1.22":"A-Trust EV policy","1.2.392.200011.61.1.1.1":"Mitsubishi Security Algorithm","1.2.392.200011.61.1.1.1.1":"Misty1-cbc","1.2.392.200091.100.721.1":"Security Communication (SECOM) EV policy","1.2.410.200004.1":"Kisa Algorithm","1.2.410.200004.1.1":"Kcdsa","1.2.410.200004.1.2":"Has160","1.2.410.200004.1.3":"Seed ECB","1.2.410.200004.1.4":"Seed CBC","1.2.410.200004.1.5":"Seed OFB","1.2.410.200004.1.6":"Seed CFB","1.2.410.200004.1.7":"Seed MAC","1.2.410.200004.1.8":"Kcdsa with HAS160","1.2.410.200004.1.9":"Kcdsa with SHA1","1.2.410.200004.1.10":"PBE with HAS160 And SEED-ECB","1.2.410.200004.1.11":"PBE with HAS160 And SEED-CBC","1.2.410.200004.1.12":"PBE with HAS160 And SEED-CFB","1.2.410.200004.1.13":"PBE with HAS160 And SEED-OFB","1.2.410.200004.1.14":"PBE with SHA1 And SEED-ECB","1.2.410.200004.1.15":"PBE with SHA1 And SEED-CBC","1.2.410.200004.1.16":"PBE with SHA1 And SEED-CFB","1.2.410.200004.1.17":"PBE with SHA1 And SEED-OFB","1.2.410.200004.1.20":"RSA with HAS160","1.2.410.200004.1.21":"Kcdsa1","1.2.410.200004.2":"Npki CP","1.2.410.200004.2.1":"Npki Signature Policy","1.2.410.200004.3":"Npki KP","1.2.410.200004.4":"Npki AT","1.2.410.200004.5":"Npki LCA","1.2.410.200004.5.1":"Npki Sign Korea","1.2.410.200004.5.2":"Npki Sign Gate","1.2.410.200004.5.3":"Npki Nca Sign","1.2.410.200004.6":"Npki ON","1.2.410.200004.7":"Npki APP","1.2.410.200004.7.1":"Npki SMIME","1.2.410.200004.7.1.1":"Npki SMIME Algo","1.2.410.200004.7.1.1.1":"Npki Cms SEED Wrap","1.2.410.200004.10":"Npki","1.2.410.200004.10.1":"Npki Attribute","1.2.410.200004.10.1.1":"Npki Identify Data","1.2.410.200004.10.1.1.1":"Npki VID","1.2.410.200004.10.1.1.2":"Npki Encrypted VID","1.2.410.200004.10.1.1.3":"Npki Random Num","1.2.410.200004.10.1.1.4":"Npki VID","1.2.410.200046.1.1":"Aria1 Algorithm Modes","1.2.410.200046.1.1.1":"Aria128-ecb","1.2.410.200046.1.1.2":"Aria128-cbc","1.2.410.200046.1.1.3":"Aria128-cfb","1.2.410.200046.1.1.4":"Aria128-ofb","1.2.410.200046.1.1.5":"Aria128-ctr","1.2.410.200046.1.1.6":"Aria192-ecb","1.2.410.200046.1.1.7":"Aria192-cbc","1.2.410.200046.1.1.8":"Aria192-cfb","1.2.410.200046.1.1.9":"Aria192-ofb","1.2.410.200046.1.1.10":"Aria192-ctr","1.2.410.200046.1.1.11":"Aria256-ecb","1.2.410.200046.1.1.12":"Aria256-cbc","1.2.410.200046.1.1.13":"Aria256-cfb","1.2.410.200046.1.1.14":"Aria256-ofb","1.2.410.200046.1.1.15":"Aria256-ctr","1.2.410.200046.1.1.21":"Aria128-cmac","1.2.410.200046.1.1.22":"Aria192-cmac","1.2.410.200046.1.1.23":"Aria256-cmac","1.2.410.200046.1.1.31":"Aria128-ocb2","1.2.410.200046.1.1.32":"Aria192-ocb2","1.2.410.200046.1.1.33":"Aria256-ocb2","1.2.410.200046.1.1.34":"Aria128-gcm","1.2.410.200046.1.1.35":"Aria192-gcm","1.2.410.200046.1.1.36":"Aria256-gcm","1.2.410.200046.1.1.37":"Aria128-ccm","1.2.410.200046.1.1.38":"Aria192-ccm","1.2.410.200046.1.1.39":"Aria256-ccm","1.2.410.200046.1.1.40":"Aria128-keywrap","1.2.410.200046.1.1.41":"Aria192-keywrap","1.2.410.200046.1.1.42":"Aria256-keywrap","1.2.410.200046.1.1.43":"Aria128-keywrap with Pad","1.2.410.200046.1.1.44":"Aria192-keywrap with Pad","1.2.410.200046.1.1.45":"Aria256-keywrap with Pad","1.2.643.2.2.3":"Gost Signature","1.2.643.2.2.4":"Gost94 Signature","1.2.643.2.2.9":"Gost Digest","1.2.643.2.2.10":"Hmac Gost","1.2.643.2.2.13.0":"Gost Wrap","1.2.643.2.2.13.1":"Crypto Pro Wrap","1.2.643.2.2.14.0":"Null Meshing","1.2.643.2.2.14.1":"Crypto Pro Meshing","1.2.643.2.2.19":"Gost Public Key","1.2.643.2.2.20":"Gost94 Public Key","1.2.643.2.2.21":"Gost Cipher","1.2.643.2.2.30.0":"Test Digest Params","1.2.643.2.2.30.1":"Crypto Pro Digest A","1.2.643.2.2.31.0":"Test Cipher Params","1.2.643.2.2.31.1":"Crypto Pro Cipher A","1.2.643.2.2.31.2":"Crypto Pro Cipher B","1.2.643.2.2.31.3":"Crypto Pro Cipher C","1.2.643.2.2.31.4":"Crypto Pro Cipher D","1.2.643.2.2.31.5":"Oscar11 Cipher","1.2.643.2.2.31.6":"Oscar10 Cipher","1.2.643.2.2.31.7":"Ric1 Cipher","1.2.643.2.2.35.0":"Test Sign Params","1.2.643.2.2.35.1":"Crypto Pro Sign A","1.2.643.2.2.35.2":"Crypto Pro Sign B","1.2.643.2.2.35.3":"Crypto Pro Sign C","1.2.643.2.2.36.0":"Crypto Pro Sign XA","1.2.643.2.2.36.1":"Crypto Pro Sign XB","1.2.643.2.2.96":"Crypto Pro ECDH Wrap","1.2.752.34.1":"Seis-cp","1.2.752.34.1.1":"SEIS high-assurance policy Identifier","1.2.752.34.1.2":"SEIS GAK policy Identifier","1.2.752.34.2":"SEI Spe","1.2.752.34.3":"SEI Sat","1.2.752.34.3.1":"SEI Sat-personal Identifier","1.2.840.10040.1":"Module","1.2.840.10040.1.1":"x9f1-cert-mgmt","1.2.840.10040.2":"Holdinstruction","1.2.840.10040.2.1":"Holdinstruction-none","1.2.840.10040.2.2":"Callissuer","1.2.840.10040.2.3":"Reject","1.2.840.10040.2.4":"Pickup Token","1.2.840.10040.3":"Attribute","1.2.840.10040.3.1":"Countersignature","1.2.840.10040.3.2":"Attribute-cert","1.2.840.10040.4":"Algorithm","1.2.840.10040.4.1":"DSA","1.2.840.10040.4.2":"DSA-match","1.2.840.10040.4.3":"DSA with SHA1","1.2.840.10045.1":"Field Type","1.2.840.10045.1.1":"Prime-field","1.2.840.10045.1.2":"Characteristic-two-field","1.2.840.10045.1.2.3":"Characteristic-two-basis","1.2.840.10045.1.2.3.1":"ON Basis","1.2.840.10045.1.2.3.2":"TP Basis","1.2.840.10045.1.2.3.3":"PP Basis","1.2.840.10045.2":"Public Key Type","1.2.840.10045.2.1":"EC Public Key","1.2.840.10045.3.0.1":"C2pnb163v1","1.2.840.10045.3.0.2":"C2pnb163v2","1.2.840.10045.3.0.3":"C2pnb163v3","1.2.840.10045.3.0.5":"C2tnb191v1","1.2.840.10045.3.0.6":"C2tnb191v2","1.2.840.10045.3.0.7":"C2tnb191v3","1.2.840.10045.3.0.10":"C2pnb208w1","1.2.840.10045.3.0.11":"C2tnb239v1","1.2.840.10045.3.0.12":"C2tnb239v2","1.2.840.10045.3.0.13":"C2tnb239v3","1.2.840.10045.3.0.16":"C2pnb272w1","1.2.840.10045.3.0.18":"C2tnb359v1","1.2.840.10045.3.0.19":"C2pnb368w1","1.2.840.10045.3.0.20":"C2tnb431r1","1.2.840.10045.3.1.1":"Prime192v1","1.2.840.10045.3.1.2":"Prime192v2","1.2.840.10045.3.1.3":"Prime192v3","1.2.840.10045.3.1.4":"Prime239v1","1.2.840.10045.3.1.5":"Prime239v2","1.2.840.10045.3.1.6":"Prime239v3","1.2.840.10045.3.1.7":"Prime256v1","1.2.840.10045.4.1":"ECDSA with SHA1","1.2.840.10045.4.2":"ECDSA with Recommended","1.2.840.10045.4.3":"ECDSA with Specified","1.2.840.10045.4.3.1":"ECDSA with SHA224","1.2.840.10045.4.3.2":"ECDSA with SHA256","1.2.840.10045.4.3.3":"ECDSA with SHA384","1.2.840.10045.4.3.4":"ECDSA with SHA512","1.2.840.10046.1":"Field Type","1.2.840.10046.1.1":"Gf-prime","1.2.840.10046.2":"Number Type","1.2.840.10046.2.1":"DH Public Key","1.2.840.10046.3":"Scheme","1.2.840.10046.3.1":"DH Static","1.2.840.10046.3.2":"DH Ephem","1.2.840.10046.3.3":"DH Hybrid1","1.2.840.10046.3.4":"DH Hybrid2","1.2.840.10046.3.5":"Mqv2","1.2.840.10046.3.6":"Mqv1","1.2.840.10065.2.2":"?","1.2.840.10065.2.3":"Healthcare License","1.2.840.10065.2.3.1.1":"License?","1.2.840.10070.":"Iec62351","1.2.840.10070.8":"Iec62351_8","1.2.840.10070.8.1":"Iec User Roles","1.2.840.113533.7":"NSN","1.2.840.113533.7.65":"NSN-ce","1.2.840.113533.7.65.0":"Entrust Version Info","1.2.840.113533.7.66":"NSN-alg","1.2.840.113533.7.66.3":"Cast3 CBC","1.2.840.113533.7.66.10":"Cast5 CBC","1.2.840.113533.7.66.11":"Cast5 MAC","1.2.840.113533.7.66.12":"PBE with MD5 And CAST5-CBC","1.2.840.113533.7.66.13":"Password Based Mac","1.2.840.113533.7.67":"NSN-oc","1.2.840.113533.7.67.0":"Entrust User","1.2.840.113533.7.68":"NSN-at","1.2.840.113533.7.68.0":"Entrust CA Info","1.2.840.113533.7.68.10":"Attribute Certificate","1.2.840.113549.1.1":"PKCS-1","1.2.840.113549.1.1.1":"RSA Encryption","1.2.840.113549.1.1.2":"MD2 with RSA Encryption","1.2.840.113549.1.1.3":"MD4 with RSA Encryption","1.2.840.113549.1.1.4":"MD5 with RSA Encryption","1.2.840.113549.1.1.5":"SHA1 with RSA Encryption","1.2.840.113549.1.1.6":"RSA OAEP Encryption SET","1.2.840.113549.1.1.7":"RSA OAEP","1.2.840.113549.1.1.8":"PKCS1-MGF","1.2.840.113549.1.1.9":"RSA OAEP-p Specified","1.2.840.113549.1.1.10":"RSA PSS","1.2.840.113549.1.1.11":"SHA256 with RSA Encryption","1.2.840.113549.1.1.12":"SHA384 with RSA Encryption","1.2.840.113549.1.1.13":"SHA512 with RSA Encryption","1.2.840.113549.1.1.14":"SHA224 with RSA Encryption","1.2.840.113549.1.2":"Bsafe Rsa Encr","1.2.840.113549.1.3":"PKCS-3","1.2.840.113549.1.3.1":"Dh Key Agreement","1.2.840.113549.1.5":"PKCS-5","1.2.840.113549.1.5.1":"PBE with MD2 And DES-CBC","1.2.840.113549.1.5.3":"PBE with MD5 And DES-CBC","1.2.840.113549.1.5.4":"PBE with MD2 And RC2-CBC","1.2.840.113549.1.5.6":"PBE with MD5 And RC2-CBC","1.2.840.113549.1.5.9":"PBE with MD5 And XOR","1.2.840.113549.1.5.10":"PBE with SHA And DES-CBC","1.2.840.113549.1.5.12":"PKCS5 PBKDF2","1.2.840.113549.1.5.13":"PKCS5 PBES2","1.2.840.113549.1.5.14":"PKCS5 PBMAC1","1.2.840.113549.1.7":"PKCS-7","1.2.840.113549.1.7.1":"Data","1.2.840.113549.1.7.2":"Signed Data","1.2.840.113549.1.7.3":"Enveloped Data","1.2.840.113549.1.7.4":"Signed And Enveloped Data","1.2.840.113549.1.7.5":"Digested Data","1.2.840.113549.1.7.6":"Encrypted Data","1.2.840.113549.1.7.7":"Data with Attributes","1.2.840.113549.1.7.8":"Encrypted Private Key Info","1.2.840.113549.1.9":"PKCS-9","1.2.840.113549.1.9.1":"Email","1.2.840.113549.1.9.2":"Unstructured Name","1.2.840.113549.1.9.3":"Content Type","1.2.840.113549.1.9.4":"Message Digest","1.2.840.113549.1.9.5":"Signing Time","1.2.840.113549.1.9.6":"Countersignature","1.2.840.113549.1.9.7":"Challenge Password","1.2.840.113549.1.9.8":"Unstructured Address","1.2.840.113549.1.9.9":"Extended Certificate Attributes","1.2.840.113549.1.9.10":"Issuer And Serial Number","1.2.840.113549.1.9.11":"Password Check","1.2.840.113549.1.9.12":"Public Key","1.2.840.113549.1.9.13":"Signing Description","1.2.840.113549.1.9.14":"Extension Request","1.2.840.113549.1.9.15":"S/MIME Capabilities","1.2.840.113549.1.9.15.1":"Prefer Signed Data","1.2.840.113549.1.9.15.2":"Can Not Decrypt Any","1.2.840.113549.1.9.15.3":"Receipt Request","1.2.840.113549.1.9.15.4":"Receipt","1.2.840.113549.1.9.15.5":"Content Hints","1.2.840.113549.1.9.15.6":"Ml Expansion History","1.2.840.113549.1.9.16":"Id-sMIME","1.2.840.113549.1.9.16.0":"Id-mod","1.2.840.113549.1.9.16.0.1":"Id-mod-cms","1.2.840.113549.1.9.16.0.2":"Id-mod-ess","1.2.840.113549.1.9.16.0.3":"Id-mod-oid","1.2.840.113549.1.9.16.0.4":"Id-mod-msg-v3","1.2.840.113549.1.9.16.0.5":"Id-mod-ets-e Signature-88","1.2.840.113549.1.9.16.0.6":"Id-mod-ets-e Signature-97","1.2.840.113549.1.9.16.0.7":"Id-mod-ets-e Sig Policy-88","1.2.840.113549.1.9.16.0.8":"Id-mod-ets-e Sig Policy-88","1.2.840.113549.1.9.16.1":"Content Type","1.2.840.113549.1.9.16.1.1":"Receipt","1.2.840.113549.1.9.16.1.2":"Auth Data","1.2.840.113549.1.9.16.1.3":"Publish Cert","1.2.840.113549.1.9.16.1.4":"TST Info","1.2.840.113549.1.9.16.1.5":"TDT Info","1.2.840.113549.1.9.16.1.6":"Content Info","1.2.840.113549.1.9.16.1.7":"DVCS Request Data","1.2.840.113549.1.9.16.1.8":"DVCS Response Data","1.2.840.113549.1.9.16.1.9":"Compressed Data","1.2.840.113549.1.9.16.1.10":"SCVP Cert Val Request","1.2.840.113549.1.9.16.1.11":"SCVP Cert Val Response","1.2.840.113549.1.9.16.1.12":"SCVP Val Pol Request","1.2.840.113549.1.9.16.1.13":"SCVP Val Pol Response","1.2.840.113549.1.9.16.1.14":"Attr Cert Enc Attrs","1.2.840.113549.1.9.16.1.15":"TS Req","1.2.840.113549.1.9.16.1.16":"Firmware Package","1.2.840.113549.1.9.16.1.17":"Firmware Load Receipt","1.2.840.113549.1.9.16.1.18":"Firmware Load Error","1.2.840.113549.1.9.16.1.19":"Content Collection","1.2.840.113549.1.9.16.1.20":"Content with Attrs","1.2.840.113549.1.9.16.1.21":"Enc Key with I D","1.2.840.113549.1.9.16.1.22":"Enc PEPSI","1.2.840.113549.1.9.16.1.23":"Auth Enveloped Data","1.2.840.113549.1.9.16.1.24":"Route Origin Attest","1.2.840.113549.1.9.16.1.25":"Symmetric Key Package","1.2.840.113549.1.9.16.1.26":"Rpki Manifest","1.2.840.113549.1.9.16.1.27":"Ascii Text with CRLF","1.2.840.113549.1.9.16.1.28":"XML","1.2.840.113549.1.9.16.1.29":"PDF","1.2.840.113549.1.9.16.1.30":"Postscript","1.2.840.113549.1.9.16.1.31":"Timestamped Data","1.2.840.113549.1.9.16.1.32":"As Adjacency Attest","1.2.840.113549.1.9.16.1.33":"Rpki Trust Anchor","1.2.840.113549.1.9.16.1.34":"Trust Anchor List","1.2.840.113549.1.9.16.2":"Authenticated Attributes","1.2.840.113549.1.9.16.2.1":"Receipt Request","1.2.840.113549.1.9.16.2.2":"Security Label","1.2.840.113549.1.9.16.2.3":"Ml Expand History","1.2.840.113549.1.9.16.2.4":"Content Hint","1.2.840.113549.1.9.16.2.5":"Msg Sig Digest","1.2.840.113549.1.9.16.2.6":"Encap Content Type","1.2.840.113549.1.9.16.2.7":"Content Identifier","1.2.840.113549.1.9.16.2.8":"Mac Value","1.2.840.113549.1.9.16.2.9":"Equivalent Labels","1.2.840.113549.1.9.16.2.10":"Content Reference","1.2.840.113549.1.9.16.2.11":"Encryp Key Pref","1.2.840.113549.1.9.16.2.12":"Signing Certificate","1.2.840.113549.1.9.16.2.13":"Smime Encrypt Certs","1.2.840.113549.1.9.16.2.14":"Time Stamp Token","1.2.840.113549.1.9.16.2.15":"Sig Policy Id","1.2.840.113549.1.9.16.2.16":"Commitment Type","1.2.840.113549.1.9.16.2.17":"Signer Location","1.2.840.113549.1.9.16.2.18":"Signer Attr","1.2.840.113549.1.9.16.2.19":"Other Sig Cert","1.2.840.113549.1.9.16.2.20":"Content Timestamp","1.2.840.113549.1.9.16.2.21":"Certificate Refs","1.2.840.113549.1.9.16.2.22":"Revocation Refs","1.2.840.113549.1.9.16.2.23":"Cert Values","1.2.840.113549.1.9.16.2.24":"Revocation Values","1.2.840.113549.1.9.16.2.25":"Esc Time Stamp","1.2.840.113549.1.9.16.2.26":"Cert CRL Timestamp","1.2.840.113549.1.9.16.2.27":"Archive Time Stamp","1.2.840.113549.1.9.16.2.28":"Signature Type","1.2.840.113549.1.9.16.2.29":"Dvcs Dvc","1.2.840.113549.1.9.16.2.30":"Cek Reference","1.2.840.113549.1.9.16.2.31":"Max CEK Decrypts","1.2.840.113549.1.9.16.2.32":"Kek Derivation Alg","1.2.840.113549.1.9.16.2.33":"Intended Recipients","1.2.840.113549.1.9.16.2.34":"Cmc Unsigned Data","1.2.840.113549.1.9.16.2.35":"Fw Package ID","1.2.840.113549.1.9.16.2.36":"Fw Target Hardware IDs","1.2.840.113549.1.9.16.2.37":"Fw Decrypt Key ID","1.2.840.113549.1.9.16.2.38":"Fw Impl Crypt Algs","1.2.840.113549.1.9.16.2.39":"Fw Wrapped Firmware Key","1.2.840.113549.1.9.16.2.40":"Fw Community Identifiers","1.2.840.113549.1.9.16.2.41":"Fw Pkg Message Digest","1.2.840.113549.1.9.16.2.42":"Fw Package Info","1.2.840.113549.1.9.16.2.43":"Fw Impl Compress Algs","1.2.840.113549.1.9.16.2.44":"Ets Attr Certificate Refs","1.2.840.113549.1.9.16.2.45":"Ets Attr Revocation Refs","1.2.840.113549.1.9.16.2.46":"Binary Signing Time","1.2.840.113549.1.9.16.2.47":"Signing Certificate V2","1.2.840.113549.1.9.16.2.48":"Ets Archive Time Stamp V2","1.2.840.113549.1.9.16.2.49":"Er Internal","1.2.840.113549.1.9.16.2.50":"Er External","1.2.840.113549.1.9.16.2.51":"Multiple Signatures","1.2.840.113549.1.9.16.3.1":"Es DHwith3 DES","1.2.840.113549.1.9.16.3.2":"Es DHwith RC2","1.2.840.113549.1.9.16.3.3":"3des Wrap","1.2.840.113549.1.9.16.3.4":"Rc2 Wrap","1.2.840.113549.1.9.16.3.5":"Es DH","1.2.840.113549.1.9.16.3.6":"Cms3 DESwrap","1.2.840.113549.1.9.16.3.7":"Cms RC2wrap","1.2.840.113549.1.9.16.3.8":"Zlib","1.2.840.113549.1.9.16.3.9":"Pwri KEK","1.2.840.113549.1.9.16.3.10":"Ss DH","1.2.840.113549.1.9.16.3.11":"Hmac With3 DE Swrap","1.2.840.113549.1.9.16.3.12":"Hmac with AE Swrap","1.2.840.113549.1.9.16.3.13":"MD5 Xor Experiment","1.2.840.113549.1.9.16.3.14":"RSA KEM","1.2.840.113549.1.9.16.3.15":"Auth Enc128","1.2.840.113549.1.9.16.3.16":"Auth Enc256","1.2.840.113549.1.9.16.4.1":"Cert Dist-ldap","1.2.840.113549.1.9.16.5.1":"Sig Policy Qualifier-spuri x","1.2.840.113549.1.9.16.5.2":"Sig Policy Qualifier-sp User Notice","1.2.840.113549.1.9.16.6.1":"Proof Of Origin","1.2.840.113549.1.9.16.6.2":"Proof Of Receipt","1.2.840.113549.1.9.16.6.3":"Proof Of Delivery","1.2.840.113549.1.9.16.6.4":"Proof Of Sender","1.2.840.113549.1.9.16.6.5":"Proof Of Approval","1.2.840.113549.1.9.16.6.6":"Proof Of Creation","1.2.840.113549.1.9.16.8.1":"Gl Use KEK","1.2.840.113549.1.9.16.8.2":"Gl Delete","1.2.840.113549.1.9.16.8.3":"Gl Add Member","1.2.840.113549.1.9.16.8.4":"Gl Delete Member","1.2.840.113549.1.9.16.8.5":"Gl Rekey","1.2.840.113549.1.9.16.8.6":"Gl Add Owner","1.2.840.113549.1.9.16.8.7":"Gl Remove Owner","1.2.840.113549.1.9.16.8.8":"Glk Compromise","1.2.840.113549.1.9.16.8.9":"Glk Refresh","1.2.840.113549.1.9.16.8.10":"Gl Fail Info","1.2.840.113549.1.9.16.8.11":"Gla Query Request","1.2.840.113549.1.9.16.8.12":"Gla Query Response","1.2.840.113549.1.9.16.8.13":"Gl Provide Cert","1.2.840.113549.1.9.16.8.14":"Gl Update Cert","1.2.840.113549.1.9.16.8.15":"Gl Key","1.2.840.113549.1.9.16.9":"Signature Type Identifier","1.2.840.113549.1.9.16.9.1":"Originator Sig","1.2.840.113549.1.9.16.9.2":"Domain Sig","1.2.840.113549.1.9.16.9.3":"Additional Attributes Sig","1.2.840.113549.1.9.16.9.4":"Review Sig","1.2.840.113549.1.9.16.11":"Capabilities","1.2.840.113549.1.9.16.11.1":"Prefer Binary Inside","1.2.840.113549.1.9.20":"Friendly Name (for PKCS #12)","1.2.840.113549.1.9.21":"Local Key I D (for PKCS #12)","1.2.840.113549.1.9.22":"Cert Types (for PKCS #12)","1.2.840.113549.1.9.22.1":"x509 Certificate (for PKCS #12)","1.2.840.113549.1.9.22.2":"SDSI Certificate (for PKCS #12)","1.2.840.113549.1.9.23":"CRL Types (for PKCS #12)","1.2.840.113549.1.9.23.1":"x509 Crl (for PKCS #12)","1.2.840.113549.1.9.24":"PKCS9object Class","1.2.840.113549.1.9.25":"PKCS9attributes","1.2.840.113549.1.9.25.1":"PKCS15 Token","1.2.840.113549.1.9.25.2":"Encrypted Private Key Info","1.2.840.113549.1.9.25.3":"Random Nonce","1.2.840.113549.1.9.25.4":"Sequence Number","1.2.840.113549.1.9.25.5":"PKCS7 PDU","1.2.840.113549.1.9.26":"PKCS9syntax","1.2.840.113549.1.9.27":"PKCS9matching Rules","1.2.840.113549.1.12":"PKCS-12","1.2.840.113549.1.12.1":"PKCS-12- Pbe Ids#12 mode ID","1.2.840.113549.1.12.1.1":"PBE with SHA And128 Bit RC4","1.2.840.113549.1.12.1.2":"PBE with SHA And40 Bit RC4","1.2.840.113549.1.12.1.3":"PBE with SHA And3-Key Triple DES-CBC","1.2.840.113549.1.12.1.4":"PBE with SHA And2-Key Triple DES-CBC","1.2.840.113549.1.12.1.5":"PBE with SHA And128 Bit RC2-CBC","1.2.840.113549.1.12.1.6":"PBE with SHA And40 Bit RC2-CBC","1.2.840.113549.1.12.2":"PKCS-12-ESPVKID","1.2.840.113549.1.12.2.1":"PKCS-12-PKCS8 Key Shrouding(1284011354911235) instead","1.2.840.113549.1.12.3":"PKCS-12-Bag Ids","1.2.840.113549.1.12.3.1":"PKCS-12-key Bag Id","1.2.840.113549.1.12.3.2":"PKCS-12-cert And CRL Bag Id","1.2.840.113549.1.12.3.3":"PKCS-12-secret Bag Id","1.2.840.113549.1.12.3.4":"PKCS-12-safe Contents Id","1.2.840.113549.1.12.3.5":"PKCS-12-pkcs","1.2.840.113549.1.12.4":"PKCS-12-Cert Bag ID","1.2.840.113549.1.12.4.1":"PKCS-12-x509 Cert CRL Bag I Dformerly assigned as pkcs-12-x509 Cert CRL Bag","1.2.840.113549.1.12.4.2":"PKCS-12-SDSI Cert Bag I Dformerly assigned as pkcs-12-SDSI Cert Bag","1.2.840.113549.1.12.5":"PKCS-12-OID","1.2.840.113549.1.12.5.1":"PKCS-12-PBEI Dthe partially compatible (128401135491121) OIDs instead","1.2.840.113549.1.12.5.1.1":"PKCS-12-PBE with SHA1 And128 Bit RC4use (1284011354911211) instead","1.2.840.113549.1.12.5.1.2":"PKCS-12-PBE with SHA1 And40 Bit RC4use (1284011354911212) instead","1.2.840.113549.1.12.5.1.3":"PKCS-12-PBE with SHA1 And Triple DESCB Cuse the incompatible but similar (1284011354911213) or (1284011354911214) instead","1.2.840.113549.1.12.5.1.4":"PKCS-12-PBE with SHA1 And128 Bit RC2CB Cuse (1284011354911215) instead","1.2.840.113549.1.12.5.1.5":"PKCS-12-PBE with SHA1 And40 Bit RC2CB Cuse (1284011354911216) instead","1.2.840.113549.1.12.5.1.6":"PKCS-12-PBE with SHA1 And RC4use the incompatible but similar (1284011354911211) or (1284011354911212) instead","1.2.840.113549.1.12.5.1.7":"PKCS-12-PBE with SHA1 And RC2CB Cuse the incompatible but similar (1284011354911215) or (1284011354911216) instead","1.2.840.113549.1.12.5.2":"PKCS-12-Enveloping I Dthe conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.1":"PKCS-12-RSA Encryption With128 Bit RC4use the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.2":"PKCS-12-RSA Encryption With40 Bit RC4use the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.2.3":"PKCS-12-RSA Encryption with Triple DESuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.3":"PKCS-12-Signature IDuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.5.3.1":"PKCS-12-RSA Signature with SHA1 Digestuse the conventional PKCS#1OIDs instead","1.2.840.113549.1.12.10":"PKCS-12 Version1","1.2.840.113549.1.12.10.1":"PKCS-12 Bad Ids","1.2.840.113549.1.12.10.1.1":"PKCS-12-key Bag","1.2.840.113549.1.12.10.1.2":"PKCS-12-pkcs","1.2.840.113549.1.12.10.1.3":"PKCS-12-cert Bag","1.2.840.113549.1.12.10.1.4":"PKCS-12-crl Bag","1.2.840.113549.1.12.10.1.5":"PKCS-12-secret Bag","1.2.840.113549.1.12.10.1.6":"PKCS-12-safe Contents Bag","1.2.840.113549.1.15.1":"PKCS15modules","1.2.840.113549.1.15.2":"PKCS15attributes","1.2.840.113549.1.15.3":"PKCS15content Type","1.2.840.113549.1.15.3.1":"PKCS15content","1.2.840.113549.2":"Digest Algorithm","1.2.840.113549.2.2":"MD2","1.2.840.113549.2.4":"MD4","1.2.840.113549.2.5":"MD5","1.2.840.113549.2.7":"HMAC with SHA1","1.2.840.113549.2.8":"HMAC with SHA224","1.2.840.113549.2.9":"HMAC with SHA256","1.2.840.113549.2.10":"HMAC with SHA384","1.2.840.113549.2.11":"HMAC with SHA512","1.2.840.113549.3":"Encryption Algorithm","1.2.840.113549.3.2":"Rc2CBC","1.2.840.113549.3.3":"Rc2ECB","1.2.840.113549.3.4":"Rc4","1.2.840.113549.3.5":"Rc4 with MAC","1.2.840.113549.3.6":"Desx-CBC","1.2.840.113549.3.7":"Des-EDE3-CBC","1.2.840.113549.3.8":"Rc5CBC","1.2.840.113549.3.9":"Rc5-CBCPad","1.2.840.113549.3.10":"DesCDMF","1.2.840.113556.1.2.241":"Delivery Mechanism","1.2.840.113556.1.2.281":"Nt Security Descriptor","1.2.840.113556.1.3.0":"Site-Addressing","1.2.840.113556.1.3.13":"Class Schema","1.2.840.113556.1.3.14":"Attribute Schema","1.2.840.113556.1.3.17":"Mailbox- Agent","1.2.840.113556.1.3.22":"Mailbox","1.2.840.113556.1.3.23":"Container","1.2.840.113556.1.3.46":"Mail Recipient","1.2.840.113556.1.4.145":"Revision","1.2.840.113556.1.4.1327":"PKI Default Key Spec","1.2.840.113556.1.4.1328":"PKI Key Usage","1.2.840.113556.1.4.1329":"PKI Max Issuing Depth","1.2.840.113556.1.4.1330":"PKI Critical Extensions","1.2.840.113556.1.4.1331":"PKI Expiration Period","1.2.840.113556.1.4.1332":"PKI Overlap Period","1.2.840.113556.1.4.1333":"PKI Extended Key Usage","1.2.840.113556.1.4.1334":"PKI Default CSPs","1.2.840.113556.1.4.1335":"PKI Enrollment Access","1.2.840.113556.1.4.1429":"MsPKI-RA-Signature","1.2.840.113556.1.4.1430":"MsPKI-Enrollment-Flag","1.2.840.113556.1.4.1431":"MsPKI-Private-Key","1.2.840.113556.1.4.1432":"MsPKI-Certificate-Name","1.2.840.113556.1.4.1433":"MsPKI-Minimal-Key","1.2.840.113556.1.4.1434":"MsPKI-Template-Schema","1.2.840.113556.1.4.1435":"MsPKI-Template-Minor","1.2.840.113556.1.4.1436":"MsPKI-Cert-Template","1.2.840.113556.1.4.1437":"MsPKI-Supersede-Templates","1.2.840.113556.1.4.1438":"MsPKI-RA-Policies","1.2.840.113556.1.4.1439":"MsPKI-Certificate-Policy","1.2.840.113556.1.4.1674":"MsPKI-Certificate-Application","1.2.840.113556.1.4.1675":"MsPKI-R A- Application","1.2.840.113556.4.3":"Microsoft Excel","1.2.840.113556.4.4":"Titled with OID","1.2.840.113556.4.5":"Microsoft Power Point","1.2.840.113583.1":"Adobe Acrobat","1.2.840.113583.1.1":"Acrobat Security","1.2.840.113583.1.1.1":"PDF Password","1.2.840.113583.1.1.2":"PDF Default Signing Credential","1.2.840.113583.1.1.3":"PDF Default Encryption Credential","1.2.840.113583.1.1.4":"PDF Password Timeout","1.2.840.113583.1.1.5":"PDF Authentic Documents Trust","1.2.840.113583.1.1.6":"PDF Dynamic Content Trust","1.2.840.113583.1.1.7":"PDF Ubiquity Trust","1.2.840.113583.1.1.8":"PDF Revocation Info Archival","1.2.840.113583.1.1.9":"PDF x509 Extension","1.2.840.113583.1.1.9.1":"Adobe Time-stamp","1.2.840.113583.1.1.9.2":"Adobe Archive Rev Info","1.2.840.113583.1.1.10":"PDF PPLK Lite Credential","1.2.840.113583.1.2.":"Acrobat CPS","1.2.840.113583.1.2.1":"PDF Authentic Documents CPS","1.2.840.113583.1.2.2":"PDF Test CPS","1.2.840.113583.1.2.3":"PDF Ubiquity CPS","1.2.840.113583.1.2.4":"PDF Adhoc CPS","1.2.840.113583.1.7":"Acrobat Ubiquity","1.2.840.113583.1.7.1":"PDF Ubiquity Sub Rights","1.2.840.113583.1.9":"Acrobat Extension","1.2.840.113628.114.1.7":"Adobe PKCS7","1.2.840.113635.100":"Apple Data Security","1.2.840.113635.100.1":"Apple Trust Policy","1.2.840.113635.100.1.1":"Apple I Sign TP","1.2.840.113635.100.1.2":"Apple x509 Basic","1.2.840.113635.100.1.3":"Apple SSL Policy","1.2.840.113635.100.1.4":"Apple Local Cert Gen Policy","1.2.840.113635.100.1.5":"Apple CSR Gen Policy","1.2.840.113635.100.1.6":"Apple CRL Policy","1.2.840.113635.100.1.7":"Apple OCSP Policy","1.2.840.113635.100.1.8":"Apple SMIME Policy","1.2.840.113635.100.1.9":"Apple EAP Policy","1.2.840.113635.100.1.10":"Apple SW Update Signing Policy","1.2.840.113635.100.1.11":"Apple IPSec Policy","1.2.840.113635.100.1.12":"Apple IChat Policy","1.2.840.113635.100.1.13":"Apple Resource Sign Policy","1.2.840.113635.100.1.14":"Apple PKINIT Client Policy","1.2.840.113635.100.1.15":"Apple PKINIT Server Policy","1.2.840.113635.100.1.16":"Apple Code Signing Policy","1.2.840.113635.100.1.17":"Apple Package Signing Policy","1.2.840.113635.100.2":"Apple Security Algorithm","1.2.840.113635.100.2.1":"Apple FEE","1.2.840.113635.100.2.2":"Apple ASC","1.2.840.113635.100.2.3":"Apple FEE_MD5","1.2.840.113635.100.2.4":"Apple FEE_SHA1","1.2.840.113635.100.2.5":"Apple FEED","1.2.840.113635.100.2.6":"Apple FEEDEXP","1.2.840.113635.100.2.7":"Apple ECDSA","1.2.840.113635.100.3":"Apple Dot Mac Certificate","1.2.840.113635.100.3.1":"Apple Dot Mac Certificate Request","1.2.840.113635.100.3.2":"Apple Dot Mac Certificate Extension","1.2.840.113635.100.3.3":"Apple Dot Mac Certificate Request Values","1.2.840.113635.100.4":"Apple Extended Key Usage","1.2.840.113635.100.4.1":"Apple Code Signing","1.2.840.113635.100.4.1.1":"Apple Code Signing Development","1.2.840.113635.100.4.1.2":"Apple Software Update Signing","1.2.840.113635.100.4.1.3":"Apple Code Signing Third Party","1.2.840.113635.100.4.1.4":"Apple Resource Signing","1.2.840.113635.100.4.2":"Apple I Chat Signing","1.2.840.113635.100.4.3":"Apple I Chat Encryption","1.2.840.113635.100.4.4":"Apple System Identity","1.2.840.113635.100.4.5":"Apple Crypto Env","1.2.840.113635.100.4.5.1":"Apple Crypto Production Env","1.2.840.113635.100.4.5.2":"Apple Crypto Maintenance Env","1.2.840.113635.100.4.5.3":"Apple Crypto Test Env","1.2.840.113635.100.4.5.4":"Apple Crypto Development Env","1.2.840.113635.100.4.6":"Apple Crypto Qo S","1.2.840.113635.100.4.6.1":"Apple Crypto Tier0 QoS","1.2.840.113635.100.4.6.2":"Apple Crypto Tier1 QoS","1.2.840.113635.100.4.6.3":"Apple Crypto Tier2 QoS","1.2.840.113635.100.4.6.4":"Apple Crypto Tier3 QoS","1.2.840.113635.100.4.7":"Apple ID Sharing Certificate","1.2.840.113635.100.5":"Apple Certificate Policies","1.2.840.113635.100.5.1":"Apple Certificate Policy ID","1.2.840.113635.100.5.2":"Apple Dot Mac Certificate Policy ID","1.2.840.113635.100.5.3":"Apple ADC Certificate Policy ID","1.2.840.113635.100.5.7.1":"Apple ID Sharing Certificate Policy","1.2.840.113635.100.6":"Apple Certificate Extensions","1.2.840.113635.100.6.1":"Apple Certificate Extension Code Signing","1.2.840.113635.100.6.1.1":"Apple Certificate Extension Apple Signing","1.2.840.113635.100.6.1.2":"Apple Certificate Extension ADC Developer Signing","1.2.840.113635.100.6.1.3":"Apple Certificate Extension ADC Apple Signing","1.2.840.113635.100.6.2.3":"Apple Application Integration","1.2.840.114021.1.6.1":"Identrus unknown policy Identifier","1.2.840.114021.4.1":"Identrus OCSP","1.3.6.1.4.1.188.7.1.1":"Ascom","1.3.6.1.4.1.188.7.1.1.1":"Idea ECB","1.3.6.1.4.1.188.7.1.1.2":"Idea CBC","1.3.6.1.4.1.188.7.1.1.3":"Idea CFB","1.3.6.1.4.1.188.7.1.1.4":"Idea OFB","1.3.6.1.4.1.311.2.1.4":"Spc Indirect Data Context","1.3.6.1.4.1.311.2.1.10":"Spc Agency Info","1.3.6.1.4.1.311.2.1.11":"Spc Statement Type","1.3.6.1.4.1.311.2.1.12":"Spc Sp Opus Info","1.3.6.1.4.1.311.2.1.14":"Cert Req Extensions","1.3.6.1.4.1.311.2.1.15":"Spc P E Image Data","1.3.6.1.4.1.311.2.1.18":"Spc Raw File Data","1.3.6.1.4.1.311.2.1.19":"Spc Structured Storage Data","1.3.6.1.4.1.311.2.1.20":"Spc Java ClassData (type 1extension',aka 'Glue extension)","1.3.6.1.4.1.311.2.1.21":"Individual Code Signing","1.3.6.1.4.1.311.2.1.22":"Commercial Code Signing","1.3.6.1.4.1.311.2.1.25":"Spc Link (type 2as 'Glue extension)","1.3.6.1.4.1.311.2.1.26":"Spc Minimal Criteria Info","1.3.6.1.4.1.311.2.1.27":"Spc Financial Criteria Info","1.3.6.1.4.1.311.2.1.28":"SpcLink (type 3as 'Glue extension)","1.3.6.1.4.1.311.2.1.29":"Spc Hash Info Obj ID","1.3.6.1.4.1.311.2.1.30":"Spc Sip Info Obj ID","1.3.6.1.4.1.311.2.2":"Ctl","1.3.6.1.4.1.311.2.2.1":"Ctl Trusted Codesigning CAList","1.3.6.1.4.1.311.2.2.2":"Ctl Trusted Client Auth CAList","1.3.6.1.4.1.311.2.2.3":"Ctl Trusted Server Auth CAList","1.3.6.1.4.1.311.3.2.1":"Timestamp Request","1.3.6.1.4.1.311.10.1":"Cert Trust List","1.3.6.1.4.1.311.10.1.1":"Sorted Ctl","1.3.6.1.4.1.311.10.2":"Next Update Location","1.3.6.1.4.1.311.10.3.1":"Cert Trust List Signing","1.3.6.1.4.1.311.10.3.2":"Time Stamp Signing","1.3.6.1.4.1.311.10.3.3":"Server Gated Crypto","1.3.6.1.4.1.311.10.3.3.1":"Serialized","1.3.6.1.4.1.311.10.3.4":"Encrypted File System","1.3.6.1.4.1.311.10.3.4.1":"Efs Recovery","1.3.6.1.4.1.311.10.3.5":"Whql Crypto","1.3.6.1.4.1.311.10.3.6":"Nt5 Crypto","1.3.6.1.4.1.311.10.3.7":"Oem WHQL Crypto","1.3.6.1.4.1.311.10.3.8":"Embedded NT Crypto","1.3.6.1.4.1.311.10.3.9":"Root List Signer","1.3.6.1.4.1.311.10.3.10":"Qualified Subordination","1.3.6.1.4.1.311.10.3.11":"Key Recovery","1.3.6.1.4.1.311.10.3.12":"Document Signing","1.3.6.1.4.1.311.10.3.13":"Lifetime Signing","1.3.6.1.4.1.311.10.3.14":"Mobile Device Software","1.3.6.1.4.1.311.10.3.15":"Smart Display","1.3.6.1.4.1.311.10.3.16":"Csp Signature","1.3.6.1.4.1.311.10.4.1":"yesno Trust Attr","1.3.6.1.4.1.311.10.5.1":"Drm","1.3.6.1.4.1.311.10.5.2":"Drm Individualization","1.3.6.1.4.1.311.10.6.1":"Licenses","1.3.6.1.4.1.311.10.6.2":"License Server","1.3.6.1.4.1.311.10.7.1":"Keyid Rdn","1.3.6.1.4.1.311.10.8.1":"Remove Certificate","1.3.6.1.4.1.311.10.9.1":"Cross Cert Dist Points","1.3.6.1.4.1.311.10.10.1":"Cmc Add Attributes","1.3.6.1.4.1.311.10.11":"Cert Prop Id Prefix","1.3.6.1.4.1.311.10.11.4":"Cert Md5 Hash Prop Id","1.3.6.1.4.1.311.10.11.20":"Cert Key Identifier Prop Id","1.3.6.1.4.1.311.10.11.28":"Cert Issuer Serial Number Md5 Hash Prop Id","1.3.6.1.4.1.311.10.11.29":"Cert Subject Name MD5 Hash Prop Id","1.3.6.1.4.1.311.10.12.1":"Any Application Policy","1.3.6.1.4.1.311.12":"Catalog","1.3.6.1.4.1.311.12.1.1":"Catalog List","1.3.6.1.4.1.311.12.1.2":"Catalog List Member","1.3.6.1.4.1.311.12.2.1":"Catalog Name Value Obj ID","1.3.6.1.4.1.311.12.2.2":"Catalog Member Info Obj ID","1.3.6.1.4.1.311.13.1":"Renewal Certificate","1.3.6.1.4.1.311.13.2.1":"Enrolment Name Value Pair","1.3.6.1.4.1.311.13.2.2":"Enrolment CSP","1.3.6.1.4.1.311.13.2.3":"Os Version","1.3.6.1.4.1.311.16.4":"Microsoft Recipient Info","1.3.6.1.4.1.311.17.1":"PKCS12 Key Provider Name Attr","1.3.6.1.4.1.311.17.2":"Local Machine Keyset","1.3.6.1.4.1.311.17.3":"PKCS12 Extended Attributes","1.3.6.1.4.1.311.20.1":"Auto Enroll Ctl Usage","1.3.6.1.4.1.311.20.2":"Microsoft Certificate Type","1.3.6.1.4.1.311.20.2.1":"Enrollment Agent","1.3.6.1.4.1.311.20.2.2":"Smartcard Logon","1.3.6.1.4.1.311.20.2.3":"NP Principal Name","1.3.6.1.4.1.311.20.3":"Cert Manifold","1.3.6.1.4.1.311.21.1":"Microsoft Certification Authority Renewal","1.3.6.1.4.1.311.21.2":"Microsoft Certificate Previous Hash","1.3.6.1.4.1.311.21.3":"CRL Virtual Base","1.3.6.1.4.1.311.21.4":"CRL Next Publish","1.3.6.1.4.1.311.21.5":"Ca Exchange","1.3.6.1.4.1.311.21.6":"Key Recovery","1.3.6.1.4.1.311.21.7":"Microsoft Certificate Template","1.3.6.1.4.1.311.21.8":"Enterprize OID Root","1.3.6.1.4.1.311.21.9":"Rdn Dummy Signer","1.3.6.1.4.1.311.21.10":"Microsoft Certificate Policies","1.3.6.1.4.1.311.21.11":"Application Policy Mappings","1.3.6.1.4.1.311.21.12":"Application Policy Constraints","1.3.6.1.4.1.311.21.13":"Archived Key","1.3.6.1.4.1.311.21.14":"CRL Self CDP","1.3.6.1.4.1.311.21.15":"Require Cert Chain Policy","1.3.6.1.4.1.311.21.16":"Archived Key Cert Hash","1.3.6.1.4.1.311.21.17":"Issued Cert Hash","1.3.6.1.4.1.311.21.19":"DS Email Replication","1.3.6.1.4.1.311.21.20":"Request Client Info","1.3.6.1.4.1.311.21.21":"Encrypted Key Hash","1.3.6.1.4.1.311.21.22":"Certsrv Cross CA Version","1.3.6.1.4.1.311.25.1":"Ntds Replication","1.3.6.1.4.1.311.31.1":"Product Update","1.3.6.1.4.1.311.47.1.1":"System Health","1.3.6.1.4.1.311.47.1.3":"System Health Loophole","1.3.6.1.4.1.311.60.1.1":"Root Program Flags","1.3.6.1.4.1.311.60.2.1.1":"Jurisdiction Of Incorporation L","1.3.6.1.4.1.311.60.2.1.2":"Jurisdiction Of Incorporation SP","1.3.6.1.4.1.311.60.2.1.3":"Jurisdiction Of Incorporation C","1.3.6.1.4.1.311.61.1.1":"Kernel Mode Code Signing","1.3.6.1.4.1.311.84.1.1":"ASP.NET HTTPS Development certificate","1.3.6.1.4.1.311.88":"CAPICOM","1.3.6.1.4.1.311.88.1":"CAPICOM version","1.3.6.1.4.1.311.88.2":"CAPICOM attribute","1.3.6.1.4.1.311.88.2.1":"Document type attribute","1.3.6.1.4.1.311.88.2.2":"Document description attribute","1.3.6.1.4.1.311.88.3":"CAPICOM encrypted data message","1.3.6.1.4.1.311.88.3.1":"CAPICOM content of encrypted data","1.3.6.1.4.1.782.1.2.1.8.1":"Network Solutions EV policy","1.3.6.1.4.1.2428.10.1.1":"UNINETT policy Identifier","1.3.6.1.4.1.2712.10":"ICE-TEL policy Identifier","1.3.6.1.4.1.2786.1.1.1":"ICE-TEL Italian","1.3.6.1.4.1.3029.1.1.1":"Blowfish ECB","1.3.6.1.4.1.3029.1.1.2":"Blowfish CBC","1.3.6.1.4.1.3029.1.1.3":"Blowfish CFB","1.3.6.1.4.1.3029.1.1.4":"Blowfish OFB","1.3.6.1.4.1.3029.1.2.1":"Elgamal","1.3.6.1.4.1.3029.1.2.1.1":"Elgamal with SHA-1","1.3.6.1.4.1.3029.1.2.1.2":"Elgamal with RIPEMD-160","1.3.6.1.4.1.3029.3.1.1":"Cryptlib Presence Check","1.3.6.1.4.1.3029.3.1.2":"Pki Boot","1.3.6.1.4.1.3029.3.1.4":"CRL Ext Reason","1.3.6.1.4.1.3029.3.1.5":"Key Features","1.3.6.1.4.1.3029.4.1":"Cryptlib Content","1.3.6.1.4.1.3029.4.1.1":"Cryptlib Config Data","1.3.6.1.4.1.3029.4.1.2":"Cryptlib User Index","1.3.6.1.4.1.3029.4.1.3":"Cryptlib User Info","1.3.6.1.4.1.3029.4.1.4":"Rtcs Request","1.3.6.1.4.1.3029.4.1.5":"Rtcs Response","1.3.6.1.4.1.3029.4.1.6":"Rtcs Response Ext","1.3.6.1.4.1.3029.42.11172.1":"Mpeg-1","1.3.6.1.4.1.3029.54.11940.54":"TSA policy 'Anythingpolicy","1.3.6.1.4.1.3029.88.89.90.90.89":"XYZZY policy Identifier","1.3.6.1.4.1.3401.8.1.1":"Pgp Extension","1.3.6.1.4.1.3576.7":"Ecia Asc X12 Edi","1.3.6.1.4.1.3576.7.1":"Plain ED Imessage","1.3.6.1.4.1.3576.7.2":"Signed ED Imessage","1.3.6.1.4.1.3576.7.5":"Integrity ED Imessage","1.3.6.1.4.1.3576.7.65":"Ia Receipt Message","1.3.6.1.4.1.3576.7.97":"Ia Status Message","1.3.6.1.4.1.3576.8":"Ecia Edifact","1.3.6.1.4.1.3576.9":"Ecia Non Edi","1.3.6.1.4.1.4146":"GlobalSign","1.3.6.1.4.1.4146.1":"GlobalSign Policy","1.3.6.1.4.1.4146.1.1":"GlobalSign EV policy","1.3.6.1.4.1.4146.1.10":"GlobalSign DV Policy","1.3.6.1.4.1.4146.1.20":"GlobalSign OV Policy","1.3.6.1.4.1.4146.1.30":"GlobalSign TSA Policy","1.3.6.1.4.1.4146.1.40":"GlobalSign Client Certificates Policy","1.3.6.1.4.1.4146.1.40.10":"GlobalSign Client Certificates Enterprise PKI Policy","1.3.6.1.4.1.4146.1.50":"GlobalSign Code Signing Certificates Policy","1.3.6.1.4.1.4146.1.60":"GlobalSign Root Sign Policy","1.3.6.1.4.1.4146.1.70":"GlobalSign Trusted Root Policy","1.3.6.1.4.1.4146.1.80":"GlobalSign EDI Client Policy","1.3.6.1.4.1.4146.1.81":"GlobalSign EDI Server Policy","1.3.6.1.4.1.4146.1.90":"GlobalSign TPM Root Policy","1.3.6.1.4.1.4146.1.95":"GlobalSign OCSP Policy","1.3.6.1.4.1.41482.3.3":"YubiKey Firmware Version","1.3.6.1.4.1.41482.3.7":"YubiKey Serial Number","1.3.6.1.4.1.41482.3.8":"YubiKey PIN Touch Policy","1.3.6.1.4.1.41482.3.9":"YubiKey Formfactor","1.3.6.1.4.1.4788.2.202.1":"D-TRUSTEV policy","1.3.6.1.4.1.5309.1":"Edel Web Policy","1.3.6.1.4.1.5309.1.2":"Edel Web Customer Policy","1.3.6.1.4.1.5309.1.2.1":"Edel Web Clepsydre Policy","1.3.6.1.4.1.5309.1.2.2":"Edel Web Experimental TSA Policy","1.3.6.1.4.1.5309.1.2.3":"Edel Web Open Evidence TSA Policy","1.3.6.1.4.1.53087.1.3":"Trademark Country Or Region Name","1.3.6.1.4.1.53087.1.4":"Trademark Registration Number","1.3.6.1.4.1.53087.1.6":"Word Mark","1.3.6.1.4.1.5472":"Timeproof","1.3.6.1.4.1.5472.1":"TSS","1.3.6.1.4.1.5472.1.1":"TSS80","1.3.6.1.4.1.5472.1.2":"TSS380","1.3.6.1.4.1.5472.1.3":"TSS400","1.3.6.1.4.1.5770.0.3":"Secondary Practices","1.3.6.1.4.1.5770.0.4":"Physician Identifiers","1.3.6.1.4.1.6334.1.100.1":"Cybertrust EV policy","1.3.6.1.4.1.6449.1.2.1.3.1":"Comodo Policy","1.3.6.1.4.1.6449.1.2.1.5.1":"Comodo EV policy","1.3.6.1.4.1.6449.1.2.2.7":"Comodo TLS DV","1.3.6.1.4.1.6449.1.2.2.15":"Wotrust Policy","1.3.6.1.4.1.6449.1.3.5.2":"Comodo Certified Delivery Service","1.3.6.1.4.1.6449.2.1.1":"Comodo Timestamping Policy","1.3.6.1.4.1.7879.13.24.1":"T-Tele Sec EV policy","1.3.6.1.4.1.8024.0.2.100.1.2":"QuoVadis EV policy","1.3.6.1.4.1.8231.1":"Rol Unico Nacional","1.3.6.1.4.1.8301.3.5.1":"alidity Model Chain","1.3.6.1.4.1.8301.3.5.2":"alidity Model Shell","1.3.6.1.4.1.11129.2.4.2":"Certificate Transparency","1.3.6.1.4.1.11591":"Gnu","1.3.6.1.4.1.11591.1":"Gnu Radius","1.3.6.1.4.1.11591.3":"Gnu Radar","1.3.6.1.4.1.11591.12":"Gnu Digest Algorithm","1.3.6.1.4.1.11591.12.2":"Tiger","1.3.6.1.4.1.11591.13":"Gnu Encryption Algorithm","1.3.6.1.4.1.11591.13.2":"Serpent","1.3.6.1.4.1.11591.13.2.1":"Serpent128_ECB","1.3.6.1.4.1.11591.13.2.2":"Serpent128_CBC","1.3.6.1.4.1.11591.13.2.3":"Serpent128_OFB","1.3.6.1.4.1.11591.13.2.4":"Serpent128_CFB","1.3.6.1.4.1.11591.13.2.21":"Serpent192_ECB","1.3.6.1.4.1.11591.13.2.22":"Serpent192_CBC","1.3.6.1.4.1.11591.13.2.23":"Serpent192_OFB","1.3.6.1.4.1.11591.13.2.24":"Serpent192_CFB","1.3.6.1.4.1.11591.13.2.41":"Serpent256_ECB","1.3.6.1.4.1.11591.13.2.42":"Serpent256_CBC","1.3.6.1.4.1.11591.13.2.43":"Serpent256_OFB","1.3.6.1.4.1.11591.13.2.44":"Serpent256_CFB","1.3.6.1.4.1.14370.1.6":"Geo Trust EV policy","1.3.6.1.4.1.14777.6.1.1":"Izenpe EV policy","1.3.6.1.4.1.14777.6.1.2":"Izenpe EV policy","1.3.6.1.4.1.16334.509.1.1":"Northrop Grumman ext Key Usage?","1.3.6.1.4.1.16334.509.2.1":"Ngc Class1","1.3.6.1.4.1.16334.509.2.2":"Ngc Class2","1.3.6.1.4.1.16334.509.2.3":"Ngc Class3","1.3.6.1.4.1.17326.10.8.12.1.2":"Camerfirma EV policy","1.3.6.1.4.1.17326.10.14.2.1.2":"Camerfirma EV policy","1.3.6.1.4.1.22234.2.5.2.3.1":"Cert Plus EV policy","1.3.6.1.4.1.23223.1.1.1":"Start Com EV policy","1.3.6.1.4.1.23629.1.4.2.1.1":"Safenet Usage Limit","1.3.6.1.4.1.23629.1.4.2.1.2":"Safenet End Date","1.3.6.1.4.1.23629.1.4.2.1.3":"Safenet Start Date","1.3.6.1.4.1.23629.1.4.2.1.4":"Safenet Admin Cert","1.3.6.1.4.1.23629.1.4.2.2.1":"Safenet Key Digest","1.3.6.1.4.1.34697.2.1":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.2":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.3":"Affirm Trust EV policy","1.3.6.1.4.1.34697.2.4":"Affirm Trust EV policy","1.3.6.1.4.1.40869.1.1.22.3":"TWCAEV policy","1.3.6.1.4.1.13177.10.1.2.2":"Corporate certificates for Natural Person","1.3.6.1.5.2.3.5":"KCD Authentication","1.3.6.1.5.5.7":"PKIX","1.3.6.1.5.5.7.0.12":"Attribute Cert","1.3.6.1.5.5.7.1":"Private Extension","1.3.6.1.5.5.7.1.1":"Certificate Authority Information Access","1.3.6.1.5.5.7.1.2":"Biometric Info","1.3.6.1.5.5.7.1.3":"Qualified Certificate Statements","1.3.6.1.5.5.7.1.4":"Ac Audit Identity","1.3.6.1.5.5.7.1.5":"Ac Targeting","1.3.6.1.5.5.7.1.6":"Ac Aa Controls","1.3.6.1.5.5.7.1.7":"Ip Addr Blocks","1.3.6.1.5.5.7.1.8":"Autonomous Sys Ids","1.3.6.1.5.5.7.1.9":"Router Identifier","1.3.6.1.5.5.7.1.10":"Ac Proxying","1.3.6.1.5.5.7.1.11":"Subject Info Access","1.3.6.1.5.5.7.1.12":"Logo Type","1.3.6.1.5.5.7.1.13":"Wlan SSID","1.3.6.1.5.5.7.1.26":"Telephone Number Authorization List","1.3.6.1.5.5.7.2":"Policy Qualifier Ids","1.3.6.1.5.5.7.2.1":"Certificate Policy Statement","1.3.6.1.5.5.7.2.2":"User Notice","1.3.6.1.5.5.7.2.3":"Text Notice","1.3.6.1.5.5.7.3":"Key Purpose","1.3.6.1.5.5.7.3.1":"Server Authentication","1.3.6.1.5.5.7.3.2":"Client Authentication","1.3.6.1.5.5.7.3.3":"Code Signing","1.3.6.1.5.5.7.3.4":"Email Protection","1.3.6.1.5.5.7.3.5":"Ipsec End System","1.3.6.1.5.5.7.3.6":"Ipsec Tunnel","1.3.6.1.5.5.7.3.7":"Ipsec User","1.3.6.1.5.5.7.3.8":"Time Stamping","1.3.6.1.5.5.7.3.9":"OCSP Signing","1.3.6.1.5.5.7.3.10":"DVCS","1.3.6.1.5.5.7.3.11":"Sbgp Cert AA Server Auth","1.3.6.1.5.5.7.3.13":"Eap Over PPP","1.3.6.1.5.5.7.3.14":"Eap Over LAN","1.3.6.1.5.5.7.3.31":"Brand Indicator for Message Identification","1.3.6.1.5.5.7.4":"Cmp Information Types","1.3.6.1.5.5.7.4.1":"Ca Prot Enc Cert","1.3.6.1.5.5.7.4.2":"Sign Key Pair Types","1.3.6.1.5.5.7.4.3":"Enc Key Pair Types","1.3.6.1.5.5.7.4.4":"Preferred Symm Alg","1.3.6.1.5.5.7.4.5":"CA Key Update Info","1.3.6.1.5.5.7.4.6":"Current CRL","1.3.6.1.5.5.7.4.7":"Unsupported OIDs","1.3.6.1.5.5.7.4.10":"Key Pair Param Req","1.3.6.1.5.5.7.4.11":"Key Pair Param Rep","1.3.6.1.5.5.7.4.12":"Rev Passphrase","1.3.6.1.5.5.7.4.13":"Implicit Confirm","1.3.6.1.5.5.7.4.14":"Confirm Wait Time","1.3.6.1.5.5.7.4.15":"Orig PKI Message","1.3.6.1.5.5.7.4.16":"Supp Lang Tags","1.3.6.1.5.5.7.5":"Crmf Registration","1.3.6.1.5.5.7.5.1":"Reg Ctrl","1.3.6.1.5.5.7.5.1.1":"Reg Token","1.3.6.1.5.5.7.5.1.2":"Authenticator","1.3.6.1.5.5.7.5.1.3":"Pki Publication Info","1.3.6.1.5.5.7.5.1.4":"Pki Archive Options","1.3.6.1.5.5.7.5.1.5":"Old Cert ID","1.3.6.1.5.5.7.5.1.6":"Protocol Encr Key","1.3.6.1.5.5.7.5.1.7":"Alt Cert Template","1.3.6.1.5.5.7.5.1.8":"Wtls Template","1.3.6.1.5.5.7.5.2":"Utf8 Pairs","1.3.6.1.5.5.7.5.2.1":"Utf8 Pairs","1.3.6.1.5.5.7.5.2.2":"Cert Req","1.3.6.1.5.5.7.6":"Algorithms","1.3.6.1.5.5.7.6.1":"Des40","1.3.6.1.5.5.7.6.2":"No Signature","1.3.6.1.5.5.7.6.3":"Dh-sig-hmac","1.3.6.1.5.5.7.6.4":"Dh-pop","1.3.6.1.5.5.7.7":"CMC Controls","1.3.6.1.5.5.7.8":"Other Names","1.3.6.1.5.5.7.8.1":"Personal Data","1.3.6.1.5.5.7.8.2":"User Group","1.3.6.1.5.5.7.8.5":"Xmpp Addr","1.3.6.1.5.5.7.9":"Personal Data","1.3.6.1.5.5.7.9.1":"Date Of Birth","1.3.6.1.5.5.7.9.2":"Place Of Birth","1.3.6.1.5.5.7.9.3":"Gender","1.3.6.1.5.5.7.9.4":"Country Of Citizenship","1.3.6.1.5.5.7.9.5":"Country Of Residence","1.3.6.1.5.5.7.10":"Attribute Certificate","1.3.6.1.5.5.7.10.1":"Authentication Info","1.3.6.1.5.5.7.10.2":"Access Identity","1.3.6.1.5.5.7.10.3":"Charging Identity","1.3.6.1.5.5.7.10.4":"Group","1.3.6.1.5.5.7.10.5":"Role","1.3.6.1.5.5.7.10.6":"Wlan SSID","1.3.6.1.5.5.7.11":"Personal Data","1.3.6.1.5.5.7.11.1":"Pkix QC Syntax v1","1.3.6.1.5.5.7.11.2":"Pkix QC Syntax v2","1.3.6.1.5.5.7.14.2":"Resource Certificate Policy","1.3.6.1.5.5.7.20":"Logo","1.3.6.1.5.5.7.20.1":"Logo Loyalty","1.3.6.1.5.5.7.20.2":"Logo Background","1.3.6.1.5.5.7.48.1":"OCSP","1.3.6.1.5.5.7.48.1.1":"OCSP Basic","1.3.6.1.5.5.7.48.1.2":"OCSP Nonce","1.3.6.1.5.5.7.48.1.3":"OCSP CRL","1.3.6.1.5.5.7.48.1.4":"OCSP Response","1.3.6.1.5.5.7.48.1.5":"OCSP No Check","1.3.6.1.5.5.7.48.1.6":"OCSP Archive Cutoff","1.3.6.1.5.5.7.48.1.7":"OCSP Service Locator","1.3.6.1.5.5.7.48.2":"CA Issuers","1.3.6.1.5.5.7.48.3":"Time Stamping","1.3.6.1.5.5.7.48.4":"DVCS","1.3.6.1.5.5.7.48.5":"CA Repository","1.3.6.1.5.5.7.48.7":"Signed Object Repository","1.3.6.1.5.5.7.48.10":"Rpki Manifest","1.3.6.1.5.5.7.48.11":"Signed Object","1.3.6.1.5.5.8.1.1":"HMAC MD5","1.3.6.1.5.5.8.1.2":"HMAC SHA","1.3.6.1.5.5.8.1.3":"HMAC Tiger","1.3.6.1.5.5.8.2.2":"IKE Intermediate","1.3.12.2.1011.7.1":"DEC Encryption Algorithm","1.3.12.2.1011.7.1.2":"DEC DEA","1.3.12.2.1011.7.2":"DEC Hash Algorithm","1.3.12.2.1011.7.2.1":"DECMD2","1.3.12.2.1011.7.2.2":"DECMD4","1.3.12.2.1011.7.3":"DEC Signature Algorithm","1.3.12.2.1011.7.3.1":"DEC MD2 with RSA","1.3.12.2.1011.7.3.2":"DEC MD4 with RSA","1.3.12.2.1011.7.3.3":"DEC DEAMAC","1.3.14.2.26.5":"SHA","1.3.14.3.2.1.1":"RSA","1.3.14.3.2.2":"MD4 with RSA","1.3.14.3.2.2.1":"Sqmod-N","1.3.14.3.2.3":"MD5 with RSA","1.3.14.3.2.3.1":"Sqmod-Nwith RSA","1.3.14.3.2.4":"MD4 with RSA Encryption","1.3.14.3.2.6":"DES ECB","1.3.14.3.2.7":"DES CBC","1.3.14.3.2.8":"DES OFB","1.3.14.3.2.9":"DES CFB","1.3.14.3.2.10":"DES MAC","1.3.14.3.2.11":"RSA Signature","1.3.14.3.2.12":"DSA","1.3.14.3.2.13":"DSA with SHA","1.3.14.3.2.14":"MDC2 with RSA Signature","1.3.14.3.2.15":"SHA with RSA Signature","1.3.14.3.2.16":"DH with Common Modulus","1.3.14.3.2.17":"Des EDE","1.3.14.3.2.18":"SHA","1.3.14.3.2.19":"MDC-2","1.3.14.3.2.20":"DSA Common","1.3.14.3.2.21":"DSA Common with SHA","1.3.14.3.2.22":"RSA Key Transport","1.3.14.3.2.23":"Keyed-hash-seal","1.3.14.3.2.24":"MD2 with RSA Signature","1.3.14.3.2.25":"MD5 with RSA Signature","1.3.14.3.2.26":"SHA1","1.3.14.3.2.27":"DSA with SHA1","1.3.14.3.2.28":"DSA with Common SHA1","1.3.14.3.2.29":"SHA-1 with RSA Encryption","1.3.14.3.3.1":"Simple-strong-auth","1.3.14.7.2.1.1":"El Gamal","1.3.14.7.2.3.1":"MD2 with RSA","1.3.14.7.2.3.2":"MD2 with El Gamal","1.3.36.1":"Document","1.3.36.1.1":"Final Version","1.3.36.1.2":"Draft","1.3.36.2":"Sio","1.3.36.2.1":"Sedu","1.3.36.3":"Algorithm","1.3.36.3.1":"Encryption Algorithm","1.3.36.3.1.1":"DES","1.3.36.3.1.1.1":"DES ECB_pad","1.3.36.3.1.1.1.1":"DES ECB_ISOpad","1.3.36.3.1.1.2.1":"DES CBC_pad","1.3.36.3.1.1.2.1.1":"DES CBC_ISOpad","1.3.36.3.1.2":"IDEA","1.3.36.3.1.2.1":"IDEA ECB","1.3.36.3.1.2.1.1":"IDEA ECB_pad","1.3.36.3.1.2.1.1.1":"IDEA ECB_ISOpad","1.3.36.3.1.2.2":"IDEA CBC","1.3.36.3.1.2.2.1":"IDEA CBC_pad","1.3.36.3.1.2.2.1.1":"IDEA CBC_ISOpad","1.3.36.3.1.2.3":"IDEA OFB","1.3.36.3.1.2.4":"IDEA CFB","1.3.36.3.1.3":"DES_3","1.3.36.3.1.3.1.1":"DES_3 ECB_pad","1.3.36.3.1.3.1.1.1":"DES_3 ECB_ISOpad","1.3.36.3.1.3.2.1":"DES_3 CBC_pad","1.3.36.3.1.3.2.1.1":"DES_3 CBC_ISOpad","1.3.36.3.1.4":"RSA Encryption","1.3.36.3.1.4.512.17":"RSA Encryption Withlmod512expe17","1.3.36.3.1.5":"BSI-1","1.3.36.3.1.5.1":"BSI_1 ECB_pad","1.3.36.3.1.5.2":"BSI_1 CBC_pad","1.3.36.3.1.5.2.1":"BSI_1 CBC_PEMpad","1.3.36.3.2":"Hash Algorithm","1.3.36.3.2.1":"Ripemd160","1.3.36.3.2.2":"Ripemd128","1.3.36.3.2.3":"Ripemd256","1.3.36.3.2.4":"Mdc2single Length","1.3.36.3.2.5":"Mdc2double Length","1.3.36.3.3":"Signature Algorithm","1.3.36.3.3.1":"RSA Signature","1.3.36.3.3.1.1":"RSA Signature WithSHA1","1.3.36.3.3.1.1.1024.11":"RSA Signature WithSHA1_l1024_l11","1.3.36.3.3.1.2":"RSA Signature Withripemd160","1.3.36.3.3.1.2.1024.11":"RSA Signature Withripemd160_l1024_l11","1.3.36.3.3.1.3":"RSA Signature Withrimpemd128","1.3.36.3.3.1.4":"RSA Signature Withrimpemd256","1.3.36.3.3.2":"Ecsie Sign","1.3.36.3.3.2.1":"Ecsie Sign WithSHA1","1.3.36.3.3.2.2":"Ecsie Sign Withripemd160","1.3.36.3.3.2.3":"Ecsie Sign Withmd2","1.3.36.3.3.2.4":"Ecsie Sign Withmd5","1.3.36.3.3.2.8.1.1.1":"Brainpool P160r1","1.3.36.3.3.2.8.1.1.2":"Brainpool P160t1","1.3.36.3.3.2.8.1.1.3":"Brainpool P192r1","1.3.36.3.3.2.8.1.1.4":"Brainpool P192t1","1.3.36.3.3.2.8.1.1.5":"Brainpool P224r1","1.3.36.3.3.2.8.1.1.6":"Brainpool P224t1","1.3.36.3.3.2.8.1.1.7":"Brainpool P256r1","1.3.36.3.3.2.8.1.1.8":"Brainpool P256t1","1.3.36.3.3.2.8.1.1.9":"Brainpool P320r1","1.3.36.3.3.2.8.1.1.10":"Brainpool P320t1","1.3.36.3.3.2.8.1.1.11":"Brainpool P384r1","1.3.36.3.3.2.8.1.1.12":"Brainpool P384t1","1.3.36.3.3.2.8.1.1.13":"Brainpool P512r1","1.3.36.3.3.2.8.1.1.14":"Brainpool P512t1","1.3.36.3.4":"Signature Scheme","1.3.36.3.4.1":"Sig S_ISO9796-1","1.3.36.3.4.2":"Sig S_ISO9796-2","1.3.36.3.4.2.1":"Sig S_ISO9796-2 with RED","1.3.36.3.4.2.2":"Sig S_ISO9796-2 with RSA","1.3.36.3.4.2.3":"Sig S_ISO9796-2 with RDN","1.3.36.4":"Attribute","1.3.36.5":"Policy","1.3.36.6":"Api","1.3.36.6.1":"Manufacturer-specific_api","1.3.36.6.1.1":"Utimaco-api","1.3.36.6.2":"Functionality-specific_api","1.3.36.7":"Keymgmnt","1.3.36.7.1":"Keyagree","1.3.36.7.1.1":"Bsi PKE","1.3.36.7.2":"Keytrans","1.3.36.7.2.1":"Enc ISO9796-2 Withrsa","1.3.36.8.1.1":"Teletrust Sig G Conform policy Identifier","1.3.36.8.2.1":"Directory Service","1.3.36.8.3.1":"Date Of Cert Gen","1.3.36.8.3.2":"Procuration","1.3.36.8.3.3":"Admission","1.3.36.8.3.4":"Monetary Limit","1.3.36.8.3.5":"Declaration Of Majority","1.3.36.8.3.6":"Integrated Circuit Card Serial Number","1.3.36.8.3.7":"PK Reference","1.3.36.8.3.8":"Restriction","1.3.36.8.3.9":"Retrieve If Allowed","1.3.36.8.3.10":"Requested Certificate","1.3.36.8.3.11":"Naming Authorities","1.3.36.8.3.11.1":"Recht Wirtschaft Steuern","1.3.36.8.3.11.1.1":"Rechtsanwaeltin","1.3.36.8.3.11.1.2":"Rechtsanwalt","1.3.36.8.3.11.1.3":"Rechts Beistand","1.3.36.8.3.11.1.4":"Steuer Beraterin","1.3.36.8.3.11.1.5":"Steuer Berater","1.3.36.8.3.11.1.6":"Steuer Bevollmaechtigte","1.3.36.8.3.11.1.7":"Steuer Bevollmaechtigter","1.3.36.8.3.11.1.8":"Notarin","1.3.36.8.3.11.1.9":"Notar","1.3.36.8.3.11.1.10":"Notar Vertreterin","1.3.36.8.3.11.1.11":"Notar Vertreter","1.3.36.8.3.11.1.12":"Notariats Verwalterin","1.3.36.8.3.11.1.13":"Notariats Verwalter","1.3.36.8.3.11.1.14":"Wirtschafts Prueferin","1.3.36.8.3.11.1.15":"Wirtschafts Pruefer","1.3.36.8.3.11.1.16":"ereidigte Buchprueferin","1.3.36.8.3.11.1.17":"ereidigter Buchpruefer","1.3.36.8.3.11.1.18":"Patent Anwaeltin","1.3.36.8.3.11.1.19":"Patent Anwalt","1.3.36.8.3.12":"Cert In Dir Since","1.3.36.8.3.13":"Cert Hash","1.3.36.8.3.14":"Name At Birth","1.3.36.8.3.15":"Additional Information","1.3.36.8.4.1":"Personal Data","1.3.36.8.4.8":"Restriction","1.3.36.8.5.1.1.1":"RSA Indicate SHA1","1.3.36.8.5.1.1.2":"RSA Indicate RIPEMD160","1.3.36.8.5.1.1.3":"RSA with SHA1","1.3.36.8.5.1.1.4":"RSA with RIPEMD160","1.3.36.8.5.1.2.1":"Dsa Extended","1.3.36.8.5.1.2.2":"Dsa with RIPEMD160","1.3.36.8.6.1":"Cert","1.3.36.8.6.2":"Cert Ref","1.3.36.8.6.3":"Attr Cert","1.3.36.8.6.4":"Attr Ref","1.3.36.8.6.5":"File Name","1.3.36.8.6.6":"Storage Time","1.3.36.8.6.7":"File Size","1.3.36.8.6.8":"Location","1.3.36.8.6.9":"Sig Number","1.3.36.8.6.10":"Auto Gen","1.3.36.8.7.1.1":"Pt Adobe ILL","1.3.36.8.7.1.2":"Pt Ami Pro","1.3.36.8.7.1.3":"Pt Auto CAD","1.3.36.8.7.1.4":"Pt Binary","1.3.36.8.7.1.5":"Pt BMP","1.3.36.8.7.1.6":"Pt CGM","1.3.36.8.7.1.7":"Pt Corel CRT","1.3.36.8.7.1.8":"Pt Corel DRW","1.3.36.8.7.1.9":"Pt Corel EXC","1.3.36.8.7.1.10":"Pt Corel PHT","1.3.36.8.7.1.11":"Pt Draw","1.3.36.8.7.1.12":"Pt DVI","1.3.36.8.7.1.13":"Pt EPS","1.3.36.8.7.1.14":"Pt Excel","1.3.36.8.7.1.15":"Pt GEM","1.3.36.8.7.1.16":"Pt GIF","1.3.36.8.7.1.17":"Pt HPGL","1.3.36.8.7.1.18":"Pt JPEG","1.3.36.8.7.1.19":"Pt Kodak","1.3.36.8.7.1.20":"Pt LaTeX","1.3.36.8.7.1.21":"Pt Lotus","1.3.36.8.7.1.22":"Pt Lotus PIC","1.3.36.8.7.1.23":"Pt Mac PICT","1.3.36.8.7.1.24":"Pt Mac Word","1.3.36.8.7.1.25":"Pt MSWfD","1.3.36.8.7.1.26":"Pt MSWord","1.3.36.8.7.1.27":"Pt MSWord2","1.3.36.8.7.1.28":"Pt MSWord6","1.3.36.8.7.1.29":"Pt MSWord8","1.3.36.8.7.1.30":"Pt PDF","1.3.36.8.7.1.31":"Pt PIF","1.3.36.8.7.1.32":"Pt Postscript","1.3.36.8.7.1.33":"Pt RTF","1.3.36.8.7.1.34":"Pt SCITEX","1.3.36.8.7.1.35":"Pt TAR","1.3.36.8.7.1.36":"Pt Targa","1.3.36.8.7.1.37":"Pt TeX","1.3.36.8.7.1.38":"Pt Text","1.3.36.8.7.1.39":"Pt TIFF","1.3.36.8.7.1.40":"Pt TIFF-FC","1.3.36.8.7.1.41":"Pt UID","1.3.36.8.7.1.42":"Pt UU Encode","1.3.36.8.7.1.43":"Pt WMF","1.3.36.8.7.1.44":"Pt Word Perfect","1.3.36.8.7.1.45":"Pt WP Grph","1.3.101.1.4":"Thawte-ce","1.3.101.1.4.1":"Strong Extranet","1.3.101.112":"Edwards-curve Digital Signature Algorithm (EdDSA) Ed25519","1.3.132.0.1":"Sect163k1","1.3.132.0.2":"Sect163r1","1.3.132.0.3":"Sect239k1","1.3.132.0.4":"Sect113r1","1.3.132.0.5":"Sect113r2","1.3.132.0.6":"Secp112r1","1.3.132.0.7":"Secp112r2","1.3.132.0.8":"Secp160r1","1.3.132.0.9":"Secp160k1","1.3.132.0.10":"Secp256k1","1.3.132.0.15":"Sect163r2","1.3.132.0.16":"Sect283k1","1.3.132.0.17":"Sect283r1","1.3.132.0.22":"Sect131r1","1.3.132.0.23":"Sect131r2","1.3.132.0.24":"Sect193r1","1.3.132.0.25":"Sect193r2","1.3.132.0.26":"Sect233k1","1.3.132.0.27":"Sect233r1","1.3.132.0.28":"Secp128r1","1.3.132.0.29":"Secp128r2","1.3.132.0.30":"Secp160r2","1.3.132.0.31":"Secp192k1","1.3.132.0.32":"Secp224k1","1.3.132.0.33":"Secp224r1","1.3.132.0.34":"Secp384r1","1.3.132.0.35":"Secp521r1","1.3.132.0.36":"Sect409k1","1.3.132.0.37":"Sect409r1","1.3.132.0.38":"Sect571k1","1.3.132.0.39":"Sect571r1","1.3.133.16.840.9.84":"x984","1.3.133.16.840.9.84.0":"x984 Module","1.3.133.16.840.9.84.0.1":"x984 Biometrics","1.3.133.16.840.9.84.0.2":"x984 CMS","1.3.133.16.840.9.84.0.3":"x984 Identifiers","1.3.133.16.840.9.84.1":"x984 Biometric","1.3.133.16.840.9.84.1.0":"Biometric Unknown Type","1.3.133.16.840.9.84.1.1":"Biometric Body Odor","1.3.133.16.840.9.84.1.2":"Biometric DNA","1.3.133.16.840.9.84.1.3":"Biometric Ear Shape","1.3.133.16.840.9.84.1.4":"Biometric Facial Features","1.3.133.16.840.9.84.1.5":"Biometric Finger Image","1.3.133.16.840.9.84.1.6":"Biometric Finger Geometry","1.3.133.16.840.9.84.1.7":"Biometric Hand Geometry","1.3.133.16.840.9.84.1.8":"Biometric Iris Features","1.3.133.16.840.9.84.1.9":"Biometric Keystroke Dynamics","1.3.133.16.840.9.84.1.10":"Biometric Palm","1.3.133.16.840.9.84.1.11":"Biometric Retina","1.3.133.16.840.9.84.1.12":"Biometric Signature","1.3.133.16.840.9.84.1.13":"Biometric Speech Pattern","1.3.133.16.840.9.84.1.14":"Biometric Thermal Image","1.3.133.16.840.9.84.1.15":"Biometric Vein Pattern","1.3.133.16.840.9.84.1.16":"Biometric Thermal Face Image","1.3.133.16.840.9.84.1.17":"Biometric Thermal Hand Image","1.3.133.16.840.9.84.1.18":"Biometric Lip Movement","1.3.133.16.840.9.84.1.19":"Biometric Gait","1.3.133.16.840.9.84.3":"x984 Matching Method","1.3.133.16.840.9.84.4":"x984 Format Owner","1.3.133.16.840.9.84.4.0":"x984 Cbeff Owner","1.3.133.16.840.9.84.4.1":"x984 Ibia Owner","1.3.133.16.840.9.84.4.1.1":"Ibia Owner SAFLINK","1.3.133.16.840.9.84.4.1.2":"Ibia Owner Bioscrypt","1.3.133.16.840.9.84.4.1.3":"Ibia Owner Visionics","1.3.133.16.840.9.84.4.1.4":"Ibia Owner Infineon Technologies AG","1.3.133.16.840.9.84.4.1.5":"Ibia Owner Iridian Technologies","1.3.133.16.840.9.84.4.1.6":"Ibia Owner Veridicom","1.3.133.16.840.9.84.4.1.7":"Ibia Owner Cyber SIGN","1.3.133.16.840.9.84.4.1.8":"Ibia Ownere Cryp","1.3.133.16.840.9.84.4.1.9":"Ibia Owner Fingerprint Cards AB","1.3.133.16.840.9.84.4.1.10":"Ibia Owner Secu Gen","1.3.133.16.840.9.84.4.1.11":"Ibia Owner Precise Biometric","1.3.133.16.840.9.84.4.1.12":"Ibia Owner Identix","1.3.133.16.840.9.84.4.1.13":"Ibia Owner DERMALOG","1.3.133.16.840.9.84.4.1.14":"Ibia Owner LOGICO","1.3.133.16.840.9.84.4.1.15":"Ibia Owner NIST","1.3.133.16.840.9.84.4.1.16":"Ibia Owner A3 Vision","1.3.133.16.840.9.84.4.1.17":"Ibia Owner NEC","1.3.133.16.840.9.84.4.1.18":"Ibia Owner ST Microelectronics","2.5.4.0":"Object Class","2.5.4.1":"Aliased Entry Name","2.5.4.2":"Knowledge Information","2.5.4.3":"Common Name","2.5.4.4":"Surname","2.5.4.5":"Serial Number","2.5.4.6":"Country Name","2.5.4.7":"Locality","2.5.4.7.1":"Collective Locality Name","2.5.4.8":"State","2.5.4.8.1":"Collective State Or Province Name","2.5.4.9":"Street Address","2.5.4.9.1":"Collective Street Address","2.5.4.97":"Organization Identifier","2.5.4.10":"Organization","2.5.4.10.1":"Collective Organization Name","2.5.4.11":"Organization Unit","2.5.4.11.1":"Collective Organization Unit Name","2.5.4.12":"Title","2.5.4.13":"Description","2.5.4.14":"Search Guide","2.5.4.15":"Business Category","2.5.4.16":"Postal Address","2.5.4.16.1":"Collective Postal Address","2.5.4.17":"Postal Code","2.5.4.17.1":"Collective Postal Code","2.5.4.18":"Post Office Box","2.5.4.18.1":"Collective Post Office Box","2.5.4.19":"Physical Delivery Office Name","2.5.4.19.1":"Collective Physical Delivery Office Name","2.5.4.20":"Telephone Number","2.5.4.20.1":"Collective Telephone Number","2.5.4.21":"Telex Number","2.5.4.21.1":"Collective Telex Number","2.5.4.22":"Teletex Terminal Identifier","2.5.4.22.1":"Collective Teletex Terminal Identifier","2.5.4.23":"Facsimile Telephone Number","2.5.4.23.1":"Collective Facsimile Telephone Number","2.5.4.24":"x121 Address","2.5.4.25":"International ISDN Number","2.5.4.25.1":"Collective International ISDN Number","2.5.4.26":"Registered Address","2.5.4.27":"Destination Indicator","2.5.4.28":"Preferred Delivery Mehtod","2.5.4.29":"Presentation Address","2.5.4.30":"Supported Application Context","2.5.4.31":"Member","2.5.4.32":"Owner","2.5.4.33":"Role Occupant","2.5.4.34":"See Also","2.5.4.35":"User Password","2.5.4.36":"User Certificate","2.5.4.37":"Ca Certificate","2.5.4.38":"Authority Revocation List","2.5.4.39":"Certificate Revocation List","2.5.4.40":"Cross Certificate Pair","2.5.4.41":"Name","2.5.4.42":"Given Name","2.5.4.43":"Initials","2.5.4.44":"Generation Qualifier","2.5.4.45":"Unique Identifier","2.5.4.46":"Dn Qualifier","2.5.4.47":"Enhanced Search Guide","2.5.4.48":"Protocol Information","2.5.4.49":"Distinguished Name","2.5.4.50":"Unique Member","2.5.4.51":"House Identifier","2.5.4.52":"Supported Algorithms","2.5.4.53":"Delta Revocation List","2.5.4.54":"DMD Name","2.5.4.55":"Clearance","2.5.4.56":"Default Dir Qop","2.5.4.57":"Attribute Integrity Info","2.5.4.58":"Attribute Certificate","2.5.4.59":"Attribute Certificate Revocation List","2.5.4.60":"Conf Key Info","2.5.4.61":"AA Certificate","2.5.4.62":"Attribute Descriptor Certificate","2.5.4.63":"Attribute Authority Revocation List","2.5.4.64":"Family Information","2.5.4.65":"Pseudonym","2.5.4.66":"Communications Service","2.5.4.67":"Communications Network","2.5.4.68":"Certification Practice Stmt","2.5.4.69":"Certificate Policy","2.5.4.70":"Pki Path","2.5.4.71":"Priv Policy","2.5.4.72":"Role","2.5.4.73":"Delegation Path","2.5.4.74":"Prot Priv Policy","2.5.4.75":"XML Privilege Info","2.5.4.76":"XML Priv Policy","2.5.4.82":"Permission","2.5.6.0":"Top","2.5.6.1":"Alias","2.5.6.2":"Country","2.5.6.3":"Locality","2.5.6.4":"Organization","2.5.6.5":"Organization Unit","2.5.6.6":"Person","2.5.6.7":"Organization Person","2.5.6.8":"Organization Role","2.5.6.9":"Group Of Names","2.5.6.10":"Residential Person","2.5.6.11":"Application Process","2.5.6.12":"Application Entity","2.5.6.13":"DSA","2.5.6.14":"Device","2.5.6.15":"Strong Authentication User","2.5.6.16":"Certificate Authority","2.5.6.17":"Group Of Unique Names","2.5.6.21":"Pki User","2.5.6.22":"Pki CA","2.5.8.1.1":"RSA","2.5.29.1":"Authority Key Identifier","2.5.29.2":"Key Attributes","2.5.29.3":"Certificate Policies","2.5.29.4":"Key Usage Restriction","2.5.29.5":"Policy Mapping","2.5.29.6":"Subtrees Constraint","2.5.29.7":"Subject Alt Name","2.5.29.8":"Issuer Alt Name","2.5.29.9":"Subject Directory Attributes","2.5.29.10":"Basic Constraints","2.5.29.11":"Name Constraints","2.5.29.12":"Policy Constraints","2.5.29.13":"Basic Constraints","2.5.29.14":"Subject Key Identifier","2.5.29.15":"Key Usage","2.5.29.16":"Private Key Usage Period","2.5.29.17":"Subject Alternative Name","2.5.29.18":"Issuer Alternative Name","2.5.29.19":"Basic Constraints","2.5.29.20":"CRL Number","2.5.29.21":"CRL Reason","2.5.29.22":"Expiration Date","2.5.29.23":"Instruction Code","2.5.29.24":"Invalidity Date","2.5.29.25":"CRL Distribution Points","2.5.29.26":"Issuing Distribution Point","2.5.29.27":"Delta CRL Indicator","2.5.29.28":"Issuing Distribution Point","2.5.29.29":"Certificate Issuer","2.5.29.30":"Name Constraints","2.5.29.31":"CRL Distribution Points","2.5.29.32":"Certificate Policies","2.5.29.32.0":"Any Policy","2.5.29.33":"Policy Mappings","2.5.29.34":"Policy Constraints","2.5.29.35":"Authority Key Identifier","2.5.29.36":"Policy Constraints","2.5.29.37":"Extended Key Usage","2.5.29.37.0":"Any Extended Key Usage","2.5.29.38":"Authority Attribute Identifier","2.5.29.39":"Role Spec Cert Identifier","2.5.29.40":"CRL Stream Identifier","2.5.29.41":"Basic Att Constraints","2.5.29.42":"Delegated Name Constraints","2.5.29.43":"Time Specification","2.5.29.44":"CRL Scope","2.5.29.45":"Status Referrals","2.5.29.46":"Freshest CRL","2.5.29.47":"Ordered List","2.5.29.48":"Attribute Descriptor","2.5.29.49":"User Notice","2.5.29.50":"SOA Identifier","2.5.29.51":"Base Update Time","2.5.29.52":"Acceptable Cert Policies","2.5.29.53":"Delta Info","2.5.29.54":"Inhibit Any Policy","2.5.29.55":"Target Information","2.5.29.56":"No Rev Avail","2.5.29.57":"Acceptable Privilege Policies","2.5.29.58":"To Be Revoked","2.5.29.59":"Revoked Groups","2.5.29.60":"Expired Certs On CRL","2.5.29.61":"Indirect Issuer","2.5.29.62":"No Assertion","2.5.29.63":"A Aissuing Distribution Point","2.5.29.64":"Issued On Behalf Of","2.5.29.65":"Single Use","2.5.29.66":"Group AC","2.5.29.67":"Allowed Att Ass","2.5.29.68":"Attribute Mappings","2.5.29.69":"Holder Name Constraints","2.16.528.1.1001.1.1.1.12.6.1.1.1":"Digi Notar EV policy","2.16.578.1.26.1.3.3":"Buy Pass EV policy","2.16.724.1.2.2.4.1":"Personal Data Info","2.16.756.1.89.1.2.1.1":"Swiss Sign EV policy","2.16.840.1.101.2.1.1.1":"Sdns Signature Algorithm","2.16.840.1.101.2.1.1.2":"Fortezza Signature Algorithm","2.16.840.1.101.2.1.1.3":"Sdns Confidentiality Algorithm","2.16.840.1.101.2.1.1.4":"Fortezza Confidentiality Algorithm","2.16.840.1.101.2.1.1.5":"Sdns Integrity Algorithm","2.16.840.1.101.2.1.1.6":"Fortezza Integrity Algorithm","2.16.840.1.101.2.1.1.7":"Sdns Token Protection Algorithm","2.16.840.1.101.2.1.1.8":"Fortezza Token Protection Algorithm","2.16.840.1.101.2.1.1.9":"Sdns Key Management Algorithm","2.16.840.1.101.2.1.1.10":"Fortezza Key Management Algorithm","2.16.840.1.101.2.1.1.11":"Sdns K Mand Sig Algorithm","2.16.840.1.101.2.1.1.12":"Fortezza K Mand Sig Algorithm","2.16.840.1.101.2.1.1.13":"Suite A Signature Algorithm","2.16.840.1.101.2.1.1.14":"Suite A Confidentiality Algorithm","2.16.840.1.101.2.1.1.15":"Suite A Integrity Algorithm","2.16.840.1.101.2.1.1.16":"Suite A Token Protection Algorithm","2.16.840.1.101.2.1.1.17":"Suite A Key Management Algorithm","2.16.840.1.101.2.1.1.18":"Suite AK Mand Sig Algorithm","2.16.840.1.101.2.1.1.19":"Fortezza Updated Sig Algorithm","2.16.840.1.101.2.1.1.20":"Fortezza K Mand Upd Sig Algorithms","2.16.840.1.101.2.1.1.21":"Fortezza Updated Integ Algorithm","2.16.840.1.101.2.1.1.22":"Key Exchange Algorithm","2.16.840.1.101.2.1.1.23":"Fortezza Wrap80 Algorithm","2.16.840.1.101.2.1.1.24":"KEA Key Encryption Algorithm","2.16.840.1.101.2.1.2.1":"Rfc822 Message Format","2.16.840.1.101.2.1.2.2":"Empty Content","2.16.840.1.101.2.1.2.3":"Csp Content Type","2.16.840.1.101.2.1.2.42":"MSP Rev3 Content Type","2.16.840.1.101.2.1.2.48":"MSP Content Type","2.16.840.1.101.2.1.2.49":"MSP Rekey Agent Protocol","2.16.840.1.101.2.1.2.50":"MSP MMP","2.16.840.1.101.2.1.2.66":"MSP Rev3-1 Content Type","2.16.840.1.101.2.1.2.72":"Forwarded MSP Message Body Part","2.16.840.1.101.2.1.2.73":"MSP Forwarded Message Parameters","2.16.840.1.101.2.1.2.74":"Forwarded CSP Msg Body Part","2.16.840.1.101.2.1.2.75":"CSP Forwarded Message Parameters","2.16.840.1.101.2.1.2.76":"MSP MMP2","2.16.840.1.101.2.1.3.1":"SDNS Security Policy","2.16.840.1.101.2.1.3.2":"SDNS PRBAC","2.16.840.1.101.2.1.3.3":"Mosaic PRBAC","2.16.840.1.101.2.1.3.10":"SI Security Policy","2.16.840.1.101.2.1.3.10.0":"SI NASP","2.16.840.1.101.2.1.3.10.1":"SI ELCO","2.16.840.1.101.2.1.3.10.2":"SI TK","2.16.840.1.101.2.1.3.10.3":"SI DSAP","2.16.840.1.101.2.1.3.10.4":"SI SSSS","2.16.840.1.101.2.1.3.10.5":"SI DNASP","2.16.840.1.101.2.1.3.10.6":"SI BYEMAN","2.16.840.1.101.2.1.3.10.7":"SI REL-US","2.16.840.1.101.2.1.3.10.8":"SI REL-AUS","2.16.840.1.101.2.1.3.10.9":"SI REL-CAN","2.16.840.1.101.2.1.3.10.10":"SI REL_UK","2.16.840.1.101.2.1.3.10.11":"SI REL-NZ","2.16.840.1.101.2.1.3.10.12":"SI Generic","2.16.840.1.101.2.1.3.11":"Genser","2.16.840.1.101.2.1.3.11.0":"Genser Nations","2.16.840.1.101.2.1.3.11.1":"Genser Comsec","2.16.840.1.101.2.1.3.11.2":"Genser Acquisition","2.16.840.1.101.2.1.3.11.3":"Genser Security Categories","2.16.840.1.101.2.1.3.11.3.0":"Genser Tag Set Name","2.16.840.1.101.2.1.3.12":"Default Security Policy","2.16.840.1.101.2.1.3.13":"Capco Markings","2.16.840.1.101.2.1.3.13.0":"Capco Security Categories","2.16.840.1.101.2.1.3.13.0.1":"Capco Tag Set Name1","2.16.840.1.101.2.1.3.13.0.2":"Capco Tag Set Name2","2.16.840.1.101.2.1.3.13.0.3":"Capco Tag Set Name3","2.16.840.1.101.2.1.3.13.0.4":"Capco Tag Set Name4","2.16.840.1.101.2.1.5.1":"SDNS Key Management Certificate","2.16.840.1.101.2.1.5.2":"SDNS User Signature Certificate","2.16.840.1.101.2.1.5.3":"SDNS K Mand Sig Certificate","2.16.840.1.101.2.1.5.4":"Fortezza Key Management Certificate","2.16.840.1.101.2.1.5.5":"Fortezza K Mand Sig Certificate","2.16.840.1.101.2.1.5.6":"Fortezza User Signature Certificate","2.16.840.1.101.2.1.5.7":"Fortezza CA Signature Certificate","2.16.840.1.101.2.1.5.8":"SDNS CA Signature Certificate","2.16.840.1.101.2.1.5.10":"Auxiliary Vector","2.16.840.1.101.2.1.5.11":"Ml Receipt Policy","2.16.840.1.101.2.1.5.12":"Ml Membership","2.16.840.1.101.2.1.5.13":"Ml Administrators","2.16.840.1.101.2.1.5.14":"Alid","2.16.840.1.101.2.1.5.20":"Jan UKMs","2.16.840.1.101.2.1.5.21":"Feb UKMs","2.16.840.1.101.2.1.5.22":"Mar UKMs","2.16.840.1.101.2.1.5.23":"Apr UKMs","2.16.840.1.101.2.1.5.24":"May UKMs","2.16.840.1.101.2.1.5.25":"Jun UKMs","2.16.840.1.101.2.1.5.26":"Jul UKMs","2.16.840.1.101.2.1.5.27":"Aug UKMs","2.16.840.1.101.2.1.5.28":"Sep UKMs","2.16.840.1.101.2.1.5.29":"Oct UKMs","2.16.840.1.101.2.1.5.30":"Nov UKMs","2.16.840.1.101.2.1.5.31":"Dec UKMs","2.16.840.1.101.2.1.5.40":"Meta SDN Sckl","2.16.840.1.101.2.1.5.41":"Sdns CKL","2.16.840.1.101.2.1.5.42":"Meta SDN Ssignature CKL","2.16.840.1.101.2.1.5.43":"Sdns Signature CKL","2.16.840.1.101.2.1.5.44":"Sdns Certificate Revocation List","2.16.840.1.101.2.1.5.45":"Fortezza Certificate Revocation List","2.16.840.1.101.2.1.5.46":"Fortezza CKL","2.16.840.1.101.2.1.5.47":"Al Exempted Address Processor","2.16.840.1.101.2.1.5.48":"Guard","2.16.840.1.101.2.1.5.49":"Algorithms Supported","2.16.840.1.101.2.1.5.50":"Suite A Key Management Certificate","2.16.840.1.101.2.1.5.51":"Suite AK Mand Sig Certificate","2.16.840.1.101.2.1.5.52":"Suite A User Signature Certificate","2.16.840.1.101.2.1.5.53":"Prbac Info","2.16.840.1.101.2.1.5.54":"Prbac CA Constraints","2.16.840.1.101.2.1.5.55":"Sig Or KM Privileges","2.16.840.1.101.2.1.5.56":"Comm Privileges","2.16.840.1.101.2.1.5.57":"Labeled Attribute","2.16.840.1.101.2.1.5.58":"Policy Information File","2.16.840.1.101.2.1.5.59":"Sec Policy Information File","2.16.840.1.101.2.1.5.60":"CA Clearance Constraint","2.16.840.1.101.2.1.7.1":"CSP Extns","2.16.840.1.101.2.1.7.1.0":"CSP Cs Extn","2.16.840.1.101.2.1.8.1":"MISSI Security Categories","2.16.840.1.101.2.1.8.2":"Standard Security Label Privileges","2.16.840.1.101.2.1.10.1":"SIG Privileges","2.16.840.1.101.2.1.10.2":"KM Privileges","2.16.840.1.101.2.1.10.3":"Named Tag Set Privilege","2.16.840.1.101.2.1.11.1":"UK Demo","2.16.840.1.101.2.1.11.2":"US DOD Class2","2.16.840.1.101.2.1.11.3":"US Medium Pilot","2.16.840.1.101.2.1.11.4":"US DOD Class4","2.16.840.1.101.2.1.11.5":"US DOD Class3","2.16.840.1.101.2.1.11.6":"US DOD Class5","2.16.840.1.101.2.1.12.0":"Test Security Policy","2.16.840.1.101.2.1.12.0.1":"TSP1","2.16.840.1.101.2.1.12.0.1.0":"TSP1 Security Categories","2.16.840.1.101.2.1.12.0.1.0.0":"TSP1 Tag Set Zero","2.16.840.1.101.2.1.12.0.1.0.1":"TSP1 Tag Set One","2.16.840.1.101.2.1.12.0.1.0.2":"TSP1 Tag Set Two","2.16.840.1.101.2.1.12.0.2":"TSP2","2.16.840.1.101.2.1.12.0.2.0":"TSP2 Security Categories","2.16.840.1.101.2.1.12.0.2.0.0":"TSP2 Tag Set Zero","2.16.840.1.101.2.1.12.0.2.0.1":"TSP2 Tag Set One","2.16.840.1.101.2.1.12.0.2.0.2":"TSP2 Tag Set Two","2.16.840.1.101.2.1.12.0.3":"Kafka","2.16.840.1.101.2.1.12.0.3.0":"Kafka Security Categories","2.16.840.1.101.2.1.12.0.3.0.1":"Kafka Tag Set Name1","2.16.840.1.101.2.1.12.0.3.0.2":"Kafka Tag Set Name2","2.16.840.1.101.2.1.12.0.3.0.3":"Kafka Tag Set Name3","2.16.840.1.101.2.1.12.1.1":"TCp1","2.16.840.1.101.3.1":"Slabel","2.16.840.1.101.3.2":"PKI","2.16.840.1.101.3.2.1":"NIST policy Identifier","2.16.840.1.101.3.2.1.3.1":"Fbca Rudimentary Policy","2.16.840.1.101.3.2.1.3.2":"Fbca Basic Policy","2.16.840.1.101.3.2.1.3.3":"Fbca Medium Policy","2.16.840.1.101.3.2.1.3.4":"Fbca High Policy","2.16.840.1.101.3.2.1.48.1":"Nist Test Policy1","2.16.840.1.101.3.2.1.48.2":"Nist Test Policy2","2.16.840.1.101.3.2.1.48.3":"Nist Test Policy3","2.16.840.1.101.3.2.1.48.4":"Nist Test Policy4","2.16.840.1.101.3.2.1.48.5":"Nist Test Policy5","2.16.840.1.101.3.2.1.48.6":"Nist Test Policy6","2.16.840.1.101.3.2.2":"GAK","2.16.840.1.101.3.2.2.1":"KRA Key","2.16.840.1.101.3.2.3":"Extensions","2.16.840.1.101.3.2.3.1":"KR Technique","2.16.840.1.101.3.2.3.2":"K Recovery Capable","2.16.840.1.101.3.2.3.3":"KR","2.16.840.1.101.3.2.4":"Key Recovery Schemes","2.16.840.1.101.3.2.5":"Krapola","2.16.840.1.101.3.3":"ARPA","2.16.840.1.101.3.4":"Nist Algorithm","2.16.840.1.101.3.4.1":"AES","2.16.840.1.101.3.4.1.1":"AES128-ECB","2.16.840.1.101.3.4.1.2":"AES128-CBC","2.16.840.1.101.3.4.1.3":"AES128-OFB","2.16.840.1.101.3.4.1.4":"AES128-CFB","2.16.840.1.101.3.4.1.5":"AES128-wrap","2.16.840.1.101.3.4.1.6":"AES128-GCM","2.16.840.1.101.3.4.1.7":"AES128-CCM","2.16.840.1.101.3.4.1.8":"AES128-wrap-pad","2.16.840.1.101.3.4.1.21":"AES192-ECB","2.16.840.1.101.3.4.1.22":"AES192-CBC","2.16.840.1.101.3.4.1.23":"AES192-OFB","2.16.840.1.101.3.4.1.24":"AES192-CFB","2.16.840.1.101.3.4.1.25":"AES192-wrap","2.16.840.1.101.3.4.1.26":"AES192-GCM","2.16.840.1.101.3.4.1.27":"AES192-CCM","2.16.840.1.101.3.4.1.28":"AES192-wrap-pad","2.16.840.1.101.3.4.1.41":"AES256-ECB","2.16.840.1.101.3.4.1.42":"AES256-CBC","2.16.840.1.101.3.4.1.43":"AES256-OFB","2.16.840.1.101.3.4.1.44":"AES256-CFB","2.16.840.1.101.3.4.1.45":"AES256-wrap","2.16.840.1.101.3.4.1.46":"AES256-GCM","2.16.840.1.101.3.4.1.47":"AES256-CCM","2.16.840.1.101.3.4.1.48":"AES256-wrap-pad","2.16.840.1.101.3.4.2":"Hash Algos","2.16.840.1.101.3.4.2.1":"SHA-256","2.16.840.1.101.3.4.2.2":"SHA-384","2.16.840.1.101.3.4.2.3":"SHA-512","2.16.840.1.101.3.4.2.4":"SHA-224","2.16.840.1.101.3.4.3.1":"DSA with Sha224","2.16.840.1.101.3.4.3.2":"DSA with Sha256","2.16.840.1.113719.1.2.8":"Novell Algorithm","2.16.840.1.113719.1.2.8.22":"DES Cbc IV8","2.16.840.1.113719.1.2.8.23":"DES Cbc Pad IV8","2.16.840.1.113719.1.2.8.24":"DES EDE2 Cbc IV8","2.16.840.1.113719.1.2.8.25":"DES EDE2 Cbc Pad IV8","2.16.840.1.113719.1.2.8.26":"DES EDE3 Cbc IV8","2.16.840.1.113719.1.2.8.27":"DES EDE3 Cbc Pad IV8","2.16.840.1.113719.1.2.8.28":"Rc5 Cbc Pad","2.16.840.1.113719.1.2.8.29":"MD2 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.30":"MD5 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.31":"SHA1 with RSA Encryption B Safe1","2.16.840.1.113719.1.2.8.32":"Lm Digest","2.16.840.1.113719.1.2.8.40":"MD2","2.16.840.1.113719.1.2.8.50":"MD5","2.16.840.1.113719.1.2.8.51":"Ike Hmac with SHA1-RSA","2.16.840.1.113719.1.2.8.52":"Ike Hmac with MD5-RSA","2.16.840.1.113719.1.2.8.69":"RC2 Cbc Pad","2.16.840.1.113719.1.2.8.82":"SHA-1","2.16.840.1.113719.1.2.8.92":"RC2 B Safe1 Cbc","2.16.840.1.113719.1.2.8.95":"MD4","2.16.840.1.113719.1.2.8.130":"MD4 Packet","2.16.840.1.113719.1.2.8.131":"RSA Encryption Bsafe1","2.16.840.1.113719.1.2.8.132":"Nw Password","2.16.840.1.113719.1.2.8.133":"Novell Obfuscate-1","2.16.840.1.113719.1.9":"PKI","2.16.840.1.113719.1.9.4":"PKI Attribute Type","2.16.840.1.113719.1.9.4.1":"Security Attributes","2.16.840.1.113719.1.9.4.2":"Reliance Limit","2.16.840.1.113730.1":"Certificate Extension","2.16.840.1.113730.1.1":"Netscape Certificate Type","2.16.840.1.113730.1.2":"Netscape Base Url","2.16.840.1.113730.1.3":"Netscape Revocation Url","2.16.840.1.113730.1.4":"Netscape CA Revocation","2.16.840.1.113730.1.7":"Netscape Certificate Renewal","2.16.840.1.113730.1.8":"Netscape CA Policy","2.16.840.1.113730.1.9":"Home Page Url","2.16.840.1.113730.1.10":"Entity Logo","2.16.840.1.113730.1.11":"User Picture","2.16.840.1.113730.1.12":"Netscape Ssl Server","2.16.840.1.113730.1.13":"Netscape Comment","2.16.840.1.113730.2":"Data-type","2.16.840.1.113730.2.1":"Data GIF","2.16.840.1.113730.2.2":"Data JPEG","2.16.840.1.113730.2.3":"Data URL","2.16.840.1.113730.2.4":"Data HTML","2.16.840.1.113730.2.5":"Cert Sequence","2.16.840.1.113730.2.6":"Cert URL","2.16.840.1.113730.3":"Directory","2.16.840.1.113730.3.1":"Ldap Definitions","2.16.840.1.113730.3.1.1":"Car License","2.16.840.1.113730.3.1.2":"Department Number","2.16.840.1.113730.3.1.3":"Employee Number","2.16.840.1.113730.3.1.4":"Employee Type","2.16.840.1.113730.3.2.2":"Inet Org Person","2.16.840.1.113730.4.1":"Server Gated Crypto","2.16.840.1.113733.1":"PKI","2.16.840.1.113733.1.6.3":"Verisign CZAG","2.16.840.1.113733.1.6.6":"Verisign In Box","2.16.840.1.113733.1.6.11":"Verisign Onsite Jurisdiction Hash","2.16.840.1.113733.1.6.13":"Unknown Verisign VPN extension","2.16.840.1.113733.1.6.15":"Verisign Server ID","2.16.840.1.113733.1.7.1.1":"Verisign Cert Policies95 Qualifier1","2.16.840.1.113733.1.7.1.1.1":"Verisign CP Sv1notice","2.16.840.1.113733.1.7.1.1.2":"Verisign CP Sv1nsi","2.16.840.1.113733.1.7.54":"Symantec","2.16.840.1.113733.1.7.23.6":"Veri Sign EV policy","2.16.840.1.113733.1.7.48.1":"Thawte EV policy","2.16.840.1.113733.1.8.1":"erisign ISS Strong Crypto","2.16.840.1.113733.1.9":"PKCS7 Attribute","2.16.840.1.113733.1.9.2":"Message Type","2.16.840.1.113733.1.9.3":"PKI Status","2.16.840.1.113733.1.9.4":"Fail Info","2.16.840.1.113733.1.9.5":"Sender Nonce","2.16.840.1.113733.1.9.6":"Recipient Nonce","2.16.840.1.113733.1.9.7":"Trans ID","2.16.840.1.113733.1.9.8":"Extension Req","2.16.840.1.113741.2":"Intel CDSA","2.16.840.1.114028.10.1.2":"Entrust EV policy","2.16.840.1.114171.500.9":"Wells Fargo EV policy","2.16.840.1.114404.1.1.2.4.1":"Trust Wave EV policy","2.16.840.1.114412.1":"Digi Cert Non EV Certs","2.16.840.1.114412.1.1":"Digi Cert OV Cert","2.16.840.1.114412.1.2":"Digi Cert DV Cert","2.16.840.1.114412.1.3.0.1":"Digi Cert Global CA Policy","2.16.840.1.114412.1.3.0.2":"Digi Cert High Assurance EVCA Policy","2.16.840.1.114412.1.3.0.3":"Digi Cert Global Root CA Policy","2.16.840.1.114412.1.3.0.4":"Digi Cert Assured ID Root CA Policy","2.16.840.1.114412.1.11":"Digi Cert Federated Device Cert","2.16.840.1.114412.2.1":"Digi Cert EV policy","2.16.840.1.114412.2.2":"Digi Cert EV Cert","2.23.140.1.1":"EV guidelines certificate policy","2.16.840.1.114412.2.3":"Digi Cert Object Signing Cert","2.16.840.1.114412.2.3.1":"Digi Cert Code Signing Cert","2.16.840.1.114412.2.3.2":"Digi Cert EV Code Signing Cert","2.16.840.1.114412.2.3.11":"Digi Cert Kernel Code Signing Cert","2.16.840.1.114412.2.3.21":"Digi Cert Document Signing Cert","2.16.840.1.114412.2.4":"Digi Cert Client Cert","2.16.840.1.114412.2.4.1.1":"Digi Cert Level1 Personal Client Cert","2.16.840.1.114412.2.4.1.2":"Digi Cert Level1 Enterprise Client Cert","2.16.840.1.114412.2.4.2":"Digi Cert Level2 Client Cert","2.16.840.1.114412.2.4.3.1":"Digi Cert Level3 US Client Cert","2.16.840.1.114412.2.4.3.2":"Digi Cert Level3 CBP Client Cert","2.16.840.1.114412.2.4.4.1":"Digi Cert Level4 US Client Cert","2.16.840.1.114412.2.4.4.2":"Digi Cert Level4 CBP Client Cert","2.16.840.1.114412.2.4.5.1":"Digi Cert PIV Hardware Cert","2.16.840.1.114412.2.4.5.2":"Digi Cert PIV Card Auth Cert","2.16.840.1.114412.2.4.5.3":"Digi Cert PIV Content Signing Cert","2.16.840.1.114412.4.31":"Digi Cert Grid Classic Cert","2.16.840.1.114412.4.31.5":"Digi Cert Grid Integrated Cert","2.16.840.1.114412.31.4.31.1":"Digi Cert Grid Host Cert","2.16.840.1.114413.1.7.23.3":"Go Daddy EV policy","2.16.840.1.114414.1.7.23.3":"Starfield EV policy","2.23.42.0":"Content Type","2.23.42.0.0":"Pan Data","2.23.42.0.1":"Pan Token","2.23.42.0.2":"Pan Only","2.23.42.1":"Msg Ext","2.23.42.2":"Field","2.23.42.2.0":"Full Name","2.23.42.2.1":"Given Name","2.23.42.2.2":"Family Name","2.23.42.2.3":"Birth Family Name","2.23.42.2.4":"Place Name","2.23.42.2.5":"Identification Number","2.23.42.2.6":"Month","2.23.42.2.7":"Date","2.23.42.2.8":"Address","2.23.42.2.9":"Telephone","2.23.42.2.10":"Amount","2.23.42.2.11":"Account Number","2.23.42.2.12":"Pass Phrase","2.23.42.3":"Attribute","2.23.42.3.0":"Cert","2.23.42.3.0.0":"Root Key Thumb","2.23.42.3.0.1":"Additional Policy","2.23.42.4":"Algorithm","2.23.42.5":"Policy","2.23.42.5.0":"Root","2.23.42.6":"Module","2.23.42.7":"Cert Ext","2.23.42.7.0":"Hashed Root Key","2.23.42.7.1":"Certificate Type","2.23.42.7.2":"Merchant Data","2.23.42.7.3":"Card Cert Required","2.23.42.7.4":"Tunneling","2.23.42.7.5":"Set Extensions","2.23.42.7.6":"Set Qualifier","2.23.42.8":"Brand","2.23.42.8.1":"IATA-ATA","2.23.42.8.4":" ISA","2.23.42.8.5":"Master Card","2.23.42.8.30":"Diners","2.23.42.8.34":"American Express","2.23.42.8.6011":"Novus","2.23.42.9":"Vendor","2.23.42.9.0":"Globe Set","2.23.42.9.1":"IBM","2.23.42.9.2":"Cyber Cash","2.23.42.9.3":"Terisa","2.23.42.9.4":"RSADSI","2.23.42.9.5":"Veri Fone","2.23.42.9.6":"Trin Tech","2.23.42.9.7":"Bank Gate","2.23.42.9.8":"GTE","2.23.42.9.9":"Compu Source","2.23.42.9.10":"Griffin","2.23.42.9.11":"Certicom","2.23.42.9.12":"OSS","2.23.42.9.13":"Tenth Mountain","2.23.42.9.14":"Antares","2.23.42.9.15":"ECC","2.23.42.9.16":"Maithean","2.23.42.9.17":"Netscape","2.23.42.9.18":"erisign","2.23.42.9.19":"Blue Money","2.23.42.9.20":"Lacerte","2.23.42.9.21":"Fujitsu","2.23.42.9.22":"E Lab","2.23.42.9.23":"Entrust","2.23.42.9.24":"VI Anet","2.23.42.9.25":"III","2.23.42.9.26":"Open Market","2.23.42.9.27":"Lexem","2.23.42.9.28":"Intertrader","2.23.42.9.29":"Persimmon","2.23.42.9.30":"NABLE","2.23.42.9.31":"Espace-net","2.23.42.9.32":"Hitachi","2.23.42.9.33":"Microsoft","2.23.42.9.34":"NEC","2.23.42.9.35":"Mitsubishi","2.23.42.9.36":"NCR","2.23.42.9.37":"E-COMM","2.23.42.9.38":"Gemplus","2.23.42.10":"National","2.23.42.10.392":"Japan","2.23.43.1.4":"WTLS-ECC","2.23.43.1.4.1":"WTLS-ECC-curve1","2.23.43.1.4.6":"WTLS-ECC-curve6","2.23.43.1.4.8":"WTLS-ECC-curve8","2.23.43.1.4.9":"WTLS-ECC-curve9","2.23.133":"TCPA","2.23.133.1":"TCPA Spec Version","2.23.133.2":"TCPA Attribute","2.23.133.2.1":"TCPA Tpm Manufacturer","2.23.133.2.2":"TCPA Tpm Model","2.23.133.2.3":"TCPA Tpm Version","2.23.133.2.4":"TCPA Platform Manufacturer","2.23.133.2.5":"TCPA Platform Model","2.23.133.2.6":"TCPA Platform Version","2.23.133.2.7":"TCPA Component Manufacturer","2.23.133.2.8":"TCPA Component Model","2.23.133.2.9":"TCPA Component Version","2.23.133.2.10":"TCPA Security Qualities","2.23.133.2.11":"TCPA Tpm Protection Profile","2.23.133.2.12":"TCPA Tpm Security Target","2.23.133.2.13":"TCPA Foundation Protection Profile","2.23.133.2.14":"TCPA Foundation Security Target","2.23.133.2.15":"TCPA Tpm Id Label","2.23.133.3":"TCPA Protocol","2.23.133.3.1":"TCPA Prtt Tpm Id Protocol","2.23.134.1.2.1.8.210":"Post Signum Commercial Server Policy","2.23.134.1.2.2.3":"Post Signum Public CA","2.23.134.1.4.2.1":"Post Signum Root QCA","2.23.136.1.1.1":"MRTD Signature Data","2.54.1775.2":"Hashed Root Key","2.54.1775.3":"Certificate Type","2.54.1775.4":"Merchant Data","2.54.1775.5":"Card Cert Required","2.54.1775.6":"Tunneling","2.54.1775.7":"Set Qualifier","2.54.1775.99":"Set Data","1.3.6.1.4.1.11129.2.4.3":"CT Pre-Certificate Poison","2.23.140.1.2.2":"CA/B Forum Organization Validated","2.23.140.1.2.1":"CA/B Forum Domain Validated","1.3.6.1.4.1.44947.1.1.1":"Let's Encrypt","1.3.6.1.4.1.4329.7.2.4":"SslTlsCerts","1.3.6.1.4.1.4329.7":"Siemens Public Key Infrastructure","1.3.6.1.4.1.52266.1":"Legal Entity Identifier","1.3.6.1.4.1.52266.2":"Role","0.4.0.9496.1":"Domain Name Beneficiary","0.4.0.9496.2":"DNB Legal representative","0.4.0.9496.3":"Domain Name Owner","0.4.0.9496.4":"Domain Name Technical Operator","0.4.0.9496.5":"Type of relationship between DNB/DNO/DNT","0.4.0.9496.6":"DNB Main Activity Description","0.4.0.9496.7":"GDPR compliance attestation reference","0.4.0.9496.8":"Insurance coverage attestation","0.4.0.9496.9":"Valuation ranking"};
|
|
24
24
|
/**
|
|
25
25
|
* @license
|
|
26
26
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -28,7 +28,7 @@ const rr=t=>/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-
|
|
|
28
28
|
* This source code is licensed under the MIT license found in the
|
|
29
29
|
* LICENSE file in the root directory of this source tree.
|
|
30
30
|
*/
|
|
31
|
-
var lr,ur,hr,pr=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i};class dr{constructor(t){lr.set(this,new me),qt.BufferSourceConverter.isBufferSource(t)?pr(this,lr,se.parse(t,me)):pr(this,lr,t)}toJSON(){const t=[];return function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}(this,lr).forEach(e=>e.forEach(e=>{t.push({type:e.type,name:cr[e.type],shortName:ar[e.type],value:e.value.toString()})})),t}}lr=new WeakMap,function(t){t[t.picture=0]="picture",t[t.handwrittenSignature=1]="handwrittenSignature"}(hr||(hr={}));let fr=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Et.Integer})],fr.prototype,"predefinedBiometricType",void 0),ce([ie({type:Et.ObjectIdentifier})],fr.prototype,"biometricDataOid",void 0),fr=ce([ee({type:wt.Choice})],fr);class yr{constructor(t={}){this.typeOfBiometricData=new fr,this.hashAlgorithm=new Pi,this.biometricDataHash=new Zt,Object.assign(this,t)}}ce([ie({type:fr})],yr.prototype,"typeOfBiometricData",void 0),ce([ie({type:Pi})],yr.prototype,"hashAlgorithm",void 0),ce([ie({type:Zt})],yr.prototype,"biometricDataHash",void 0),ce([ie({type:Et.IA5String,optional:!0})],yr.prototype,"sourceDataUri",void 0);let Sr=ur=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,ur.prototype)}};var Ar,Cr;Sr=ur=ce([ee({type:wt.Sequence,itemType:yr})],Sr);class mr{constructor(){this.statementId="",this.statementInfo=new ArrayBuffer(0)}}ce([ie({type:Et.ObjectIdentifier})],mr.prototype,"statementId",void 0),ce([ie({type:Et.Any,optional:!0})],mr.prototype,"statementInfo",void 0);let gr=Ar=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ar.prototype)}};gr=Ar=ce([ee({type:wt.Sequence,itemType:Ee})],gr);class vr{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier,optional:!0})],vr.prototype,"semanticsIdentifier",void 0),ce([ie({type:gr,optional:!0})],vr.prototype,"nameRegistrationAuthorities",void 0);let wr=Cr=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Cr.prototype)}};wr=Cr=ce([ee({type:wt.Sequence,itemType:mr})],wr);let Er=class extends fe{};var br,Pr;Er=ce([ee({type:wt.Choice})],Er),function(t){t.M="M",t.F="F",t.m="m",t.f="f"}(br||(br={}));let Br=Pr=class extends Fe{constructor(t){super(t),Object.setPrototypeOf(this,Pr.prototype)}};Br=Pr=ce([ee({type:wt.Sequence})],Br);class Dr{constructor(t={}){this.templateID="",this.templateMajorVersion=0,this.templateMinorVersion=0,Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Dr.prototype,"templateID",void 0),ce([ie({type:Et.Integer})],Dr.prototype,"templateMajorVersion",void 0),ce([ie({type:Et.Integer})],Dr.prototype,"templateMinorVersion",void 0);class Ir{constructor(t={}){this.name="",Object.assign(this,t)}}ce([ie({type:Et.Utf8String})],Ir.prototype,"name",void 0);let Tr=class{constructor(t={}){Object.assign(this,t)}toString(){var t,e;return(null===(t=this.name)||void 0===t?void 0:t.toString())||(null===(e=this.spec)||void 0===e?void 0:e.name)||""}};ce([ie({type:fe})],Tr.prototype,"name",void 0),ce([ie({type:Ir})],Tr.prototype,"spec",void 0),Tr=ce([ee({type:wt.Choice})],Tr);let Nr=class{constructor(){this.value=new ArrayBuffer(0)}toString(){const t=this.getVersion();return`V${t.certificateIndex}.${t.keyIndex}`}getVersion(){let t=new Uint8Array(this.value);return this.value.byteLength<4&&(t=new Uint8Array(4),t.set(new Uint8Array(this.value),4-this.value.byteLength)),{keyIndex:parseInt(qt.Convert.ToHex(t.slice(0,2)),16),certificateIndex:parseInt(qt.Convert.ToHex(t.slice(2)),16)}}};ce([ie({type:Et.Integer,converter:Dt})],Nr.prototype,"value",void 0),Nr=ce([ee({type:wt.Choice})],Nr);let xr=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Et.NumericString})],xr.prototype,"numericString",void 0),ce([ie({type:Et.PrintableString})],xr.prototype,"printableString",void 0),ce([ie({type:Et.TeletexString})],xr.prototype,"teletexString",void 0),ce([ie({type:Et.VideotexString})],xr.prototype,"videotexString",void 0),ce([ie({type:Et.IA5String})],xr.prototype,"ia5String",void 0),ce([ie({type:Et.GraphicString})],xr.prototype,"graphicString",void 0),ce([ie({type:Et.VisibleString})],xr.prototype,"visibleString",void 0),ce([ie({type:Et.GeneralString})],xr.prototype,"generalString",void 0),ce([ie({type:Et.UniversalString})],xr.prototype,"universalString",void 0),ce([ie({type:Et.BmpString})],xr.prototype,"bmpString",void 0),xr=ce([ee({type:wt.Choice})],xr);let Rr=class{constructor(t=new ArrayBuffer(0)){this.value=t}};var Or;ce([ie({type:Et.Any})],Rr.prototype,"value",void 0),Rr=ce([ee({type:wt.Choice})],Rr);let kr=Or=class extends xi{constructor(t){super(t),Object.setPrototypeOf(this,Or.prototype)}};kr=Or=ce([ee({type:wt.Sequence})],kr);class Mr{constructor(t={}){this.keySpec=0,this.cspName="",this.signature=new ArrayBuffer(0),Object.assign(this,t)}}var Kr;ce([ie({type:Et.Integer})],Mr.prototype,"keySpec",void 0),ce([ie({type:Et.BmpString})],Mr.prototype,"cspName",void 0),ce([ie({type:Et.BitString})],Mr.prototype,"signature",void 0);let Ur=Kr=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Kr.prototype)}};var Hr;Ur=Kr=ce([ee({type:wt.Sequence,itemType:Et.Any})],Ur);let _r=Hr=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Hr.prototype)}};var jr;_r=Hr=ce([ee({type:wt.Sequence,itemType:Et.Any})],_r);class Fr{constructor(t={}){this.name="",this.value="",Object.assign(this,t)}}ce([ie({type:Et.BmpString})],Fr.prototype,"name",void 0),ce([ie({type:Et.BmpString})],Fr.prototype,"value",void 0);let Lr=jr=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,jr.prototype)}};Lr=jr=ce([ee({type:wt.Sequence,itemType:Fr})],Lr);let Vr=class extends ve{};Vr=ce([ee({type:wt.Sequence})],Vr);let Gr=class extends ve{};Gr=ce([ee({type:wt.Sequence})],Gr);let $r=class extends ki{};$r=ce([ee({type:wt.Sequence})],$r);class Qr{constructor(t={}){this.clientId=0,this.machineName="",this.userName="",this.processName="",Object.assign(this,t)}}ce([ie({type:Et.Integer})],Qr.prototype,"clientId",void 0),ce([ie({type:Et.Utf8String})],Qr.prototype,"machineName",void 0),ce([ie({type:Et.Utf8String})],Qr.prototype,"userName",void 0),ce([ie({type:Et.Utf8String})],Qr.prototype,"processName",void 0);let Wr=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],Wr.prototype,"value",void 0),Wr=ce([ee({type:wt.Choice})],Wr);let zr=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],zr.prototype,"value",void 0),zr=ce([ee({type:wt.Choice})],zr);let qr=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],qr.prototype,"value",void 0),qr=ce([ee({type:wt.Choice})],qr);let Jr=class{constructor(t){this.value="",t&&(this.value=t)}};var Zr;ce([ie({type:Et.IA5String})],Jr.prototype,"value",void 0),Jr=ce([ee({type:wt.Choice})],Jr),function(t){t[t.sslClient=1]="sslClient",t[t.sslServer=2]="sslServer",t[t.sMime=4]="sMime",t[t.objectSigning=8]="objectSigning",t[t.sslCa=32]="sslCa",t[t.sMimeCa=64]="sMimeCa",t[t.objectSigningCa=128]="objectSigningCa"}(Zr||(Zr={}));class Xr extends Jt{toJSON(){const t=this.toNumber(),e=[];return t&Zr.objectSigning&&e.push("objectSigning"),t&Zr.objectSigningCa&&e.push("objectSigningCa"),t&Zr.sMime&&e.push("sMime"),t&Zr.sMimeCa&&e.push("sMimeCa"),t&Zr.sslCa&&e.push("sslCa"),t&Zr.sslClient&&e.push("sslClient"),t&Zr.sslServer&&e.push("sslServer"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let Yr=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],Yr.prototype,"value",void 0),Yr=ce([ee({type:wt.Choice})],Yr);let ts=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],ts.prototype,"value",void 0),ts=ce([ee({type:wt.Choice})],ts);let es=class{constructor(t){this.value="",t&&(this.value=t)}};ce([ie({type:Et.IA5String})],es.prototype,"value",void 0),es=ce([ee({type:wt.Choice})],es);let is=class{constructor(t={}){this.leiCode="",Object.assign(this,t)}};ce([ie({type:tt})],is.prototype,"leiCode",void 0),ce([ie({type:tt,context:0,optional:!0})],is.prototype,"leiRole",void 0),is=ce([ee({type:wt.Sequence})],is);let rs=class{constructor(t){t&&(this.text=t)}get text(){return void 0!==this.bmpString?this.bmpString:void 0!==this.ia5String?this.ia5String:void 0!==this.printableString?this.printableString:void 0!==this.utf8String?this.utf8String:void 0!==this.visibleString?this.visibleString:void 0}set text(t){this.printableString=t}};ce([ie({type:Et.IA5String})],rs.prototype,"ia5String",void 0),ce([ie({type:Et.VisibleString})],rs.prototype,"visibleString",void 0),ce([ie({type:Et.BmpString})],rs.prototype,"bmpString",void 0),ce([ie({type:Et.Utf8String})],rs.prototype,"utf8String",void 0),ce([ie({type:Et.PrintableString})],rs.prototype,"printableString",void 0),rs=ce([ee({type:wt.Choice})],rs);let ss=class extends rs{constructor(t){super(),"string"==typeof t?this.text=t:t instanceof is&&(this.struct=t)}};ce([ie({type:is})],ss.prototype,"struct",void 0),ss=ce([ee({type:wt.Choice})],ss);let ns=class extends rs{};ns=ce([ee({type:wt.Choice})],ns);class os{constructor(t){this.offset=0,this.view=qt.BufferSourceConverter.toUint8Array(t)}get position(){return this.offset}read(t=1){const e=this.view.slice(this.offset,this.offset+t);return this.offset=this.offset+e.length,e}readByte(){const t=this.read();if(!t.length)throw new Error("End of stream");return t[0]}readNumber(t){const e=this.read(t),i=qt.Convert.ToHex(e);return parseInt(i,16)}readEnd(){return this.read(this.view.length-this.offset)}reset(){this.offset=0}}var as,cs,ls,us,hs;!function(t){t[t.certificateTimestamp=0]="certificateTimestamp",t[t.treeHash=1]="treeHash"}(as||(as={})),function(t){t[t.none=0]="none",t[t.md5=1]="md5",t[t.sha1=2]="sha1",t[t.sha224=3]="sha224",t[t.sha256=4]="sha256",t[t.sha384=5]="sha384",t[t.sha512=6]="sha512"}(cs||(cs={})),function(t){t[t.anonymous=0]="anonymous",t[t.rsa=1]="rsa",t[t.dsa=2]="dsa",t[t.ecdsa=3]="ecdsa"}(ls||(ls={}));class ps extends class{static createStream(t){const e=qt.BufferSourceConverter.toUint8Array(t);return new os(e)}}{constructor(t){super(),this.version=0,this.logId=new ArrayBuffer(32),this.timestamp=new Date,this.extensions=new ArrayBuffer(0),this.hashAlgorithm=0,this.signatureAlgorithm=0,this.signature=new ArrayBuffer(0),t&&this.parse(t)}parse(t){this.version=t.readByte(),t.read(2),this.logId=qt.BufferSourceConverter.toArrayBuffer(t.read(32)),this.timestamp=new Date(t.readNumber(8));const e=t.readNumber(2);this.extensions=t.read(e).buffer,this.hashAlgorithm=t.readByte(),this.signatureAlgorithm=t.readByte(),this.signature=t.read(t.readNumber(2)).buffer}toJSON(){return{version:this.version,logId:qt.Convert.ToHex(this.logId),timestamp:this.timestamp,extensions:qt.Convert.ToBase64(this.extensions),hashAlgorithm:cs[this.hashAlgorithm]||"undefined",signatureAlgorithm:ls[this.signatureAlgorithm]||"undefined",signature:qt.Convert.ToBase64(this.signature)}}}class ds extends Zt{constructor(){super(...arguments),this.items=[]}fromASN(t){super.fromASN(t);const e=new os(this.buffer),i=e.readNumber(2);for(this.items=[];e.position<i;)this.items.push(new ps(e));return this}toJSON(){return this.items.map(t=>t.toJSON())}}!function(t){t[t.v1=1]="v1"}(us||(us={}));class fs{constructor(t={}){this.version=us.v1,Object.assign(this,t)}}ce([ie({type:Et.Integer})],fs.prototype,"version",void 0);class ys{constructor(t={}){this.version=us.v1,this.location=new Ee,this.requiresAuth=!1,Object.assign(this,t)}}ce([ie({type:Et.Integer})],ys.prototype,"version",void 0),ce([ie({type:Ee})],ys.prototype,"location",void 0),ce([ie({type:Et.Boolean,defaultValue:!1,optional:!0})],ys.prototype,"requiresAuth",void 0);class Ss{constructor(t={}){this.hashAlg=new Pi,this.hashValue=new Zt,Object.assign(this,t)}}ce([ie({type:Pi})],Ss.prototype,"hashAlg",void 0),ce([ie({type:Zt})],Ss.prototype,"hashValue",void 0);class As{constructor(t={}){this.mediaType="",this.logotypeHash=[],this.logotypeURI=[],Object.assign(this,t)}}ce([ie({type:Et.IA5String})],As.prototype,"mediaType",void 0),ce([ie({type:Ss,repeated:"sequence"})],As.prototype,"logotypeHash",void 0),ce([ie({type:Et.IA5String,repeated:"sequence"})],As.prototype,"logotypeURI",void 0),function(t){t[t.mono=1]="mono",t[t.stereo=2]="stereo",t[t.quad=4]="quad"}(hs||(hs={}));class Cs{constructor(t={}){this.fileSize=0,this.playTime=0,this.channels=hs.mono,Object.assign(this,t)}}ce([ie({type:Et.Integer})],Cs.prototype,"fileSize",void 0),ce([ie({type:Et.Integer})],Cs.prototype,"playTime",void 0),ce([ie({type:Et.Integer})],Cs.prototype,"channels",void 0),ce([ie({type:Et.Integer,implicit:!0,context:3,optional:!0})],Cs.prototype,"sampleRate",void 0),ce([ie({type:Et.IA5String,implicit:!0,context:4,optional:!0})],Cs.prototype,"language",void 0);class ms{constructor(t={}){this.audioDetails=new As,Object.assign(this,t)}}ce([ie({type:As})],ms.prototype,"audioDetails",void 0),ce([ie({type:Cs,optional:!0})],ms.prototype,"audioInfo",void 0);let gs=class{constructor(t={}){Object.assign(this,t)}};var vs;ce([ie({type:Et.Integer,context:1,implicit:!0})],gs.prototype,"numBits",void 0),ce([ie({type:Et.Integer,context:2,implicit:!0})],gs.prototype,"tableSize",void 0),gs=ce([ee({type:wt.Choice})],gs),function(t){t[t.grayScale=0]="grayScale",t[t.color=1]="color"}(vs||(vs={}));class ws{constructor(t={}){this.type=vs.color,this.fileSize=0,this.xSize=0,this.ySize=0,Object.assign(this,t)}}ce([ie({type:Et.Integer,context:0,implicit:!0,defaultValue:vs.color})],ws.prototype,"type",void 0),ce([ie({type:Et.Integer})],ws.prototype,"fileSize",void 0),ce([ie({type:Et.Integer})],ws.prototype,"xSize",void 0),ce([ie({type:Et.Integer})],ws.prototype,"ySize",void 0),ce([ie({type:gs})],ws.prototype,"resolution",void 0),ce([ie({type:Et.IA5String,context:4,implicit:!0,optional:!0})],ws.prototype,"language",void 0);class Es{constructor(t={}){this.imageDetails=new As,Object.assign(this,t)}}ce([ie({type:As})],Es.prototype,"imageDetails",void 0),ce([ie({type:ws,optional:!0})],Es.prototype,"imageInfo",void 0);class bs{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Es,repeated:"sequence",optional:!0})],bs.prototype,"image",void 0),ce([ie({type:ms,repeated:"sequence",context:1,optional:!0})],bs.prototype,"audio",void 0);class Ps{constructor(t={}){this.refStructHash=[],this.refStructURI=[],Object.assign(this,t)}}ce([ie({type:Ss,repeated:"sequence"})],Ps.prototype,"refStructHash",void 0),ce([ie({type:Et.IA5String,repeated:"sequence"})],Ps.prototype,"refStructURI",void 0);let Bs=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:bs,implicit:!0,context:0})],Bs.prototype,"direct",void 0),ce([ie({type:Ps,implicit:!0,context:1})],Bs.prototype,"indirect",void 0),Bs=ce([ee({type:wt.Choice})],Bs);class Ds{constructor(t={}){this.logotypeType="",this.info=new Bs,Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Ds.prototype,"logotypeType",void 0),ce([ie({type:Bs})],Ds.prototype,"info",void 0);class Is{constructor(t={}){Object.assign(this,t)}}var Ts,Ns,xs;ce([ie({type:Bs,context:0,repeated:"sequence",optional:!0})],Is.prototype,"communityLogos",void 0),ce([ie({type:Bs,context:1,optional:!0})],Is.prototype,"issuerLogo",void 0),ce([ie({type:Bs,context:2,optional:!0})],Is.prototype,"subjectLogo",void 0),ce([ie({type:Ds,context:3,repeated:"sequence",optional:!0})],Is.prototype,"otherLogos",void 0);let Rs=Ts=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ts.prototype)}};Rs=Ts=ce([ee({type:wt.Sequence,itemType:Et.IA5String})],Rs);class Os{constructor(t={}){this.claim="",this.permitted=[],Object.assign(this,t)}}ce([ie({type:Et.IA5String})],Os.prototype,"claim",void 0),ce([ie({type:Et.Utf8String,repeated:"sequence"})],Os.prototype,"permitted",void 0);let ks=Ns=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ns.prototype)}};ks=Ns=ce([ee({type:wt.Sequence,itemType:Os})],ks);class Ms{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Rs,optional:!0,context:0})],Ms.prototype,"mustInclude",void 0),ce([ie({type:ks,optional:!0,context:1})],Ms.prototype,"permittedValues",void 0);class Ks{constructor(){this.start="",this.count=2}}ce([ie({type:Et.IA5String})],Ks.prototype,"start",void 0),ce([ie({type:Et.Integer})],Ks.prototype,"count",void 0);let Us=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Et.IA5String,context:0})],Us.prototype,"spc",void 0),ce([ie({type:Ks,context:1})],Us.prototype,"range",void 0),ce([ie({type:Et.IA5String,context:2})],Us.prototype,"one",void 0),Us=ce([ee({type:wt.Choice})],Us);let Hs=xs=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,xs.prototype)}};Hs=xs=ce([ee({type:wt.Sequence,itemType:Us})],Hs);
|
|
31
|
+
var ur,hr,pr,dr=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i};class fr{constructor(t){ur.set(this,new ge),Jt.BufferSourceConverter.isBufferSource(t)?dr(this,ur,ne.parse(t,ge)):dr(this,ur,t)}toJSON(){const t=[];return function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}(this,ur).forEach(e=>e.forEach(e=>{t.push({type:e.type,name:lr[e.type],shortName:cr[e.type],value:e.value.toString()})})),t}}ur=new WeakMap,function(t){t[t.picture=0]="picture",t[t.handwrittenSignature=1]="handwrittenSignature"}(pr||(pr={}));let yr=class{constructor(t={}){Object.assign(this,t)}};le([re({type:bt.Integer})],yr.prototype,"predefinedBiometricType",void 0),le([re({type:bt.ObjectIdentifier})],yr.prototype,"biometricDataOid",void 0),yr=le([ie({type:Et.Choice})],yr);class Sr{constructor(t={}){this.typeOfBiometricData=new yr,this.hashAlgorithm=new Bi,this.biometricDataHash=new Xt,Object.assign(this,t)}}le([re({type:yr})],Sr.prototype,"typeOfBiometricData",void 0),le([re({type:Bi})],Sr.prototype,"hashAlgorithm",void 0),le([re({type:Xt})],Sr.prototype,"biometricDataHash",void 0),le([re({type:bt.IA5String,optional:!0})],Sr.prototype,"sourceDataUri",void 0);let Ar=hr=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,hr.prototype)}};var Cr,mr;Ar=hr=le([ie({type:Et.Sequence,itemType:Sr})],Ar);class gr{constructor(){this.statementId="",this.statementInfo=new ArrayBuffer(0)}}le([re({type:bt.ObjectIdentifier})],gr.prototype,"statementId",void 0),le([re({type:bt.Any,optional:!0})],gr.prototype,"statementInfo",void 0);let vr=Cr=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Cr.prototype)}};vr=Cr=le([ie({type:Et.Sequence,itemType:be})],vr);class wr{constructor(t={}){Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier,optional:!0})],wr.prototype,"semanticsIdentifier",void 0),le([re({type:vr,optional:!0})],wr.prototype,"nameRegistrationAuthorities",void 0);let Er=mr=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,mr.prototype)}};Er=mr=le([ie({type:Et.Sequence,itemType:gr})],Er);let br=class extends ye{};var Pr,Br;br=le([ie({type:Et.Choice})],br),function(t){t.M="M",t.F="F",t.m="m",t.f="f"}(Pr||(Pr={}));let Dr=Br=class extends Le{constructor(t){super(t),Object.setPrototypeOf(this,Br.prototype)}};Dr=Br=le([ie({type:Et.Sequence})],Dr);class Ir{constructor(t={}){this.templateID="",this.templateMajorVersion=0,this.templateMinorVersion=0,Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Ir.prototype,"templateID",void 0),le([re({type:bt.Integer})],Ir.prototype,"templateMajorVersion",void 0),le([re({type:bt.Integer})],Ir.prototype,"templateMinorVersion",void 0);class Tr{constructor(t={}){this.name="",Object.assign(this,t)}}le([re({type:bt.Utf8String})],Tr.prototype,"name",void 0);let Nr=class{constructor(t={}){Object.assign(this,t)}toString(){var t,e;return(null===(t=this.name)||void 0===t?void 0:t.toString())||(null===(e=this.spec)||void 0===e?void 0:e.name)||""}};le([re({type:ye})],Nr.prototype,"name",void 0),le([re({type:Tr})],Nr.prototype,"spec",void 0),Nr=le([ie({type:Et.Choice})],Nr);let xr=class{constructor(){this.value=new ArrayBuffer(0)}toString(){const t=this.getVersion();return`V${t.certificateIndex}.${t.keyIndex}`}getVersion(){let t=new Uint8Array(this.value);return this.value.byteLength<4&&(t=new Uint8Array(4),t.set(new Uint8Array(this.value),4-this.value.byteLength)),{keyIndex:parseInt(Jt.Convert.ToHex(t.slice(0,2)),16),certificateIndex:parseInt(Jt.Convert.ToHex(t.slice(2)),16)}}};le([re({type:bt.Integer,converter:It})],xr.prototype,"value",void 0),xr=le([ie({type:Et.Choice})],xr);let Rr=class{constructor(t={}){Object.assign(this,t)}};le([re({type:bt.NumericString})],Rr.prototype,"numericString",void 0),le([re({type:bt.PrintableString})],Rr.prototype,"printableString",void 0),le([re({type:bt.TeletexString})],Rr.prototype,"teletexString",void 0),le([re({type:bt.VideotexString})],Rr.prototype,"videotexString",void 0),le([re({type:bt.IA5String})],Rr.prototype,"ia5String",void 0),le([re({type:bt.GraphicString})],Rr.prototype,"graphicString",void 0),le([re({type:bt.VisibleString})],Rr.prototype,"visibleString",void 0),le([re({type:bt.GeneralString})],Rr.prototype,"generalString",void 0),le([re({type:bt.UniversalString})],Rr.prototype,"universalString",void 0),le([re({type:bt.BmpString})],Rr.prototype,"bmpString",void 0),Rr=le([ie({type:Et.Choice})],Rr);let Or=class{constructor(t=new ArrayBuffer(0)){this.value=t}};var kr;le([re({type:bt.Any})],Or.prototype,"value",void 0),Or=le([ie({type:Et.Choice})],Or);let Mr=kr=class extends Ri{constructor(t){super(t),Object.setPrototypeOf(this,kr.prototype)}};Mr=kr=le([ie({type:Et.Sequence})],Mr);class Kr{constructor(t={}){this.keySpec=0,this.cspName="",this.signature=new ArrayBuffer(0),Object.assign(this,t)}}var Ur;le([re({type:bt.Integer})],Kr.prototype,"keySpec",void 0),le([re({type:bt.BmpString})],Kr.prototype,"cspName",void 0),le([re({type:bt.BitString})],Kr.prototype,"signature",void 0);let Hr=Ur=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Ur.prototype)}};var _r;Hr=Ur=le([ie({type:Et.Sequence,itemType:bt.Any})],Hr);let jr=_r=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,_r.prototype)}};var Fr;jr=_r=le([ie({type:Et.Sequence,itemType:bt.Any})],jr);class Lr{constructor(t={}){this.name="",this.value="",Object.assign(this,t)}}le([re({type:bt.BmpString})],Lr.prototype,"name",void 0),le([re({type:bt.BmpString})],Lr.prototype,"value",void 0);let Vr=Fr=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Fr.prototype)}};Vr=Fr=le([ie({type:Et.Sequence,itemType:Lr})],Vr);let Gr=class extends we{};Gr=le([ie({type:Et.Sequence})],Gr);let $r=class extends we{};$r=le([ie({type:Et.Sequence})],$r);let Qr=class extends Mi{};Qr=le([ie({type:Et.Sequence})],Qr);class Wr{constructor(t={}){this.clientId=0,this.machineName="",this.userName="",this.processName="",Object.assign(this,t)}}le([re({type:bt.Integer})],Wr.prototype,"clientId",void 0),le([re({type:bt.Utf8String})],Wr.prototype,"machineName",void 0),le([re({type:bt.Utf8String})],Wr.prototype,"userName",void 0),le([re({type:bt.Utf8String})],Wr.prototype,"processName",void 0);let zr=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],zr.prototype,"value",void 0),zr=le([ie({type:Et.Choice})],zr);let qr=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],qr.prototype,"value",void 0),qr=le([ie({type:Et.Choice})],qr);let Jr=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],Jr.prototype,"value",void 0),Jr=le([ie({type:Et.Choice})],Jr);let Zr=class{constructor(t){this.value="",t&&(this.value=t)}};var Xr;le([re({type:bt.IA5String})],Zr.prototype,"value",void 0),Zr=le([ie({type:Et.Choice})],Zr),function(t){t[t.sslClient=1]="sslClient",t[t.sslServer=2]="sslServer",t[t.sMime=4]="sMime",t[t.objectSigning=8]="objectSigning",t[t.sslCa=32]="sslCa",t[t.sMimeCa=64]="sMimeCa",t[t.objectSigningCa=128]="objectSigningCa"}(Xr||(Xr={}));class Yr extends Zt{toJSON(){const t=this.toNumber(),e=[];return t&Xr.objectSigning&&e.push("objectSigning"),t&Xr.objectSigningCa&&e.push("objectSigningCa"),t&Xr.sMime&&e.push("sMime"),t&Xr.sMimeCa&&e.push("sMimeCa"),t&Xr.sslCa&&e.push("sslCa"),t&Xr.sslClient&&e.push("sslClient"),t&Xr.sslServer&&e.push("sslServer"),e}toString(){return`[${this.toJSON().join(", ")}]`}}let ts=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],ts.prototype,"value",void 0),ts=le([ie({type:Et.Choice})],ts);let es=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],es.prototype,"value",void 0),es=le([ie({type:Et.Choice})],es);let is=class{constructor(t){this.value="",t&&(this.value=t)}};le([re({type:bt.IA5String})],is.prototype,"value",void 0),is=le([ie({type:Et.Choice})],is);let rs=class{constructor(t={}){this.leiCode="",Object.assign(this,t)}};le([re({type:et})],rs.prototype,"leiCode",void 0),le([re({type:et,context:0,optional:!0})],rs.prototype,"leiRole",void 0),rs=le([ie({type:Et.Sequence})],rs);let ss=class{constructor(t){t&&(this.text=t)}get text(){return void 0!==this.bmpString?this.bmpString:void 0!==this.ia5String?this.ia5String:void 0!==this.printableString?this.printableString:void 0!==this.utf8String?this.utf8String:void 0!==this.visibleString?this.visibleString:void 0}set text(t){this.printableString=t}};le([re({type:bt.IA5String})],ss.prototype,"ia5String",void 0),le([re({type:bt.VisibleString})],ss.prototype,"visibleString",void 0),le([re({type:bt.BmpString})],ss.prototype,"bmpString",void 0),le([re({type:bt.Utf8String})],ss.prototype,"utf8String",void 0),le([re({type:bt.PrintableString})],ss.prototype,"printableString",void 0),ss=le([ie({type:Et.Choice})],ss);let ns=class extends ss{constructor(t){super(),"string"==typeof t?this.text=t:t instanceof rs&&(this.struct=t)}};le([re({type:rs})],ns.prototype,"struct",void 0),ns=le([ie({type:Et.Choice})],ns);let os=class extends ss{};os=le([ie({type:Et.Choice})],os);class as{constructor(t){this.offset=0,this.view=Jt.BufferSourceConverter.toUint8Array(t)}get position(){return this.offset}read(t=1){const e=this.view.slice(this.offset,this.offset+t);return this.offset=this.offset+e.length,e}readByte(){const t=this.read();if(!t.length)throw new Error("End of stream");return t[0]}readNumber(t){const e=this.read(t),i=Jt.Convert.ToHex(e);return parseInt(i,16)}readEnd(){return this.read(this.view.length-this.offset)}reset(){this.offset=0}}var cs,ls,us,hs,ps;!function(t){t[t.certificateTimestamp=0]="certificateTimestamp",t[t.treeHash=1]="treeHash"}(cs||(cs={})),function(t){t[t.none=0]="none",t[t.md5=1]="md5",t[t.sha1=2]="sha1",t[t.sha224=3]="sha224",t[t.sha256=4]="sha256",t[t.sha384=5]="sha384",t[t.sha512=6]="sha512"}(ls||(ls={})),function(t){t[t.anonymous=0]="anonymous",t[t.rsa=1]="rsa",t[t.dsa=2]="dsa",t[t.ecdsa=3]="ecdsa"}(us||(us={}));class ds extends class{static createStream(t){const e=Jt.BufferSourceConverter.toUint8Array(t);return new as(e)}}{constructor(t){super(),this.version=0,this.logId=new ArrayBuffer(32),this.timestamp=new Date,this.extensions=new ArrayBuffer(0),this.hashAlgorithm=0,this.signatureAlgorithm=0,this.signature=new ArrayBuffer(0),t&&this.parse(t)}parse(t){this.version=t.readByte(),t.read(2),this.logId=Jt.BufferSourceConverter.toArrayBuffer(t.read(32)),this.timestamp=new Date(t.readNumber(8));const e=t.readNumber(2);this.extensions=t.read(e).buffer,this.hashAlgorithm=t.readByte(),this.signatureAlgorithm=t.readByte(),this.signature=t.read(t.readNumber(2)).buffer}toJSON(){return{version:this.version,logId:Jt.Convert.ToHex(this.logId),timestamp:this.timestamp,extensions:Jt.Convert.ToBase64(this.extensions),hashAlgorithm:ls[this.hashAlgorithm]||"undefined",signatureAlgorithm:us[this.signatureAlgorithm]||"undefined",signature:Jt.Convert.ToBase64(this.signature)}}}class fs extends Xt{constructor(){super(...arguments),this.items=[]}fromASN(t){super.fromASN(t);const e=new as(this.buffer),i=e.readNumber(2);for(this.items=[];e.position<i;)this.items.push(new ds(e));return this}toJSON(){return this.items.map(t=>t.toJSON())}}!function(t){t[t.v1=1]="v1"}(hs||(hs={}));class ys{constructor(t={}){this.version=hs.v1,Object.assign(this,t)}}le([re({type:bt.Integer})],ys.prototype,"version",void 0);class Ss{constructor(t={}){this.version=hs.v1,this.location=new be,this.requiresAuth=!1,Object.assign(this,t)}}le([re({type:bt.Integer})],Ss.prototype,"version",void 0),le([re({type:be})],Ss.prototype,"location",void 0),le([re({type:bt.Boolean,defaultValue:!1,optional:!0})],Ss.prototype,"requiresAuth",void 0);class As{constructor(t={}){this.hashAlg=new Bi,this.hashValue=new Xt,Object.assign(this,t)}}le([re({type:Bi})],As.prototype,"hashAlg",void 0),le([re({type:Xt})],As.prototype,"hashValue",void 0);class Cs{constructor(t={}){this.mediaType="",this.logotypeHash=[],this.logotypeURI=[],Object.assign(this,t)}}le([re({type:bt.IA5String})],Cs.prototype,"mediaType",void 0),le([re({type:As,repeated:"sequence"})],Cs.prototype,"logotypeHash",void 0),le([re({type:bt.IA5String,repeated:"sequence"})],Cs.prototype,"logotypeURI",void 0),function(t){t[t.mono=1]="mono",t[t.stereo=2]="stereo",t[t.quad=4]="quad"}(ps||(ps={}));class ms{constructor(t={}){this.fileSize=0,this.playTime=0,this.channels=ps.mono,Object.assign(this,t)}}le([re({type:bt.Integer})],ms.prototype,"fileSize",void 0),le([re({type:bt.Integer})],ms.prototype,"playTime",void 0),le([re({type:bt.Integer})],ms.prototype,"channels",void 0),le([re({type:bt.Integer,implicit:!0,context:3,optional:!0})],ms.prototype,"sampleRate",void 0),le([re({type:bt.IA5String,implicit:!0,context:4,optional:!0})],ms.prototype,"language",void 0);class gs{constructor(t={}){this.audioDetails=new Cs,Object.assign(this,t)}}le([re({type:Cs})],gs.prototype,"audioDetails",void 0),le([re({type:ms,optional:!0})],gs.prototype,"audioInfo",void 0);let vs=class{constructor(t={}){Object.assign(this,t)}};var ws;le([re({type:bt.Integer,context:1,implicit:!0})],vs.prototype,"numBits",void 0),le([re({type:bt.Integer,context:2,implicit:!0})],vs.prototype,"tableSize",void 0),vs=le([ie({type:Et.Choice})],vs),function(t){t[t.grayScale=0]="grayScale",t[t.color=1]="color"}(ws||(ws={}));class Es{constructor(t={}){this.type=ws.color,this.fileSize=0,this.xSize=0,this.ySize=0,Object.assign(this,t)}}le([re({type:bt.Integer,context:0,implicit:!0,defaultValue:ws.color})],Es.prototype,"type",void 0),le([re({type:bt.Integer})],Es.prototype,"fileSize",void 0),le([re({type:bt.Integer})],Es.prototype,"xSize",void 0),le([re({type:bt.Integer})],Es.prototype,"ySize",void 0),le([re({type:vs})],Es.prototype,"resolution",void 0),le([re({type:bt.IA5String,context:4,implicit:!0,optional:!0})],Es.prototype,"language",void 0);class bs{constructor(t={}){this.imageDetails=new Cs,Object.assign(this,t)}}le([re({type:Cs})],bs.prototype,"imageDetails",void 0),le([re({type:Es,optional:!0})],bs.prototype,"imageInfo",void 0);class Ps{constructor(t={}){Object.assign(this,t)}}le([re({type:bs,repeated:"sequence",optional:!0})],Ps.prototype,"image",void 0),le([re({type:gs,repeated:"sequence",context:1,optional:!0})],Ps.prototype,"audio",void 0);class Bs{constructor(t={}){this.refStructHash=[],this.refStructURI=[],Object.assign(this,t)}}le([re({type:As,repeated:"sequence"})],Bs.prototype,"refStructHash",void 0),le([re({type:bt.IA5String,repeated:"sequence"})],Bs.prototype,"refStructURI",void 0);let Ds=class{constructor(t={}){Object.assign(this,t)}};le([re({type:Ps,implicit:!0,context:0})],Ds.prototype,"direct",void 0),le([re({type:Bs,implicit:!0,context:1})],Ds.prototype,"indirect",void 0),Ds=le([ie({type:Et.Choice})],Ds);class Is{constructor(t={}){this.logotypeType="",this.info=new Ds,Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Is.prototype,"logotypeType",void 0),le([re({type:Ds})],Is.prototype,"info",void 0);class Ts{constructor(t={}){Object.assign(this,t)}}var Ns,xs,Rs;le([re({type:Ds,context:0,repeated:"sequence",optional:!0})],Ts.prototype,"communityLogos",void 0),le([re({type:Ds,context:1,optional:!0})],Ts.prototype,"issuerLogo",void 0),le([re({type:Ds,context:2,optional:!0})],Ts.prototype,"subjectLogo",void 0),le([re({type:Is,context:3,repeated:"sequence",optional:!0})],Ts.prototype,"otherLogos",void 0);let Os=Ns=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Ns.prototype)}};Os=Ns=le([ie({type:Et.Sequence,itemType:bt.IA5String})],Os);class ks{constructor(t={}){this.claim="",this.permitted=[],Object.assign(this,t)}}le([re({type:bt.IA5String})],ks.prototype,"claim",void 0),le([re({type:bt.Utf8String,repeated:"sequence"})],ks.prototype,"permitted",void 0);let Ms=xs=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,xs.prototype)}};Ms=xs=le([ie({type:Et.Sequence,itemType:ks})],Ms);class Ks{constructor(t={}){Object.assign(this,t)}}le([re({type:Os,optional:!0,context:0})],Ks.prototype,"mustInclude",void 0),le([re({type:Ms,optional:!0,context:1})],Ks.prototype,"permittedValues",void 0);class Us{constructor(){this.start="",this.count=2}}le([re({type:bt.IA5String})],Us.prototype,"start",void 0),le([re({type:bt.Integer})],Us.prototype,"count",void 0);let Hs=class{constructor(t={}){Object.assign(this,t)}};le([re({type:bt.IA5String,context:0})],Hs.prototype,"spc",void 0),le([re({type:Us,context:1})],Hs.prototype,"range",void 0),le([re({type:bt.IA5String,context:2})],Hs.prototype,"one",void 0),Hs=le([ie({type:Et.Choice})],Hs);let _s=Rs=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Rs.prototype)}};_s=Rs=le([ie({type:Et.Sequence,itemType:Hs})],_s);
|
|
32
32
|
/**
|
|
33
33
|
* @license
|
|
34
34
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -36,7 +36,7 @@ var lr,ur,hr,pr=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to s
|
|
|
36
36
|
* This source code is licensed under the MIT license found in the
|
|
37
37
|
* LICENSE file in the root directory of this source tree.
|
|
38
38
|
*/
|
|
39
|
-
var
|
|
39
|
+
var js,Fs,Ls=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i},Vs=function(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)};class Gs{constructor(...t){js.set(this,void 0),Fs.set(this,void 0),1===t.length?(Ls(this,js,t[0]),Ls(this,Fs,ce.serialize(Vs(this,js)))):(Ls(this,js,ce.parse(t[0],t[1])),Ls(this,Fs,Jt.BufferSourceConverter.toArrayBuffer(t[0])))}get asn(){return Vs(this,js)}get raw(){return Vs(this,Fs)}}js=new WeakMap,Fs=new WeakMap;
|
|
40
40
|
/**
|
|
41
41
|
* @license
|
|
42
42
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -44,14 +44,14 @@ var _s,js,Fs=function(t,e,i){if(!e.has(t))throw new TypeError("attempted to set
|
|
|
44
44
|
* This source code is licensed under the MIT license found in the
|
|
45
45
|
* LICENSE file in the root directory of this source tree.
|
|
46
46
|
*/
|
|
47
|
-
class
|
|
47
|
+
class $s extends Gs{constructor(t){super(t,xi);const e=this.getAsnExtnValue();try{switch(this.asn.extnID){case"1.3.6.1.5.5.7.1.1":this.value=ne.parse(e,De);break;case"2.5.29.35":this.value=ne.parse(e,Te);break;case"2.5.29.19":this.value=ne.parse(e,Ne);break;case"2.5.29.29":this.value=ne.parse(e,ke);break;case"2.5.29.32":this.value=ne.parse(e,Le);break;case"2.5.29.31":case"2.5.29.46":this.value=ne.parse(e,Je);break;case"2.5.29.21":this.value=ne.parse(e,ei);break;case"2.5.29.37":this.value=ne.parse(e,ri);break;case"2.5.29.54":this.value=ne.parse(e,si);break;case"2.5.29.24":this.value=ne.parse(e,ni);break;case"2.5.29.18":this.value=ne.parse(e,ai);break;case"2.5.29.15":this.value=ne.parse(e,ui);break;case"2.5.29.30":this.value=ne.parse(e,di);break;case"2.5.29.36":this.value=ne.parse(e,fi);break;case"2.5.29.33":this.value=ne.parse(e,yi);break;case"2.5.29.17":this.value=ne.parse(e,Ai);break;case"2.5.29.9":this.value=ne.parse(e,gi);break;case"2.5.29.14":this.value=ne.parse(e,vi);break;case"1.3.6.1.5.5.7.1.3":this.value=ne.parse(e,Er);break;case"1.3.6.1.4.1.311.21.7":this.value=ne.parse(e,Ir);break;case"1.3.6.1.4.1.311.20.2":this.value=ne.parse(e,Nr);break;case"2.16.840.1.113730.1.13":this.value=ne.parse(e,ts);break;case"2.16.840.1.113730.1.1":this.value=ne.parse(e,Yr);break;case"1.3.6.1.4.1.311.21.1":this.value=ne.parse(e,xr);break;case"1.3.6.1.4.1.11129.2.4.2":this.value=ne.parse(e,fs);break;case"1.3.6.1.4.1.52266.1":this.value=ne.parse(e,ns);break;case"1.3.6.1.4.1.52266.2":this.value=ne.parse(e,os);break;case"1.2.840.113583.1.1.9.1":this.value=ne.parse(e,Ss);break;case"1.2.840.113583.1.1.9.2":this.value=ne.parse(e,ys);break;case"2.5.29.16":this.value=ne.parse(e,wi);break;case"1.2.840.113533.7.65.0":this.value=ne.parse(e,Pi);break;case"2.16.724.1.2.2.4.1":case"1.3.6.1.5.5.7.1.2":this.value=ne.parse(e,Ar);break;case"1.3.6.1.5.5.7.1.12":this.value=ne.parse(e,Ts);break;case"1.3.6.1.5.5.7.1.26":this.value=ne.parse(e,_s);break;default:console.warn(`Didn't detect parser for "${this.asn.extnID}" extension.`),this.value=Jt.Convert.ToHex(e)}}catch(i){console.error(`Error parse "${this.asn.extnID}" extension:`,i.message),this.value=Jt.Convert.ToHex(e)}}getAsnExtnValue(){return this.asn.extnValue.buffer}}
|
|
48
48
|
/**
|
|
49
49
|
* @license
|
|
50
50
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
51
51
|
*
|
|
52
52
|
* This source code is licensed under the MIT license found in the
|
|
53
53
|
* LICENSE file in the root directory of this source tree.
|
|
54
|
-
*/class
|
|
54
|
+
*/class Qs{constructor(){this.providers=new Map;const t=window.crypto||window.msCrypto;void 0!==t&&this.set(Qs.DEFAULT,t)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}get(t=Qs.DEFAULT){const e=this.providers.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.providers.set(t.toLowerCase(),e)}else this.providers.set(Qs.DEFAULT,t);return this}}Qs.DEFAULT="default";const Ws=new Qs,zs=t=>t.replace(/(.{32})/g,"$1\n").replace(/(.{4})/g,"$1 ").trim(),qs=t=>t.replace(/(.{64})/g,"$1\n"),Js=t=>{const e=t.replace(/.*base64,/,"").replace(/-----.+-----/g,"").replace(/[\s\r\n]/g,"");let i;return i=/^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/.test(e)?Jt.Convert.FromHex(e):(t=>{try{return window.atob(t),!0}catch(e){return!1}})(e)||sr(e)?Jt.Convert.FromBase64(e):Jt.Convert.FromBinary(t),i},Zs=async(t,e)=>Ws.get().subtle.digest(t,e);
|
|
55
55
|
/**
|
|
56
56
|
* @license
|
|
57
57
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -59,7 +59,7 @@ class Gs extends Vs{constructor(t){super(t,Ni);const e=this.getAsnExtnValue();tr
|
|
|
59
59
|
* This source code is licensed under the MIT license found in the
|
|
60
60
|
* LICENSE file in the root directory of this source tree.
|
|
61
61
|
*/
|
|
62
|
-
class Zs extends Vs{constructor(t){super(qs(t),ki),this.thumbprints={},this.type="X.509 Certificate";const{tbsCertificate:e}=this.asn;this.serialNumber=qt.Convert.ToHex(e.serialNumber),this.subject=new dr(e.subject).toJSON(),this.issuer=new dr(e.issuer).toJSON(),this.version=e.version+1;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.validity=r(this.notBefore,this.notAfter)}parseExtensions(){const{tbsCertificate:t}=this.asn;t.extensions&&(this.extensions=t.extensions.map(t=>new Gs(ae.serialize(t))))}get publicKey(){const{subjectPublicKey:t,algorithm:e}=this.asn.tbsCertificate.subjectPublicKeyInfo;let i;return"1.2.840.10045.2.1"===e.algorithm&&e.parameters&&(i=ae.parse(e.parameters,ji)),"1.2.840.113549.1.1.1"===e.algorithm&&(i=ae.parse(t,ir)),{params:i,value:ae.serialize(this.asn.tbsCertificate.subjectPublicKeyInfo),algorithm:e.algorithm}}get signature(){const{signatureValue:t,signatureAlgorithm:e}=this.asn;return{value:t,algorithm:e.algorithm}}exportAsBase64(){return qt.Convert.ToBase64(this.raw)}exportAsHexFormatted(){return Ws(qt.Convert.ToHex(this.raw))}exportAsPemFormatted(){return`-----BEGIN CERTIFICATE-----\n${zs(this.exportAsBase64())}\n-----END CERTIFICATE-----`}async getThumbprint(t="SHA-1"){try{const e=await Js(t,this.raw);this.thumbprints[t.name||t]=qt.Convert.ToHex(e)}catch(e){console.error("Error thumbprint get:",e)}}get commonName(){if(!this.subject)return"";for(let t=0;t<this.subject.length;t+=1){const e=this.subject[t];if("CN"===e.shortName||"E"===e.shortName||"O"===e.shortName)return e.value}return""}get issuerCommonName(){if(!this.issuer)return"";for(let t=0;t<this.issuer.length;t+=1){const e=this.issuer[t];if("CN"===e.shortName)return e.value;if("E"===e.shortName)return e.value}return""}get isRoot(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)}subjectToString(){return this.subject?this.subject.map(t=>`${t.shortName}=${t.value}`).join(", "):""}issuerToString(){return this.issuer?this.issuer.map(t=>`${t.shortName}=${t.value}`).join(", "):""}}class Xs{constructor(t={}){this.acIssuer=new Ee,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}var Ys;ce([ie({type:Ee})],Xs.prototype,"acIssuer",void 0),ce([ie({type:Et.Integer})],Xs.prototype,"acSerial",void 0),ce([ie({type:Ai,repeated:"sequence"})],Xs.prototype,"attrs",void 0);let tn=Ys=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Ys.prototype)}};tn=Ys=ce([ee({type:wt.Sequence,itemType:Et.ObjectIdentifier})],tn);class en{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}ce([ie({type:Et.Integer,optional:!0})],en.prototype,"pathLenConstraint",void 0),ce([ie({type:tn,implicit:!0,context:0,optional:!0})],en.prototype,"permittedAttrs",void 0),ce([ie({type:tn,implicit:!0,context:1,optional:!0})],en.prototype,"excludedAttrs",void 0),ce([ie({type:Et.Boolean,defaultValue:!0})],en.prototype,"permitUnSpecified",void 0);class rn{constructor(t={}){this.issuer=new xe,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var sn;ce([ie({type:xe})],rn.prototype,"issuer",void 0),ce([ie({type:Et.Integer,converter:Dt})],rn.prototype,"serial",void 0),ce([ie({type:Et.BitString,optional:!0})],rn.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(sn||(sn={}));class nn{constructor(t={}){this.digestedObjectType=sn.publicKey,this.digestAlgorithm=new Pi,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.Enumerated})],nn.prototype,"digestedObjectType",void 0),ce([ie({type:Et.ObjectIdentifier,optional:!0})],nn.prototype,"otherObjectTypeID",void 0),ce([ie({type:Pi})],nn.prototype,"digestAlgorithm",void 0),ce([ie({type:Et.BitString})],nn.prototype,"objectDigest",void 0);class on{constructor(t={}){Object.assign(this,t)}}ce([ie({type:xe,optional:!0})],on.prototype,"issuerName",void 0),ce([ie({type:rn,context:0,implicit:!0,optional:!0})],on.prototype,"baseCertificateID",void 0),ce([ie({type:nn,context:1,implicit:!0,optional:!0})],on.prototype,"objectDigestInfo",void 0);let an=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Ee,repeated:"sequence"})],an.prototype,"v1Form",void 0),ce([ie({type:on,context:0,implicit:!0})],an.prototype,"v2Form",void 0),an=ce([ee({type:wt.Choice})],an);class cn{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}ce([ie({type:Et.GeneralizedTime})],cn.prototype,"notBeforeTime",void 0),ce([ie({type:Et.GeneralizedTime})],cn.prototype,"notAfterTime",void 0);class ln{constructor(t={}){Object.assign(this,t)}}var un,hn,pn;ce([ie({type:rn,implicit:!0,context:0,optional:!0})],ln.prototype,"baseCertificateID",void 0),ce([ie({type:xe,implicit:!0,context:1,optional:!0})],ln.prototype,"entityName",void 0),ce([ie({type:nn,implicit:!0,context:2,optional:!0})],ln.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(un||(un={}));class dn{constructor(t={}){this.version=un.v2,this.holder=new ln,this.issuer=new an,this.signature=new Pi,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new cn,this.attributes=[],Object.assign(this,t)}}ce([ie({type:Et.Integer})],dn.prototype,"version",void 0),ce([ie({type:ln})],dn.prototype,"holder",void 0),ce([ie({type:an})],dn.prototype,"issuer",void 0),ce([ie({type:Pi})],dn.prototype,"signature",void 0),ce([ie({type:Et.Integer,converter:Dt})],dn.prototype,"serialNumber",void 0),ce([ie({type:cn})],dn.prototype,"attrCertValidityPeriod",void 0),ce([ie({type:Ai,repeated:"sequence"})],dn.prototype,"attributes",void 0),ce([ie({type:Et.BitString,optional:!0})],dn.prototype,"issuerUniqueID",void 0),ce([ie({type:xi,optional:!0})],dn.prototype,"extensions",void 0);class fn{constructor(t={}){this.acinfo=new dn,this.signatureAlgorithm=new Pi,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:dn})],fn.prototype,"acinfo",void 0),ce([ie({type:Pi})],fn.prototype,"signatureAlgorithm",void 0),ce([ie({type:Et.BitString})],fn.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(hn||(hn={}));class yn extends Jt{}class Sn{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier,implicit:!0,context:0})],Sn.prototype,"type",void 0),ce([ie({type:Et.Any,implicit:!0,context:1})],Sn.prototype,"value",void 0);class An{constructor(t={}){this.policyId="",this.classList=new yn(hn.unclassified),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],An.prototype,"policyId",void 0),ce([ie({type:yn,defaultValue:new yn(hn.unclassified)})],An.prototype,"classList",void 0),ce([ie({type:Sn,repeated:"set"})],An.prototype,"securityCategories",void 0);class Cn{constructor(t={}){Object.assign(this,t)}}ce([ie({type:Zt})],Cn.prototype,"cotets",void 0),ce([ie({type:Et.ObjectIdentifier})],Cn.prototype,"oid",void 0),ce([ie({type:Et.Utf8String})],Cn.prototype,"string",void 0);class mn{constructor(t={}){this.values=[],Object.assign(this,t)}}ce([ie({type:xe,implicit:!0,context:0,optional:!0})],mn.prototype,"policyAuthority",void 0),ce([ie({type:Cn,repeated:"sequence"})],mn.prototype,"values",void 0);class gn{constructor(t={}){this.targetCertificate=new rn,Object.assign(this,t)}}ce([ie({type:rn})],gn.prototype,"targetCertificate",void 0),ce([ie({type:Ee,optional:!0})],gn.prototype,"targetName",void 0),ce([ie({type:nn,optional:!0})],gn.prototype,"certDigestInfo",void 0);let vn=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Ee,context:0,implicit:!0})],vn.prototype,"targetName",void 0),ce([ie({type:Ee,context:1,implicit:!0})],vn.prototype,"targetGroup",void 0),ce([ie({type:gn,context:2,implicit:!0})],vn.prototype,"targetCert",void 0),vn=ce([ee({type:wt.Choice})],vn);let wn=pn=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,pn.prototype)}};var En;wn=pn=ce([ee({type:wt.Sequence,itemType:vn})],wn);let bn=En=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,En.prototype)}};bn=En=ce([ee({type:wt.Sequence,itemType:wn})],bn);class Pn{constructor(t={}){Object.assign(this,t)}}ce([ie({type:xe,implicit:!0,context:0,optional:!0})],Pn.prototype,"roleAuthority",void 0),ce([ie({type:Ee,implicit:!0,context:1})],Pn.prototype,"roleName",void 0);class Bn{constructor(t={}){this.service=new Ee,this.ident=new Ee,Object.assign(this,t)}}ce([ie({type:Ee})],Bn.prototype,"service",void 0),ce([ie({type:Ee})],Bn.prototype,"ident",void 0),ce([ie({type:Zt,optional:!0})],Bn.prototype,"authInfo",void 0);const Dn="0.4.0.9496.6";let In=class{constructor(t={}){this.codeAuthority=new Ee,this.codeId=new Ee,this.shortName="",this.shortDescription="",Object.assign(this,t)}};ce([ie({type:Ee,context:0})],In.prototype,"codeAuthority",void 0),ce([ie({type:Ee,context:1})],In.prototype,"codeId",void 0),ce([ie({type:Et.Utf8String,context:2})],In.prototype,"shortName",void 0),ce([ie({type:Et.Utf8String,context:3})],In.prototype,"shortDescription",void 0),In=ce([ee({type:wt.Sequence})],In);let Tn=class extends me{constructor(t){super(t),Object.setPrototypeOf(this,me.prototype)}};Tn=ce([ee({type:wt.Sequence})],Tn);const Nn="0.4.0.9496.1";let xn=class extends Tn{constructor(t){super(t),Object.setPrototypeOf(this,me.prototype)}};xn=ce([ee({type:wt.Sequence})],xn);const Rn="0.4.0.9496.2";let On=class extends Tn{constructor(t){super(t),Object.setPrototypeOf(this,me.prototype)}};On=ce([ee({type:wt.Sequence})],On);const kn="0.4.0.9496.3";let Mn=class extends Tn{constructor(t){super(t),Object.setPrototypeOf(this,me.prototype)}};Mn=ce([ee({type:wt.Sequence})],Mn);const Kn="0.4.0.9496.4";let Un=class extends Tn{constructor(t){super(t),Object.setPrototypeOf(this,me.prototype)}};Un=ce([ee({type:wt.Sequence})],Un);const Hn="0.4.0.9496.8";let _n=class{constructor(t={}){this.location="",this.base=0,this.degree=0,Object.assign(this,t)}toString(){return`${this.base} x 10^${this.degree} ${this.location}`}};ce([ie({type:Et.PrintableString})],_n.prototype,"location",void 0),ce([ie({type:Et.Integer})],_n.prototype,"base",void 0),ce([ie({type:Et.Integer})],_n.prototype,"degree",void 0),_n=ce([ee({type:wt.Sequence})],_n);const jn="0.4.0.9496.9";let Fn=class{constructor(t={}){this.stars5=0,this.stars4=0,this.stars3=0,this.stars2=0,this.stars1=0,Object.assign(this,t)}};ce([ie({type:Et.Integer})],Fn.prototype,"stars5",void 0),ce([ie({type:Et.Integer})],Fn.prototype,"stars4",void 0),ce([ie({type:Et.Integer})],Fn.prototype,"stars3",void 0),ce([ie({type:Et.Integer})],Fn.prototype,"stars2",void 0),ce([ie({type:Et.Integer})],Fn.prototype,"stars1",void 0),Fn=ce([ee({type:wt.Sequence})],Fn);const Ln="0.4.0.9496.5";let Vn=class{constructor(t={}){this.DNBvsDNO=new Jt(0),this.DNBvsDNT=new Jt(0),this.DNOvsDNT=new Jt(0),Object.assign(this,t)}};ce([ie({type:Jt,context:0})],Vn.prototype,"DNBvsDNO",void 0),ce([ie({type:Jt,context:1})],Vn.prototype,"DNBvsDNT",void 0),ce([ie({type:Jt,context:2})],Vn.prototype,"DNOvsDNT",void 0),Vn=ce([ee({type:wt.Sequence})],Vn);const Gn="0.4.0.9496.7";let $n=class{constructor(t={}){this.assessmentAuthority=new Ee,this.assessmentRef=new Ee,this.assessmentLocation=new Ee,this.dataStorageTerritory="",this.description="",Object.assign(this,t)}};ce([ie({type:Ee,context:0})],$n.prototype,"assessmentAuthority",void 0),ce([ie({type:Ee,context:1})],$n.prototype,"assessmentRef",void 0),ce([ie({type:Ee,context:2})],$n.prototype,"assessmentLocation",void 0),ce([ie({type:Et.PrintableString,context:3})],$n.prototype,"dataStorageTerritory",void 0),ce([ie({type:Et.Utf8String,context:4})],$n.prototype,"description",void 0),$n=ce([ee({type:wt.Sequence})],$n);class Qn{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}var Wn;ce([ie({type:Et.ObjectIdentifier})],Qn.prototype,"attrType",void 0),ce([ie({type:Et.Any,repeated:"set"})],Qn.prototype,"attrValues",void 0);class zn{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],zn.prototype,"otherCertFormat",void 0),ce([ie({type:Et.Any})],zn.prototype,"otherCert",void 0);let qn=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:ki})],qn.prototype,"certificate",void 0),ce([ie({type:fn,context:2,implicit:!0})],qn.prototype,"v2AttrCert",void 0),ce([ie({type:zn,context:3,implicit:!0})],qn.prototype,"other",void 0),qn=ce([ee({type:wt.Choice})],qn);let Jn=Wn=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Wn.prototype)}};Jn=Wn=ce([ee({type:wt.Set,itemType:qn})],Jn);class Zn{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Zn.prototype,"contentType",void 0),ce([ie({type:Et.Any,context:0})],Zn.prototype,"content",void 0);let Xn=class{constructor(t={}){Object.assign(this,t)}};ce([ie({type:Zt})],Xn.prototype,"single",void 0),ce([ie({type:Et.Any})],Xn.prototype,"any",void 0),Xn=ce([ee({type:wt.Choice})],Xn);class Yn{constructor(t={}){this.eContentType="",Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Yn.prototype,"eContentType",void 0),ce([ie({type:Xn,context:0,optional:!0})],Yn.prototype,"eContent",void 0);class to{constructor(t={}){this.issuer=new me,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}var eo;ce([ie({type:me})],to.prototype,"issuer",void 0),ce([ie({type:Et.Integer,converter:Dt})],to.prototype,"serialNumber",void 0);class io{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],io.prototype,"otherRevInfoFormat",void 0),ce([ie({type:Et.Any})],io.prototype,"otherRevInfo",void 0);let ro=class{constructor(t={}){this.other=new io,Object.assign(this,t)}};ce([ie({type:io,context:1,implicit:!0})],ro.prototype,"other",void 0),ro=ce([ee({type:wt.Choice})],ro);let so=eo=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,eo.prototype)}};var no;so=eo=ce([ee({type:wt.Set,itemType:ro})],so),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(no||(no={}));let oo=class extends Pi{};oo=ce([ee({type:wt.Sequence})],oo);let ao=class extends Pi{};ao=ce([ee({type:wt.Sequence})],ao);let co=class{constructor(t={}){Object.assign(this,t)}};var lo;ce([ie({type:gi,context:0,implicit:!0})],co.prototype,"subjectKeyIdentifier",void 0),ce([ie({type:to})],co.prototype,"issuerAndSerialNumber",void 0),co=ce([ee({type:wt.Choice})],co);class uo{constructor(t={}){this.version=no.v0,this.sid=new co,this.digestAlgorithm=new oo,this.signatureAlgorithm=new ao,this.signature=new Zt,Object.assign(this,t)}}ce([ie({type:Et.Integer})],uo.prototype,"version",void 0),ce([ie({type:co})],uo.prototype,"sid",void 0),ce([ie({type:oo})],uo.prototype,"digestAlgorithm",void 0),ce([ie({type:Qn,repeated:"set",context:0,implicit:!0,optional:!0})],uo.prototype,"signedAttrs",void 0),ce([ie({type:ao})],uo.prototype,"signatureAlgorithm",void 0),ce([ie({type:Zt})],uo.prototype,"signature",void 0),ce([ie({type:Qn,repeated:"set",context:1,implicit:!0,optional:!0})],uo.prototype,"unsignedAttrs",void 0);let ho=lo=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,lo.prototype)}};var po;ho=lo=ce([ee({type:wt.Set,itemType:uo})],ho);let fo=po=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,po.prototype)}};fo=po=ce([ee({type:wt.Set,itemType:oo})],fo);class yo{constructor(t={}){this.version=no.v0,this.digestAlgorithms=new fo,this.encapContentInfo=new Yn,this.signerInfos=new ho,Object.assign(this,t)}}var So;ce([ie({type:Et.Integer})],yo.prototype,"version",void 0),ce([ie({type:fo})],yo.prototype,"digestAlgorithms",void 0),ce([ie({type:Yn})],yo.prototype,"encapContentInfo",void 0),ce([ie({type:Jn,context:0,implicit:!0,optional:!0})],yo.prototype,"certificates",void 0),ce([ie({type:ro,context:1,implicit:!0,optional:!0})],yo.prototype,"crls",void 0),ce([ie({type:ho})],yo.prototype,"signerInfos",void 0);class Ao{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}ce([ie({type:Et.ObjectIdentifier})],Ao.prototype,"attrId",void 0),ce([ie({type:Et.Any,repeated:"set"})],Ao.prototype,"attrValues",void 0);let Co=So=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,So.prototype)}};var mo;Co=So=ce([ee({type:wt.Sequence,itemType:Ao})],Co);let go=mo=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,mo.prototype)}};go=mo=ce([ee({type:wt.Sequence,itemType:Zn})],go);class vo{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],vo.prototype,"certId",void 0),ce([ie({type:Et.Any,context:0})],vo.prototype,"certValue",void 0);class wo{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],wo.prototype,"crlId",void 0),ce([ie({type:Et.Any,context:0})],wo.prototype,"crltValue",void 0);class Eo extends Zt{}class bo{constructor(t={}){this.encryptionAlgorithm=new Pi,this.encryptedData=new Eo,Object.assign(this,t)}}var Po,Bo;ce([ie({type:Pi})],bo.prototype,"encryptionAlgorithm",void 0),ce([ie({type:Eo})],bo.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(Bo||(Bo={}));class Do extends Zt{}let Io=Po=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Po.prototype)}};Io=Po=ce([ee({type:wt.Sequence,itemType:Ai})],Io);class To{constructor(t={}){this.version=Bo.v1,this.privateKeyAlgorithm=new Pi,this.privateKey=new Do,Object.assign(this,t)}}ce([ie({type:Et.Integer})],To.prototype,"version",void 0),ce([ie({type:Pi})],To.prototype,"privateKeyAlgorithm",void 0),ce([ie({type:Do})],To.prototype,"privateKey",void 0),ce([ie({type:Io,implicit:!0,context:0,optional:!0})],To.prototype,"attributes",void 0);let No=class extends To{};No=ce([ee({type:wt.Sequence})],No);let xo=class extends bo{};xo=ce([ee({type:wt.Sequence})],xo);class Ro{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Ro.prototype,"secretTypeId",void 0),ce([ie({type:Et.Any,context:0})],Ro.prototype,"secretValue",void 0);class Oo{constructor(t={}){this.mac=new Zi,this.macSalt=new Zt,this.iterations=1,Object.assign(this,t)}}ce([ie({type:Zi})],Oo.prototype,"mac",void 0),ce([ie({type:Zt})],Oo.prototype,"macSalt",void 0),ce([ie({type:Et.Integer,defaultValue:1})],Oo.prototype,"iterations",void 0);class ko{constructor(t={}){this.version=3,this.authSafe=new Zn,this.macData=new Oo,Object.assign(this,t)}}var Mo;ce([ie({type:Et.Integer})],ko.prototype,"version",void 0),ce([ie({type:Zn})],ko.prototype,"authSafe",void 0),ce([ie({type:Oo,optional:!0})],ko.prototype,"macData",void 0);class Ko{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}ce([ie({type:Et.ObjectIdentifier})],Ko.prototype,"bagId",void 0),ce([ie({type:Et.Any,context:0})],Ko.prototype,"bagValue",void 0),ce([ie({type:Ao,repeated:"set",optional:!0})],Ko.prototype,"bagAttributes",void 0);let Uo=Mo=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,Mo.prototype)}};var Ho,_o,jo;Uo=Mo=ce([ee({type:wt.Sequence,itemType:Ko})],Uo);const Fo="1.2.840.113549.1.9",Lo=Fo+".2",Vo=Fo+".7",Go=Fo+".14";let $o=class extends fe{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};ce([ie({type:Et.IA5String})],$o.prototype,"ia5String",void 0),$o=ce([ee({type:wt.Choice})],$o);let Qo=class extends Zn{};Qo=ce([ee({type:wt.Sequence})],Qo);let Wo=class extends ko{};Wo=ce([ee({type:wt.Sequence})],Wo);let zo=class extends bo{};zo=ce([ee({type:wt.Sequence})],zo);let qo=class{constructor(t=""){this.value=t}toString(){return this.value}};ce([ie({type:Et.IA5String})],qo.prototype,"value",void 0),qo=ce([ee({type:wt.Choice})],qo);let Jo=class extends $o{};Jo=ce([ee({type:wt.Choice})],Jo);let Zo=class extends fe{};Zo=ce([ee({type:wt.Choice})],Zo);let Xo=class{constructor(t=new Date){this.value=t}};ce([ie({type:Et.GeneralizedTime})],Xo.prototype,"value",void 0),Xo=ce([ee({type:wt.Choice})],Xo);let Yo=class extends fe{};Yo=ce([ee({type:wt.Choice})],Yo);let ta=class{constructor(t="M"){this.value=t}toString(){return this.value}};ce([ie({type:Et.PrintableString})],ta.prototype,"value",void 0),ta=ce([ee({type:wt.Choice})],ta);let ea=class{constructor(t=""){this.value=t}toString(){return this.value}};ce([ie({type:Et.PrintableString})],ea.prototype,"value",void 0),ea=ce([ee({type:wt.Choice})],ea);let ia=class extends ea{};ia=ce([ee({type:wt.Choice})],ia);let ra=class extends fe{};ra=ce([ee({type:wt.Choice})],ra);let sa=class{constructor(t=""){this.value=t}toString(){return this.value}};ce([ie({type:Et.ObjectIdentifier})],sa.prototype,"value",void 0),sa=ce([ee({type:wt.Choice})],sa);let na=class extends Di{};na=ce([ee({type:wt.Choice})],na);let oa=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};ce([ie({type:Et.Integer})],oa.prototype,"value",void 0),oa=ce([ee({type:wt.Choice})],oa);let aa=class extends uo{};aa=ce([ee({type:wt.Sequence})],aa);let ca=class extends fe{};ca=ce([ee({type:wt.Choice})],ca);let la=Ho=class extends xi{constructor(t){super(t),Object.setPrototypeOf(this,Ho.prototype)}};la=Ho=ce([ee({type:wt.Sequence})],la);let ua=_o=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,_o.prototype)}};ua=_o=ce([ee({type:wt.Set,itemType:Qn})],ua);let ha=class{constructor(t=""){this.value=t}toString(){return this.value}};ce([ie({type:Et.BmpString})],ha.prototype,"value",void 0),ha=ce([ee({type:wt.Choice})],ha);let pa=class extends Pi{};pa=ce([ee({type:wt.Sequence})],pa);let da=jo=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,jo.prototype)}};var fa;da=jo=ce([ee({type:wt.Sequence,itemType:pa})],da);let ya=fa=class extends oe{constructor(t){super(t),Object.setPrototypeOf(this,fa.prototype)}};ya=fa=ce([ee({type:wt.Sequence,itemType:Ai})],ya);class Sa{constructor(t={}){this.version=0,this.subject=new me,this.subjectPKInfo=new Bi,this.attributes=new ya,Object.assign(this,t)}}ce([ie({type:Et.Integer})],Sa.prototype,"version",void 0),ce([ie({type:me})],Sa.prototype,"subject",void 0),ce([ie({type:Bi})],Sa.prototype,"subjectPKInfo",void 0),ce([ie({type:ya,implicit:!0,context:0})],Sa.prototype,"attributes",void 0);class Aa{constructor(t={}){this.certificationRequestInfo=new Sa,this.signatureAlgorithm=new Pi,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}
|
|
62
|
+
class Xs extends Gs{constructor(t){super(Js(t),Mi),this.thumbprints={},this.type="X.509 Certificate";const{tbsCertificate:e}=this.asn;this.serialNumber=Jt.Convert.ToHex(e.serialNumber),this.subject=new fr(e.subject).toJSON(),this.issuer=new fr(e.issuer).toJSON(),this.version=e.version+1;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const s=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.validity=r(this.notBefore,this.notAfter)}parseExtensions(){const{tbsCertificate:t}=this.asn;t.extensions&&(this.extensions=t.extensions.map(t=>new $s(ce.serialize(t))))}get publicKey(){const{subjectPublicKey:t,algorithm:e}=this.asn.tbsCertificate.subjectPublicKeyInfo;let i;return"1.2.840.10045.2.1"===e.algorithm&&e.parameters&&(i=ce.parse(e.parameters,Fi)),"1.2.840.113549.1.1.1"===e.algorithm&&(i=ce.parse(t,rr)),{params:i,value:ce.serialize(this.asn.tbsCertificate.subjectPublicKeyInfo),algorithm:e.algorithm}}get signature(){const{signatureValue:t,signatureAlgorithm:e}=this.asn;return{value:t,algorithm:e.algorithm}}exportAsBase64(){return Jt.Convert.ToBase64(this.raw)}exportAsHexFormatted(){return zs(Jt.Convert.ToHex(this.raw))}exportAsPemFormatted(){return`-----BEGIN CERTIFICATE-----\n${qs(this.exportAsBase64())}\n-----END CERTIFICATE-----`}async getThumbprint(t="SHA-1"){try{const e=await Zs(t,this.raw);this.thumbprints[t.name||t]=Jt.Convert.ToHex(e)}catch(e){console.error("Error thumbprint get:",e)}}get commonName(){if(!this.subject)return"";for(let t=0;t<this.subject.length;t+=1){const e=this.subject[t];if("CN"===e.shortName||"E"===e.shortName||"O"===e.shortName)return e.value}return""}get issuerCommonName(){if(!this.issuer)return"";for(let t=0;t<this.issuer.length;t+=1){const e=this.issuer[t];if("CN"===e.shortName)return e.value;if("E"===e.shortName)return e.value}return""}get isRoot(){return JSON.stringify(this.issuer)===JSON.stringify(this.subject)}subjectToString(){return this.subject?this.subject.map(t=>`${t.shortName}=${t.value}`).join(", "):""}issuerToString(){return this.issuer?this.issuer.map(t=>`${t.shortName}=${t.value}`).join(", "):""}}class Ys{constructor(t={}){this.acIssuer=new be,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}var tn;le([re({type:be})],Ys.prototype,"acIssuer",void 0),le([re({type:bt.Integer})],Ys.prototype,"acSerial",void 0),le([re({type:Ci,repeated:"sequence"})],Ys.prototype,"attrs",void 0);let en=tn=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,tn.prototype)}};en=tn=le([ie({type:Et.Sequence,itemType:bt.ObjectIdentifier})],en);class rn{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}le([re({type:bt.Integer,optional:!0})],rn.prototype,"pathLenConstraint",void 0),le([re({type:en,implicit:!0,context:0,optional:!0})],rn.prototype,"permittedAttrs",void 0),le([re({type:en,implicit:!0,context:1,optional:!0})],rn.prototype,"excludedAttrs",void 0),le([re({type:bt.Boolean,defaultValue:!0})],rn.prototype,"permitUnSpecified",void 0);class sn{constructor(t={}){this.issuer=new Re,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var nn;le([re({type:Re})],sn.prototype,"issuer",void 0),le([re({type:bt.Integer,converter:It})],sn.prototype,"serial",void 0),le([re({type:bt.BitString,optional:!0})],sn.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(nn||(nn={}));class on{constructor(t={}){this.digestedObjectType=nn.publicKey,this.digestAlgorithm=new Bi,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.Enumerated})],on.prototype,"digestedObjectType",void 0),le([re({type:bt.ObjectIdentifier,optional:!0})],on.prototype,"otherObjectTypeID",void 0),le([re({type:Bi})],on.prototype,"digestAlgorithm",void 0),le([re({type:bt.BitString})],on.prototype,"objectDigest",void 0);class an{constructor(t={}){Object.assign(this,t)}}le([re({type:Re,optional:!0})],an.prototype,"issuerName",void 0),le([re({type:sn,context:0,implicit:!0,optional:!0})],an.prototype,"baseCertificateID",void 0),le([re({type:on,context:1,implicit:!0,optional:!0})],an.prototype,"objectDigestInfo",void 0);let cn=class{constructor(t={}){Object.assign(this,t)}};le([re({type:be,repeated:"sequence"})],cn.prototype,"v1Form",void 0),le([re({type:an,context:0,implicit:!0})],cn.prototype,"v2Form",void 0),cn=le([ie({type:Et.Choice})],cn);class ln{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}le([re({type:bt.GeneralizedTime})],ln.prototype,"notBeforeTime",void 0),le([re({type:bt.GeneralizedTime})],ln.prototype,"notAfterTime",void 0);class un{constructor(t={}){Object.assign(this,t)}}var hn,pn,dn;le([re({type:sn,implicit:!0,context:0,optional:!0})],un.prototype,"baseCertificateID",void 0),le([re({type:Re,implicit:!0,context:1,optional:!0})],un.prototype,"entityName",void 0),le([re({type:on,implicit:!0,context:2,optional:!0})],un.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(hn||(hn={}));class fn{constructor(t={}){this.version=hn.v2,this.holder=new un,this.issuer=new cn,this.signature=new Bi,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new ln,this.attributes=[],Object.assign(this,t)}}le([re({type:bt.Integer})],fn.prototype,"version",void 0),le([re({type:un})],fn.prototype,"holder",void 0),le([re({type:cn})],fn.prototype,"issuer",void 0),le([re({type:Bi})],fn.prototype,"signature",void 0),le([re({type:bt.Integer,converter:It})],fn.prototype,"serialNumber",void 0),le([re({type:ln})],fn.prototype,"attrCertValidityPeriod",void 0),le([re({type:Ci,repeated:"sequence"})],fn.prototype,"attributes",void 0),le([re({type:bt.BitString,optional:!0})],fn.prototype,"issuerUniqueID",void 0),le([re({type:Ri,optional:!0})],fn.prototype,"extensions",void 0);class yn{constructor(t={}){this.acinfo=new fn,this.signatureAlgorithm=new Bi,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:fn})],yn.prototype,"acinfo",void 0),le([re({type:Bi})],yn.prototype,"signatureAlgorithm",void 0),le([re({type:bt.BitString})],yn.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(pn||(pn={}));class Sn extends Zt{}class An{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier,implicit:!0,context:0})],An.prototype,"type",void 0),le([re({type:bt.Any,implicit:!0,context:1})],An.prototype,"value",void 0);class Cn{constructor(t={}){this.policyId="",this.classList=new Sn(pn.unclassified),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Cn.prototype,"policyId",void 0),le([re({type:Sn,defaultValue:new Sn(pn.unclassified)})],Cn.prototype,"classList",void 0),le([re({type:An,repeated:"set"})],Cn.prototype,"securityCategories",void 0);class mn{constructor(t={}){Object.assign(this,t)}}le([re({type:Xt})],mn.prototype,"cotets",void 0),le([re({type:bt.ObjectIdentifier})],mn.prototype,"oid",void 0),le([re({type:bt.Utf8String})],mn.prototype,"string",void 0);class gn{constructor(t={}){this.values=[],Object.assign(this,t)}}le([re({type:Re,implicit:!0,context:0,optional:!0})],gn.prototype,"policyAuthority",void 0),le([re({type:mn,repeated:"sequence"})],gn.prototype,"values",void 0);class vn{constructor(t={}){this.targetCertificate=new sn,Object.assign(this,t)}}le([re({type:sn})],vn.prototype,"targetCertificate",void 0),le([re({type:be,optional:!0})],vn.prototype,"targetName",void 0),le([re({type:on,optional:!0})],vn.prototype,"certDigestInfo",void 0);let wn=class{constructor(t={}){Object.assign(this,t)}};le([re({type:be,context:0,implicit:!0})],wn.prototype,"targetName",void 0),le([re({type:be,context:1,implicit:!0})],wn.prototype,"targetGroup",void 0),le([re({type:vn,context:2,implicit:!0})],wn.prototype,"targetCert",void 0),wn=le([ie({type:Et.Choice})],wn);let En=dn=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,dn.prototype)}};var bn;En=dn=le([ie({type:Et.Sequence,itemType:wn})],En);let Pn=bn=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,bn.prototype)}};Pn=bn=le([ie({type:Et.Sequence,itemType:En})],Pn);class Bn{constructor(t={}){Object.assign(this,t)}}le([re({type:Re,implicit:!0,context:0,optional:!0})],Bn.prototype,"roleAuthority",void 0),le([re({type:be,implicit:!0,context:1})],Bn.prototype,"roleName",void 0);class Dn{constructor(t={}){this.service=new be,this.ident=new be,Object.assign(this,t)}}le([re({type:be})],Dn.prototype,"service",void 0),le([re({type:be})],Dn.prototype,"ident",void 0),le([re({type:Xt,optional:!0})],Dn.prototype,"authInfo",void 0);const In="0.4.0.9496.6";let Tn=class{constructor(t={}){this.codeAuthority=new be,this.codeId=new be,this.shortName="",this.shortDescription="",Object.assign(this,t)}};le([re({type:be,context:0})],Tn.prototype,"codeAuthority",void 0),le([re({type:be,context:1})],Tn.prototype,"codeId",void 0),le([re({type:bt.Utf8String,context:2})],Tn.prototype,"shortName",void 0),le([re({type:bt.Utf8String,context:3})],Tn.prototype,"shortDescription",void 0),Tn=le([ie({type:Et.Sequence})],Tn);let Nn=class extends ge{constructor(t){super(t),Object.setPrototypeOf(this,ge.prototype)}};Nn=le([ie({type:Et.Sequence})],Nn);const xn="0.4.0.9496.1";let Rn=class extends Nn{constructor(t){super(t),Object.setPrototypeOf(this,ge.prototype)}};Rn=le([ie({type:Et.Sequence})],Rn);const On="0.4.0.9496.2";let kn=class extends Nn{constructor(t){super(t),Object.setPrototypeOf(this,ge.prototype)}};kn=le([ie({type:Et.Sequence})],kn);const Mn="0.4.0.9496.3";let Kn=class extends Nn{constructor(t){super(t),Object.setPrototypeOf(this,ge.prototype)}};Kn=le([ie({type:Et.Sequence})],Kn);const Un="0.4.0.9496.4";let Hn=class extends Nn{constructor(t){super(t),Object.setPrototypeOf(this,ge.prototype)}};Hn=le([ie({type:Et.Sequence})],Hn);const _n="0.4.0.9496.8";let jn=class{constructor(t={}){this.location="",this.base=0,this.degree=0,Object.assign(this,t)}toString(){return`${this.base} x 10^${this.degree} ${this.location}`}};le([re({type:bt.PrintableString})],jn.prototype,"location",void 0),le([re({type:bt.Integer})],jn.prototype,"base",void 0),le([re({type:bt.Integer})],jn.prototype,"degree",void 0),jn=le([ie({type:Et.Sequence})],jn);const Fn="0.4.0.9496.9";let Ln=class{constructor(t={}){this.stars5=0,this.stars4=0,this.stars3=0,this.stars2=0,this.stars1=0,Object.assign(this,t)}};le([re({type:bt.Integer})],Ln.prototype,"stars5",void 0),le([re({type:bt.Integer})],Ln.prototype,"stars4",void 0),le([re({type:bt.Integer})],Ln.prototype,"stars3",void 0),le([re({type:bt.Integer})],Ln.prototype,"stars2",void 0),le([re({type:bt.Integer})],Ln.prototype,"stars1",void 0),Ln=le([ie({type:Et.Sequence})],Ln);const Vn="0.4.0.9496.5";let Gn=class{constructor(t={}){this.DNBvsDNO=new Zt(0),this.DNBvsDNT=new Zt(0),this.DNOvsDNT=new Zt(0),Object.assign(this,t)}};le([re({type:Zt,context:0})],Gn.prototype,"DNBvsDNO",void 0),le([re({type:Zt,context:1})],Gn.prototype,"DNBvsDNT",void 0),le([re({type:Zt,context:2})],Gn.prototype,"DNOvsDNT",void 0),Gn=le([ie({type:Et.Sequence})],Gn);const $n="0.4.0.9496.7";let Qn=class{constructor(t={}){this.assessmentAuthority=new be,this.assessmentRef=new be,this.assessmentLocation=new be,this.dataStorageTerritory="",this.description="",Object.assign(this,t)}};le([re({type:be,context:0})],Qn.prototype,"assessmentAuthority",void 0),le([re({type:be,context:1})],Qn.prototype,"assessmentRef",void 0),le([re({type:be,context:2})],Qn.prototype,"assessmentLocation",void 0),le([re({type:bt.PrintableString,context:3})],Qn.prototype,"dataStorageTerritory",void 0),le([re({type:bt.Utf8String,context:4})],Qn.prototype,"description",void 0),Qn=le([ie({type:Et.Sequence})],Qn);class Wn{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}var zn;le([re({type:bt.ObjectIdentifier})],Wn.prototype,"attrType",void 0),le([re({type:bt.Any,repeated:"set"})],Wn.prototype,"attrValues",void 0);class qn{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],qn.prototype,"otherCertFormat",void 0),le([re({type:bt.Any})],qn.prototype,"otherCert",void 0);let Jn=class{constructor(t={}){Object.assign(this,t)}};le([re({type:Mi})],Jn.prototype,"certificate",void 0),le([re({type:yn,context:2,implicit:!0})],Jn.prototype,"v2AttrCert",void 0),le([re({type:qn,context:3,implicit:!0})],Jn.prototype,"other",void 0),Jn=le([ie({type:Et.Choice})],Jn);let Zn=zn=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,zn.prototype)}};Zn=zn=le([ie({type:Et.Set,itemType:Jn})],Zn);class Xn{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Xn.prototype,"contentType",void 0),le([re({type:bt.Any,context:0})],Xn.prototype,"content",void 0);let Yn=class{constructor(t={}){Object.assign(this,t)}};le([re({type:Xt})],Yn.prototype,"single",void 0),le([re({type:bt.Any})],Yn.prototype,"any",void 0),Yn=le([ie({type:Et.Choice})],Yn);class to{constructor(t={}){this.eContentType="",Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],to.prototype,"eContentType",void 0),le([re({type:Yn,context:0,optional:!0})],to.prototype,"eContent",void 0);class eo{constructor(t={}){this.issuer=new ge,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}var io;le([re({type:ge})],eo.prototype,"issuer",void 0),le([re({type:bt.Integer,converter:It})],eo.prototype,"serialNumber",void 0);class ro{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],ro.prototype,"otherRevInfoFormat",void 0),le([re({type:bt.Any})],ro.prototype,"otherRevInfo",void 0);let so=class{constructor(t={}){this.other=new ro,Object.assign(this,t)}};le([re({type:ro,context:1,implicit:!0})],so.prototype,"other",void 0),so=le([ie({type:Et.Choice})],so);let no=io=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,io.prototype)}};var oo;no=io=le([ie({type:Et.Set,itemType:so})],no),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(oo||(oo={}));let ao=class extends Bi{};ao=le([ie({type:Et.Sequence})],ao);let co=class extends Bi{};co=le([ie({type:Et.Sequence})],co);let lo=class{constructor(t={}){Object.assign(this,t)}};var uo;le([re({type:vi,context:0,implicit:!0})],lo.prototype,"subjectKeyIdentifier",void 0),le([re({type:eo})],lo.prototype,"issuerAndSerialNumber",void 0),lo=le([ie({type:Et.Choice})],lo);class ho{constructor(t={}){this.version=oo.v0,this.sid=new lo,this.digestAlgorithm=new ao,this.signatureAlgorithm=new co,this.signature=new Xt,Object.assign(this,t)}}le([re({type:bt.Integer})],ho.prototype,"version",void 0),le([re({type:lo})],ho.prototype,"sid",void 0),le([re({type:ao})],ho.prototype,"digestAlgorithm",void 0),le([re({type:Wn,repeated:"set",context:0,implicit:!0,optional:!0})],ho.prototype,"signedAttrs",void 0),le([re({type:co})],ho.prototype,"signatureAlgorithm",void 0),le([re({type:Xt})],ho.prototype,"signature",void 0),le([re({type:Wn,repeated:"set",context:1,implicit:!0,optional:!0})],ho.prototype,"unsignedAttrs",void 0);let po=uo=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,uo.prototype)}};var fo;po=uo=le([ie({type:Et.Set,itemType:ho})],po);let yo=fo=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,fo.prototype)}};yo=fo=le([ie({type:Et.Set,itemType:ao})],yo);class So{constructor(t={}){this.version=oo.v0,this.digestAlgorithms=new yo,this.encapContentInfo=new to,this.signerInfos=new po,Object.assign(this,t)}}var Ao;le([re({type:bt.Integer})],So.prototype,"version",void 0),le([re({type:yo})],So.prototype,"digestAlgorithms",void 0),le([re({type:to})],So.prototype,"encapContentInfo",void 0),le([re({type:Zn,context:0,implicit:!0,optional:!0})],So.prototype,"certificates",void 0),le([re({type:so,context:1,implicit:!0,optional:!0})],So.prototype,"crls",void 0),le([re({type:po})],So.prototype,"signerInfos",void 0);class Co{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}le([re({type:bt.ObjectIdentifier})],Co.prototype,"attrId",void 0),le([re({type:bt.Any,repeated:"set"})],Co.prototype,"attrValues",void 0);let mo=Ao=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Ao.prototype)}};var go;mo=Ao=le([ie({type:Et.Sequence,itemType:Co})],mo);let vo=go=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,go.prototype)}};vo=go=le([ie({type:Et.Sequence,itemType:Xn})],vo);class wo{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],wo.prototype,"certId",void 0),le([re({type:bt.Any,context:0})],wo.prototype,"certValue",void 0);class Eo{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Eo.prototype,"crlId",void 0),le([re({type:bt.Any,context:0})],Eo.prototype,"crltValue",void 0);class bo extends Xt{}class Po{constructor(t={}){this.encryptionAlgorithm=new Bi,this.encryptedData=new bo,Object.assign(this,t)}}var Bo,Do;le([re({type:Bi})],Po.prototype,"encryptionAlgorithm",void 0),le([re({type:bo})],Po.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(Do||(Do={}));class Io extends Xt{}let To=Bo=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Bo.prototype)}};To=Bo=le([ie({type:Et.Sequence,itemType:Ci})],To);class No{constructor(t={}){this.version=Do.v1,this.privateKeyAlgorithm=new Bi,this.privateKey=new Io,Object.assign(this,t)}}le([re({type:bt.Integer})],No.prototype,"version",void 0),le([re({type:Bi})],No.prototype,"privateKeyAlgorithm",void 0),le([re({type:Io})],No.prototype,"privateKey",void 0),le([re({type:To,implicit:!0,context:0,optional:!0})],No.prototype,"attributes",void 0);let xo=class extends No{};xo=le([ie({type:Et.Sequence})],xo);let Ro=class extends Po{};Ro=le([ie({type:Et.Sequence})],Ro);class Oo{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Oo.prototype,"secretTypeId",void 0),le([re({type:bt.Any,context:0})],Oo.prototype,"secretValue",void 0);class ko{constructor(t={}){this.mac=new Xi,this.macSalt=new Xt,this.iterations=1,Object.assign(this,t)}}le([re({type:Xi})],ko.prototype,"mac",void 0),le([re({type:Xt})],ko.prototype,"macSalt",void 0),le([re({type:bt.Integer,defaultValue:1})],ko.prototype,"iterations",void 0);class Mo{constructor(t={}){this.version=3,this.authSafe=new Xn,this.macData=new ko,Object.assign(this,t)}}var Ko;le([re({type:bt.Integer})],Mo.prototype,"version",void 0),le([re({type:Xn})],Mo.prototype,"authSafe",void 0),le([re({type:ko,optional:!0})],Mo.prototype,"macData",void 0);class Uo{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}le([re({type:bt.ObjectIdentifier})],Uo.prototype,"bagId",void 0),le([re({type:bt.Any,context:0})],Uo.prototype,"bagValue",void 0),le([re({type:Co,repeated:"set",optional:!0})],Uo.prototype,"bagAttributes",void 0);let Ho=Ko=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Ko.prototype)}};var _o,jo,Fo;Ho=Ko=le([ie({type:Et.Sequence,itemType:Uo})],Ho);const Lo="1.2.840.113549.1.9",Vo=Lo+".2",Go=Lo+".7",$o=Lo+".14";let Qo=class extends ye{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};le([re({type:bt.IA5String})],Qo.prototype,"ia5String",void 0),Qo=le([ie({type:Et.Choice})],Qo);let Wo=class extends Xn{};Wo=le([ie({type:Et.Sequence})],Wo);let zo=class extends Mo{};zo=le([ie({type:Et.Sequence})],zo);let qo=class extends Po{};qo=le([ie({type:Et.Sequence})],qo);let Jo=class{constructor(t=""){this.value=t}toString(){return this.value}};le([re({type:bt.IA5String})],Jo.prototype,"value",void 0),Jo=le([ie({type:Et.Choice})],Jo);let Zo=class extends Qo{};Zo=le([ie({type:Et.Choice})],Zo);let Xo=class extends ye{};Xo=le([ie({type:Et.Choice})],Xo);let Yo=class{constructor(t=new Date){this.value=t}};le([re({type:bt.GeneralizedTime})],Yo.prototype,"value",void 0),Yo=le([ie({type:Et.Choice})],Yo);let ta=class extends ye{};ta=le([ie({type:Et.Choice})],ta);let ea=class{constructor(t="M"){this.value=t}toString(){return this.value}};le([re({type:bt.PrintableString})],ea.prototype,"value",void 0),ea=le([ie({type:Et.Choice})],ea);let ia=class{constructor(t=""){this.value=t}toString(){return this.value}};le([re({type:bt.PrintableString})],ia.prototype,"value",void 0),ia=le([ie({type:Et.Choice})],ia);let ra=class extends ia{};ra=le([ie({type:Et.Choice})],ra);let sa=class extends ye{};sa=le([ie({type:Et.Choice})],sa);let na=class{constructor(t=""){this.value=t}toString(){return this.value}};le([re({type:bt.ObjectIdentifier})],na.prototype,"value",void 0),na=le([ie({type:Et.Choice})],na);let oa=class extends Ii{};oa=le([ie({type:Et.Choice})],oa);let aa=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};le([re({type:bt.Integer})],aa.prototype,"value",void 0),aa=le([ie({type:Et.Choice})],aa);let ca=class extends ho{};ca=le([ie({type:Et.Sequence})],ca);let la=class extends ye{};la=le([ie({type:Et.Choice})],la);let ua=_o=class extends Ri{constructor(t){super(t),Object.setPrototypeOf(this,_o.prototype)}};ua=_o=le([ie({type:Et.Sequence})],ua);let ha=jo=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,jo.prototype)}};ha=jo=le([ie({type:Et.Set,itemType:Wn})],ha);let pa=class{constructor(t=""){this.value=t}toString(){return this.value}};le([re({type:bt.BmpString})],pa.prototype,"value",void 0),pa=le([ie({type:Et.Choice})],pa);let da=class extends Bi{};da=le([ie({type:Et.Sequence})],da);let fa=Fo=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,Fo.prototype)}};var ya;fa=Fo=le([ie({type:Et.Sequence,itemType:da})],fa);let Sa=ya=class extends ae{constructor(t){super(t),Object.setPrototypeOf(this,ya.prototype)}};Sa=ya=le([ie({type:Et.Sequence,itemType:Ci})],Sa);class Aa{constructor(t={}){this.version=0,this.subject=new ge,this.subjectPKInfo=new Di,this.attributes=new Sa,Object.assign(this,t)}}le([re({type:bt.Integer})],Aa.prototype,"version",void 0),le([re({type:ge})],Aa.prototype,"subject",void 0),le([re({type:Di})],Aa.prototype,"subjectPKInfo",void 0),le([re({type:Sa,implicit:!0,context:0})],Aa.prototype,"attributes",void 0);class Ca{constructor(t={}){this.certificationRequestInfo=new Aa,this.signatureAlgorithm=new Bi,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}
|
|
63
63
|
/**
|
|
64
64
|
* @license
|
|
65
65
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
@@ -67,11 +67,11 @@ class Zs extends Vs{constructor(t){super(qs(t),ki),this.thumbprints={},this.type
|
|
|
67
67
|
* This source code is licensed under the MIT license found in the
|
|
68
68
|
* LICENSE file in the root directory of this source tree.
|
|
69
69
|
*/
|
|
70
|
-
function
|
|
70
|
+
function ma(t,e="application/octet-stream",i,r){const s=new Blob([t],{type:e});if(navigator.msSaveBlob)return navigator.msSaveBlob(s,`${i}.${r}`),new Promise(t=>setTimeout(t,100));const n=window.URL.createObjectURL(s),o=document.createElement("a"),a=document.createElement("iframe");return o.style.display="none",a.style.display="none",a.name=n,document.body.appendChild(a),o.href=n,o.target=n,o.download=`${i}.${r}`,document.body.appendChild(o),o.dispatchEvent(new MouseEvent("click")),document.body.removeChild(o),new Promise(t=>setTimeout(()=>{document.body.removeChild(a),t(void 0)},100))}
|
|
71
71
|
/**
|
|
72
72
|
* @license
|
|
73
73
|
* Copyright (c) Peculiar Ventures, LLC.
|
|
74
74
|
*
|
|
75
75
|
* This source code is licensed under the MIT license found in the
|
|
76
76
|
* LICENSE file in the root directory of this source tree.
|
|
77
|
-
*/
|
|
77
|
+
*/le([re({type:Aa})],Ca.prototype,"certificationRequestInfo",void 0),le([re({type:Bi})],Ca.prototype,"signatureAlgorithm",void 0),le([re({type:bt.BitString})],Ca.prototype,"signature",void 0);class ga{}ga.certificate={asPEM:(t,e)=>{ma(Jt.Convert.FromString(t),"application/pkix-cert",e,"cer")},asDER:(t,e)=>{ma(Jt.Convert.FromString(t),"application/pkix-cert",e,"cer")}},ga.certificateRequest={asPEM:(t,e)=>{ma(Jt.Convert.FromString(t),"application/pkcs10",e,"csr")},asDER:(t,e)=>{ma(Jt.Convert.FromString(t),"application/pkcs10",e,"csr")}};export{De as $,Gs as A,Ca as B,la as C,Hn as D,ua as E,_i as F,Fi as G,Gi as H,jn as I,ge as J,we as K,Ke as L,Ee as M,fr as N,lr as O,He as P,ui as Q,rr as R,Ne as S,Gn as T,Zo as U,Ln as V,Qn as W,ri as X,vi as Y,Te as Z,Je as _,Ci as a,Ai as a0,Le as a1,fs as a2,di as a3,Ir as a4,Nr as a5,xr as a6,Er as a7,ts as a8,Yr as a9,os as aa,ns as ab,Ss as ac,ys as ad,ei as ae,gi as af,wi as ag,Pi as ah,Ar as ai,Ts as aj,_s as ak,ga as al,sr as am,nr as an,or as ao,ar as ap,Xs as aq,$o as b,ne as c,$s as d,ce as e,Vo as f,Go as g,Fn as h,Jt as i,_n as j,$n as k,In as l,Tn as m,Vn as n,Un as o,Mn as p,Kn as q,On as r,kn as s,xn as t,Rn as u,Js as v,yn as w,Zs as x,zs as y,qs as z}
|