diff --git a/app.json b/app.json index a4c3773..5c77fb9 100644 --- a/app.json +++ b/app.json @@ -79,7 +79,8 @@ "root": "subpages/settings", "name": "settings", "pages": [ - "pages/index/index" + "pages/index/index", + "pages/changePassword/changePassword" ] } ], diff --git a/images/card.png b/images/card.png index a81bf3f..cffbeef 100644 Binary files a/images/card.png and b/images/card.png differ diff --git a/images/login/right_bg.png b/images/login/right_bg.png index 69628c2..e87161a 100644 Binary files a/images/login/right_bg.png and b/images/login/right_bg.png differ diff --git a/images/message/header_bg.jpg b/images/message/header_bg.jpg index 79eb993..0ef96a3 100644 Binary files a/images/message/header_bg.jpg and b/images/message/header_bg.jpg differ diff --git a/images/statistics/hx_bg.png b/images/statistics/hx_bg.png index 5a296fe..be8ede2 100644 Binary files a/images/statistics/hx_bg.png and b/images/statistics/hx_bg.png differ diff --git a/images/work/bg.png b/images/work/bg.png index 944a808..1cb6b58 100644 Binary files a/images/work/bg.png and b/images/work/bg.png differ diff --git a/images/work/card.png b/images/work/card.png index aa14b19..3ddf8d1 100644 Binary files a/images/work/card.png and b/images/work/card.png differ diff --git a/images/work/center.png b/images/work/center.png index 7b30ef7..4e6d76f 100644 Binary files a/images/work/center.png and b/images/work/center.png differ diff --git a/images/work/map.png b/images/work/map.png index 32c8d41..3a2e88d 100644 Binary files a/images/work/map.png and b/images/work/map.png differ diff --git a/images/work/messageBg.png b/images/work/messageBg.png index 1ab5b4d..26cc0ac 100644 Binary files a/images/work/messageBg.png and b/images/work/messageBg.png differ diff --git a/images/work/shareBg.png b/images/work/shareBg.png index 27a6c0e..b6ce0b1 100644 Binary files a/images/work/shareBg.png and b/images/work/shareBg.png differ diff --git a/images/work/sqmp.png b/images/work/sqmp.png index d98de75..79a28f5 100644 Binary files a/images/work/sqmp.png and b/images/work/sqmp.png differ diff --git a/libs/jsencrypt/lib/JSEncrypt.d.ts b/libs/jsencrypt/lib/JSEncrypt.d.ts new file mode 100644 index 0000000..d81c134 --- /dev/null +++ b/libs/jsencrypt/lib/JSEncrypt.d.ts @@ -0,0 +1,116 @@ +import { JSEncryptRSAKey } from "./JSEncryptRSAKey"; +export interface IJSEncryptOptions { + default_key_size?: string; + default_public_exponent?: string; + log?: boolean; +} +/** + * + * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour + * possible parameters are: + * - default_key_size {number} default: 1024 the key size in bit + * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent + * - log {boolean} default: false whether log warn/error or not + * @constructor + */ +export declare class JSEncrypt { + constructor(options?: IJSEncryptOptions); + private default_key_size; + private default_public_exponent; + private log; + private key; + static version: string; + /** + * Method to set the rsa key parameter (one method is enough to set both the public + * and the private key, since the private key contains the public key paramenters) + * Log a warning if logs are enabled + * @param {Object|string} key the pem encoded string or an object (with or without header/footer) + * @public + */ + setKey(key: string): void; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + setPrivateKey(privkey: string): void; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + setPublicKey(pubkey: string): void; + /** + * Proxy method for RSAKey object's decrypt, decrypt the string using the private + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str base64 encoded crypted string to decrypt + * @return {string} the decrypted string + * @public + */ + decrypt(str: string): string | false; + /** + * Proxy method for RSAKey object's encrypt, encrypt the string using the public + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str the string to encrypt + * @return {string} the encrypted string encoded in base64 + * @public + */ + encrypt(str: string): string | false; + /** + * Proxy method for RSAKey object's sign. + * @param {string} str the string to sign + * @param {function} digestMethod hash method + * @param {string} digestName the name of the hash algorithm + * @return {string} the signature encoded in base64 + * @public + */ + sign(str: string, digestMethod: (str: string) => string, digestName: string): string | false; + /** + * Proxy method for RSAKey object's verify. + * @param {string} str the string to verify + * @param {string} signature the signature encoded in base64 to compare the string to + * @param {function} digestMethod hash method + * @return {boolean} whether the data and signature match + * @public + */ + verify(str: string, signature: string, digestMethod: (str: string) => string): boolean; + /** + * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object + * will be created and returned + * @param {callback} [cb] the callback to be called if we want the key to be generated + * in an async fashion + * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object + * @public + */ + getKey(cb?: () => void): JSEncryptRSAKey; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITH header and footer + * @public + */ + getPrivateKey(): string; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITHOUT header and footer + * @public + */ + getPrivateKeyB64(): string; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITH header and footer + * @public + */ + getPublicKey(): string; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITHOUT header and footer + * @public + */ + getPublicKeyB64(): string; +} diff --git a/libs/jsencrypt/lib/JSEncrypt.js b/libs/jsencrypt/lib/JSEncrypt.js new file mode 100644 index 0000000..460df55 --- /dev/null +++ b/libs/jsencrypt/lib/JSEncrypt.js @@ -0,0 +1,192 @@ +var _a; +import { b64tohex, hex2b64 } from "./lib/jsbn/base64"; +import { JSEncryptRSAKey } from "./JSEncryptRSAKey"; +var version = typeof process !== 'undefined' + ? (_a = process.env) === null || _a === void 0 ? void 0 : _a.npm_package_version + : undefined; +/** + * + * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour + * possible parameters are: + * - default_key_size {number} default: 1024 the key size in bit + * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent + * - log {boolean} default: false whether log warn/error or not + * @constructor + */ +var JSEncrypt = /** @class */ (function () { + function JSEncrypt(options) { + if (options === void 0) { options = {}; } + options = options || {}; + this.default_key_size = options.default_key_size + ? parseInt(options.default_key_size, 10) + : 1024; + this.default_public_exponent = options.default_public_exponent || "010001"; // 65537 default openssl public exponent for rsa key type + this.log = options.log || false; + // The private and public key. + this.key = null; + } + /** + * Method to set the rsa key parameter (one method is enough to set both the public + * and the private key, since the private key contains the public key paramenters) + * Log a warning if logs are enabled + * @param {Object|string} key the pem encoded string or an object (with or without header/footer) + * @public + */ + JSEncrypt.prototype.setKey = function (key) { + if (this.log && this.key) { + console.warn("A key was already set, overriding existing."); + } + this.key = new JSEncryptRSAKey(key); + }; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + JSEncrypt.prototype.setPrivateKey = function (privkey) { + // Create the key. + this.setKey(privkey); + }; + /** + * Proxy method for setKey, for api compatibility + * @see setKey + * @public + */ + JSEncrypt.prototype.setPublicKey = function (pubkey) { + // Sets the public key. + this.setKey(pubkey); + }; + /** + * Proxy method for RSAKey object's decrypt, decrypt the string using the private + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str base64 encoded crypted string to decrypt + * @return {string} the decrypted string + * @public + */ + JSEncrypt.prototype.decrypt = function (str) { + // Return the decrypted string. + try { + return this.getKey().decrypt(b64tohex(str)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's encrypt, encrypt the string using the public + * components of the rsa key object. Note that if the object was not set will be created + * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor + * @param {string} str the string to encrypt + * @return {string} the encrypted string encoded in base64 + * @public + */ + JSEncrypt.prototype.encrypt = function (str) { + // Return the encrypted string. + try { + return hex2b64(this.getKey().encrypt(str)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's sign. + * @param {string} str the string to sign + * @param {function} digestMethod hash method + * @param {string} digestName the name of the hash algorithm + * @return {string} the signature encoded in base64 + * @public + */ + JSEncrypt.prototype.sign = function (str, digestMethod, digestName) { + // return the RSA signature of 'str' in 'hex' format. + try { + return hex2b64(this.getKey().sign(str, digestMethod, digestName)); + } + catch (ex) { + return false; + } + }; + /** + * Proxy method for RSAKey object's verify. + * @param {string} str the string to verify + * @param {string} signature the signature encoded in base64 to compare the string to + * @param {function} digestMethod hash method + * @return {boolean} whether the data and signature match + * @public + */ + JSEncrypt.prototype.verify = function (str, signature, digestMethod) { + // Return the decrypted 'digest' of the signature. + try { + return this.getKey().verify(str, b64tohex(signature), digestMethod); + } + catch (ex) { + return false; + } + }; + /** + * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object + * will be created and returned + * @param {callback} [cb] the callback to be called if we want the key to be generated + * in an async fashion + * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object + * @public + */ + JSEncrypt.prototype.getKey = function (cb) { + // Only create new if it does not exist. + if (!this.key) { + // Get a new private key. + this.key = new JSEncryptRSAKey(); + if (cb && {}.toString.call(cb) === "[object Function]") { + this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb); + return; + } + // Generate the key. + this.key.generate(this.default_key_size, this.default_public_exponent); + } + return this.key; + }; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITH header and footer + * @public + */ + JSEncrypt.prototype.getPrivateKey = function () { + // Return the private representation of this key. + return this.getKey().getPrivateKey(); + }; + /** + * Returns the pem encoded representation of the private key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the private key WITHOUT header and footer + * @public + */ + JSEncrypt.prototype.getPrivateKeyB64 = function () { + // Return the private representation of this key. + return this.getKey().getPrivateBaseKeyB64(); + }; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITH header and footer + * @public + */ + JSEncrypt.prototype.getPublicKey = function () { + // Return the private representation of this key. + return this.getKey().getPublicKey(); + }; + /** + * Returns the pem encoded representation of the public key + * If the key doesn't exists a new key will be created + * @returns {string} pem encoded representation of the public key WITHOUT header and footer + * @public + */ + JSEncrypt.prototype.getPublicKeyB64 = function () { + // Return the private representation of this key. + return this.getKey().getPublicBaseKeyB64(); + }; + JSEncrypt.version = version; + return JSEncrypt; +}()); +export { JSEncrypt }; diff --git a/libs/jsencrypt/lib/JSEncryptRSAKey.d.ts b/libs/jsencrypt/lib/JSEncryptRSAKey.d.ts new file mode 100644 index 0000000..dbb77e4 --- /dev/null +++ b/libs/jsencrypt/lib/JSEncryptRSAKey.d.ts @@ -0,0 +1,142 @@ +import { RSAKey } from "./lib/jsbn/rsa"; +/** + * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object. + * This object is just a decorator for parsing the key parameter + * @param {string|Object} key - The key in string format, or an object containing + * the parameters needed to build a RSAKey object. + * @constructor + */ +export declare class JSEncryptRSAKey extends RSAKey { + constructor(key?: string); + /** + * Method to parse a pem encoded string containing both a public or private key. + * The method will translate the pem encoded string in a der encoded string and + * will parse private key and public key parameters. This method accepts public key + * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1). + * + * @todo Check how many rsa formats use the same format of pkcs #1. + * + * The format is defined as: + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * it's possible to examine the structure of the keys obtained from openssl using + * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/ + * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer + * @private + */ + parseKey(pem: string): boolean; + /** + * Translate rsa parameters in a hex encoded string representing the rsa key. + * + * The translation follow the ASN.1 notation : + * RSAPrivateKey ::= SEQUENCE { + * version Version, + * modulus INTEGER, -- n + * publicExponent INTEGER, -- e + * privateExponent INTEGER, -- d + * prime1 INTEGER, -- p + * prime2 INTEGER, -- q + * exponent1 INTEGER, -- d mod (p1) + * exponent2 INTEGER, -- d mod (q-1) + * coefficient INTEGER, -- (inverse of q) mod p + * } + * @returns {string} DER Encoded String representing the rsa private key + * @private + */ + getPrivateBaseKey(): string; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + getPrivateBaseKeyB64(): string; + /** + * Translate rsa parameters in a hex encoded string representing the rsa public key. + * The representation follow the ASN.1 notation : + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * @returns {string} DER Encoded String representing the rsa public key + * @private + */ + getPublicBaseKey(): string; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + getPublicBaseKeyB64(): string; + /** + * wrap the string in block of width chars. The default value for rsa keys is 64 + * characters. + * @param {string} str the pem encoded string without header and footer + * @param {Number} [width=64] - the length the string has to be wrapped at + * @returns {string} + * @private + */ + static wordwrap(str: string, width?: number): string; + /** + * Retrieve the pem encoded private key + * @returns {string} the pem encoded private key with header/footer + * @public + */ + getPrivateKey(): string; + /** + * Retrieve the pem encoded public key + * @returns {string} the pem encoded public key with header/footer + * @public + */ + getPublicKey(): string; + /** + * Check if the object contains the necessary parameters to populate the rsa modulus + * and public exponent parameters. + * @param {Object} [obj={}] - An object that may contain the two public key + * parameters + * @returns {boolean} true if the object contains both the modulus and the public exponent + * properties (n and e) + * @todo check for types of n and e. N should be a parseable bigInt object, E should + * be a parseable integer number + * @private + */ + static hasPublicKeyProperty(obj: object): boolean; + /** + * Check if the object contains ALL the parameters of an RSA key. + * @param {Object} [obj={}] - An object that may contain nine rsa key + * parameters + * @returns {boolean} true if the object contains all the parameters needed + * @todo check for types of the parameters all the parameters but the public exponent + * should be parseable bigint objects, the public exponent should be a parseable integer number + * @private + */ + static hasPrivateKeyProperty(obj: object): boolean; + /** + * Parse the properties of obj in the current rsa object. Obj should AT LEAST + * include the modulus and public exponent (n, e) parameters. + * @param {Object} obj - the object containing rsa parameters + * @private + */ + parsePropertiesFrom(obj: any): void; +} diff --git a/libs/jsencrypt/lib/JSEncryptRSAKey.js b/libs/jsencrypt/lib/JSEncryptRSAKey.js new file mode 100644 index 0000000..f61f388 --- /dev/null +++ b/libs/jsencrypt/lib/JSEncryptRSAKey.js @@ -0,0 +1,320 @@ +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +import { hex2b64 } from "./lib/jsbn/base64"; +import { Hex } from "./lib/asn1js/hex"; +import { Base64 } from "./lib/asn1js/base64"; +import { ASN1 } from "./lib/asn1js/asn1"; +import { RSAKey } from "./lib/jsbn/rsa"; +import { parseBigInt } from "./lib/jsbn/jsbn"; +import { KJUR } from "./lib/jsrsasign/asn1-1.0"; +/** + * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object. + * This object is just a decorator for parsing the key parameter + * @param {string|Object} key - The key in string format, or an object containing + * the parameters needed to build a RSAKey object. + * @constructor + */ +var JSEncryptRSAKey = /** @class */ (function (_super) { + __extends(JSEncryptRSAKey, _super); + function JSEncryptRSAKey(key) { + var _this = _super.call(this) || this; + // Call the super constructor. + // RSAKey.call(this); + // If a key key was provided. + if (key) { + // If this is a string... + if (typeof key === "string") { + _this.parseKey(key); + } + else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) || + JSEncryptRSAKey.hasPublicKeyProperty(key)) { + // Set the values for the key. + _this.parsePropertiesFrom(key); + } + } + return _this; + } + /** + * Method to parse a pem encoded string containing both a public or private key. + * The method will translate the pem encoded string in a der encoded string and + * will parse private key and public key parameters. This method accepts public key + * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1). + * + * @todo Check how many rsa formats use the same format of pkcs #1. + * + * The format is defined as: + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * it's possible to examine the structure of the keys obtained from openssl using + * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/ + * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer + * @private + */ + JSEncryptRSAKey.prototype.parseKey = function (pem) { + try { + var modulus = 0; + var public_exponent = 0; + var reHex = /^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/; + var der = reHex.test(pem) ? Hex.decode(pem) : Base64.unarmor(pem); + var asn1 = ASN1.decode(der); + // Fixes a bug with OpenSSL 1.0+ private keys + if (asn1.sub.length === 3) { + asn1 = asn1.sub[2].sub[0]; + } + if (asn1.sub.length === 9) { + // Parse the private key. + modulus = asn1.sub[1].getHexStringValue(); // bigint + this.n = parseBigInt(modulus, 16); + public_exponent = asn1.sub[2].getHexStringValue(); // int + this.e = parseInt(public_exponent, 16); + var private_exponent = asn1.sub[3].getHexStringValue(); // bigint + this.d = parseBigInt(private_exponent, 16); + var prime1 = asn1.sub[4].getHexStringValue(); // bigint + this.p = parseBigInt(prime1, 16); + var prime2 = asn1.sub[5].getHexStringValue(); // bigint + this.q = parseBigInt(prime2, 16); + var exponent1 = asn1.sub[6].getHexStringValue(); // bigint + this.dmp1 = parseBigInt(exponent1, 16); + var exponent2 = asn1.sub[7].getHexStringValue(); // bigint + this.dmq1 = parseBigInt(exponent2, 16); + var coefficient = asn1.sub[8].getHexStringValue(); // bigint + this.coeff = parseBigInt(coefficient, 16); + } + else if (asn1.sub.length === 2) { + if (asn1.sub[0].sub) { + // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509 + var bit_string = asn1.sub[1]; + var sequence = bit_string.sub[0]; + modulus = sequence.sub[0].getHexStringValue(); + this.n = parseBigInt(modulus, 16); + public_exponent = sequence.sub[1].getHexStringValue(); + this.e = parseInt(public_exponent, 16); + } + else { + // Parse ASN.1 RSAPublicKey type as defined by PKCS #1 + modulus = asn1.sub[0].getHexStringValue(); + this.n = parseBigInt(modulus, 16); + public_exponent = asn1.sub[1].getHexStringValue(); + this.e = parseInt(public_exponent, 16); + } + } + else { + return false; + } + return true; + } + catch (ex) { + return false; + } + }; + /** + * Translate rsa parameters in a hex encoded string representing the rsa key. + * + * The translation follow the ASN.1 notation : + * RSAPrivateKey ::= SEQUENCE { + * version Version, + * modulus INTEGER, -- n + * publicExponent INTEGER, -- e + * privateExponent INTEGER, -- d + * prime1 INTEGER, -- p + * prime2 INTEGER, -- q + * exponent1 INTEGER, -- d mod (p1) + * exponent2 INTEGER, -- d mod (q-1) + * coefficient INTEGER, -- (inverse of q) mod p + * } + * @returns {string} DER Encoded String representing the rsa private key + * @private + */ + JSEncryptRSAKey.prototype.getPrivateBaseKey = function () { + var options = { + array: [ + new KJUR.asn1.DERInteger({ int: 0 }), + new KJUR.asn1.DERInteger({ bigint: this.n }), + new KJUR.asn1.DERInteger({ int: this.e }), + new KJUR.asn1.DERInteger({ bigint: this.d }), + new KJUR.asn1.DERInteger({ bigint: this.p }), + new KJUR.asn1.DERInteger({ bigint: this.q }), + new KJUR.asn1.DERInteger({ bigint: this.dmp1 }), + new KJUR.asn1.DERInteger({ bigint: this.dmq1 }), + new KJUR.asn1.DERInteger({ bigint: this.coeff }), + ], + }; + var seq = new KJUR.asn1.DERSequence(options); + return seq.getEncodedHex(); + }; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () { + return hex2b64(this.getPrivateBaseKey()); + }; + /** + * Translate rsa parameters in a hex encoded string representing the rsa public key. + * The representation follow the ASN.1 notation : + * PublicKeyInfo ::= SEQUENCE { + * algorithm AlgorithmIdentifier, + * PublicKey BIT STRING + * } + * Where AlgorithmIdentifier is: + * AlgorithmIdentifier ::= SEQUENCE { + * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm + * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1) + * } + * and PublicKey is a SEQUENCE encapsulated in a BIT STRING + * RSAPublicKey ::= SEQUENCE { + * modulus INTEGER, -- n + * publicExponent INTEGER -- e + * } + * @returns {string} DER Encoded String representing the rsa public key + * @private + */ + JSEncryptRSAKey.prototype.getPublicBaseKey = function () { + var first_sequence = new KJUR.asn1.DERSequence({ + array: [ + new KJUR.asn1.DERObjectIdentifier({ oid: "1.2.840.113549.1.1.1" }), + new KJUR.asn1.DERNull(), + ], + }); + var second_sequence = new KJUR.asn1.DERSequence({ + array: [ + new KJUR.asn1.DERInteger({ bigint: this.n }), + new KJUR.asn1.DERInteger({ int: this.e }), + ], + }); + var bit_string = new KJUR.asn1.DERBitString({ + hex: "00" + second_sequence.getEncodedHex(), + }); + var seq = new KJUR.asn1.DERSequence({ + array: [first_sequence, bit_string], + }); + return seq.getEncodedHex(); + }; + /** + * base64 (pem) encoded version of the DER encoded representation + * @returns {string} pem encoded representation without header and footer + * @public + */ + JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () { + return hex2b64(this.getPublicBaseKey()); + }; + /** + * wrap the string in block of width chars. The default value for rsa keys is 64 + * characters. + * @param {string} str the pem encoded string without header and footer + * @param {Number} [width=64] - the length the string has to be wrapped at + * @returns {string} + * @private + */ + JSEncryptRSAKey.wordwrap = function (str, width) { + width = width || 64; + if (!str) { + return str; + } + var regex = "(.{1," + width + "})( +|$\n?)|(.{1," + width + "})"; + return str.match(RegExp(regex, "g")).join("\n"); + }; + /** + * Retrieve the pem encoded private key + * @returns {string} the pem encoded private key with header/footer + * @public + */ + JSEncryptRSAKey.prototype.getPrivateKey = function () { + var key = "-----BEGIN RSA PRIVATE KEY-----\n"; + key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + "\n"; + key += "-----END RSA PRIVATE KEY-----"; + return key; + }; + /** + * Retrieve the pem encoded public key + * @returns {string} the pem encoded public key with header/footer + * @public + */ + JSEncryptRSAKey.prototype.getPublicKey = function () { + var key = "-----BEGIN PUBLIC KEY-----\n"; + key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + "\n"; + key += "-----END PUBLIC KEY-----"; + return key; + }; + /** + * Check if the object contains the necessary parameters to populate the rsa modulus + * and public exponent parameters. + * @param {Object} [obj={}] - An object that may contain the two public key + * parameters + * @returns {boolean} true if the object contains both the modulus and the public exponent + * properties (n and e) + * @todo check for types of n and e. N should be a parseable bigInt object, E should + * be a parseable integer number + * @private + */ + JSEncryptRSAKey.hasPublicKeyProperty = function (obj) { + obj = obj || {}; + return obj.hasOwnProperty("n") && obj.hasOwnProperty("e"); + }; + /** + * Check if the object contains ALL the parameters of an RSA key. + * @param {Object} [obj={}] - An object that may contain nine rsa key + * parameters + * @returns {boolean} true if the object contains all the parameters needed + * @todo check for types of the parameters all the parameters but the public exponent + * should be parseable bigint objects, the public exponent should be a parseable integer number + * @private + */ + JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) { + obj = obj || {}; + return (obj.hasOwnProperty("n") && + obj.hasOwnProperty("e") && + obj.hasOwnProperty("d") && + obj.hasOwnProperty("p") && + obj.hasOwnProperty("q") && + obj.hasOwnProperty("dmp1") && + obj.hasOwnProperty("dmq1") && + obj.hasOwnProperty("coeff")); + }; + /** + * Parse the properties of obj in the current rsa object. Obj should AT LEAST + * include the modulus and public exponent (n, e) parameters. + * @param {Object} obj - the object containing rsa parameters + * @private + */ + JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) { + this.n = obj.n; + this.e = obj.e; + if (obj.hasOwnProperty("d")) { + this.d = obj.d; + this.p = obj.p; + this.q = obj.q; + this.dmp1 = obj.dmp1; + this.dmq1 = obj.dmq1; + this.coeff = obj.coeff; + } + }; + return JSEncryptRSAKey; +}(RSAKey)); +export { JSEncryptRSAKey }; diff --git a/libs/jsencrypt/lib/index.d.ts b/libs/jsencrypt/lib/index.d.ts new file mode 100644 index 0000000..cae3cf2 --- /dev/null +++ b/libs/jsencrypt/lib/index.d.ts @@ -0,0 +1,3 @@ +import { JSEncrypt } from './JSEncrypt'; +export { JSEncrypt }; +export default JSEncrypt; diff --git a/libs/jsencrypt/lib/index.js b/libs/jsencrypt/lib/index.js new file mode 100644 index 0000000..cae3cf2 --- /dev/null +++ b/libs/jsencrypt/lib/index.js @@ -0,0 +1,3 @@ +import { JSEncrypt } from './JSEncrypt'; +export { JSEncrypt }; +export default JSEncrypt; diff --git a/libs/jsencrypt/lib/lib/asn1js/asn1.d.ts b/libs/jsencrypt/lib/lib/asn1js/asn1.d.ts new file mode 100644 index 0000000..a8bfd66 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/asn1.d.ts @@ -0,0 +1,51 @@ +import { Int10 } from "./int10"; +export declare class Stream { + constructor(enc: Stream | number[], pos?: number); + private enc; + pos: number; + get(pos?: number): number; + hexDigits: string; + hexByte(b: number): string; + hexDump(start: number, end: number, raw: boolean): string; + isASCII(start: number, end: number): boolean; + parseStringISO(start: number, end: number): string; + parseStringUTF(start: number, end: number): string; + parseStringBMP(start: number, end: number): string; + parseTime(start: number, end: number, shortYear: boolean): string; + parseInteger(start: number, end: number): string | 0 | -1; + parseBitString(start: number, end: number, maxLength: number): string; + parseOctetString(start: number, end: number, maxLength: number): string; + parseOID(start: number, end: number, maxLength: number): string; +} +export declare class ASN1 { + constructor(stream: Stream, header: number, length: number, tag: ASN1Tag, sub: ASN1[]); + private stream; + private header; + private length; + private tag; + sub: ASN1[]; + typeName(): string; + content(maxLength: number): string | 0 | -1; + toString(): string; + toPrettyString(indent: string): string; + posStart(): number; + posContent(): number; + posEnd(): number; + toHexString(): string; + static decodeLength(stream: Stream): number; + /** + * Retrieve the hexadecimal value (as a string) of the current ASN.1 element + * @returns {string} + * @public + */ + getHexStringValue(): string; + static decode(str: Stream | number[]): ASN1; +} +export declare class ASN1Tag { + constructor(stream: Stream); + tagClass: number; + tagConstructed: boolean; + tagNumber: number | Int10; + isUniversal(): boolean; + isEOC(): boolean; +} diff --git a/libs/jsencrypt/lib/lib/asn1js/asn1.js b/libs/jsencrypt/lib/lib/asn1js/asn1.js new file mode 100644 index 0000000..5884ea4 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/asn1.js @@ -0,0 +1,565 @@ +// ASN.1 JavaScript decoder +// Copyright (c) 2008-2014 Lapo Luchini +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ +/*global oids */ +import { Int10 } from "./int10"; +var ellipsis = "\u2026"; +var reTimeS = /^(\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/; +var reTimeL = /^(\d\d\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/; +function stringCut(str, len) { + if (str.length > len) { + str = str.substring(0, len) + ellipsis; + } + return str; +} +var Stream = /** @class */ (function () { + function Stream(enc, pos) { + this.hexDigits = "0123456789ABCDEF"; + if (enc instanceof Stream) { + this.enc = enc.enc; + this.pos = enc.pos; + } + else { + // enc should be an array or a binary string + this.enc = enc; + this.pos = pos; + } + } + Stream.prototype.get = function (pos) { + if (pos === undefined) { + pos = this.pos++; + } + if (pos >= this.enc.length) { + throw new Error("Requesting byte offset ".concat(pos, " on a stream of length ").concat(this.enc.length)); + } + return ("string" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos]; + }; + Stream.prototype.hexByte = function (b) { + return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF); + }; + Stream.prototype.hexDump = function (start, end, raw) { + var s = ""; + for (var i = start; i < end; ++i) { + s += this.hexByte(this.get(i)); + if (raw !== true) { + switch (i & 0xF) { + case 0x7: + s += " "; + break; + case 0xF: + s += "\n"; + break; + default: + s += " "; + } + } + } + return s; + }; + Stream.prototype.isASCII = function (start, end) { + for (var i = start; i < end; ++i) { + var c = this.get(i); + if (c < 32 || c > 176) { + return false; + } + } + return true; + }; + Stream.prototype.parseStringISO = function (start, end) { + var s = ""; + for (var i = start; i < end; ++i) { + s += String.fromCharCode(this.get(i)); + } + return s; + }; + Stream.prototype.parseStringUTF = function (start, end) { + var s = ""; + for (var i = start; i < end;) { + var c = this.get(i++); + if (c < 128) { + s += String.fromCharCode(c); + } + else if ((c > 191) && (c < 224)) { + s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F)); + } + else { + s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F)); + } + } + return s; + }; + Stream.prototype.parseStringBMP = function (start, end) { + var str = ""; + var hi; + var lo; + for (var i = start; i < end;) { + hi = this.get(i++); + lo = this.get(i++); + str += String.fromCharCode((hi << 8) | lo); + } + return str; + }; + Stream.prototype.parseTime = function (start, end, shortYear) { + var s = this.parseStringISO(start, end); + var m = (shortYear ? reTimeS : reTimeL).exec(s); + if (!m) { + return "Unrecognized time: " + s; + } + if (shortYear) { + // to avoid querying the timer, use the fixed range [1970, 2069] + // it will conform with ITU X.400 [-10, +40] sliding window until 2030 + m[1] = +m[1]; + m[1] += (+m[1] < 70) ? 2000 : 1900; + } + s = m[1] + "-" + m[2] + "-" + m[3] + " " + m[4]; + if (m[5]) { + s += ":" + m[5]; + if (m[6]) { + s += ":" + m[6]; + if (m[7]) { + s += "." + m[7]; + } + } + } + if (m[8]) { + s += " UTC"; + if (m[8] != "Z") { + s += m[8]; + if (m[9]) { + s += ":" + m[9]; + } + } + } + return s; + }; + Stream.prototype.parseInteger = function (start, end) { + var v = this.get(start); + var neg = (v > 127); + var pad = neg ? 255 : 0; + var len; + var s = ""; + // skip unuseful bits (not allowed in DER) + while (v == pad && ++start < end) { + v = this.get(start); + } + len = end - start; + if (len === 0) { + return neg ? -1 : 0; + } + // show bit length of huge integers + if (len > 4) { + s = v; + len <<= 3; + while (((+s ^ pad) & 0x80) == 0) { + s = +s << 1; + --len; + } + s = "(" + len + " bit)\n"; + } + // decode the integer + if (neg) { + v = v - 256; + } + var n = new Int10(v); + for (var i = start + 1; i < end; ++i) { + n.mulAdd(256, this.get(i)); + } + return s + n.toString(); + }; + Stream.prototype.parseBitString = function (start, end, maxLength) { + var unusedBit = this.get(start); + var lenBit = ((end - start - 1) << 3) - unusedBit; + var intro = "(" + lenBit + " bit)\n"; + var s = ""; + for (var i = start + 1; i < end; ++i) { + var b = this.get(i); + var skip = (i == end - 1) ? unusedBit : 0; + for (var j = 7; j >= skip; --j) { + s += (b >> j) & 1 ? "1" : "0"; + } + if (s.length > maxLength) { + return intro + stringCut(s, maxLength); + } + } + return intro + s; + }; + Stream.prototype.parseOctetString = function (start, end, maxLength) { + if (this.isASCII(start, end)) { + return stringCut(this.parseStringISO(start, end), maxLength); + } + var len = end - start; + var s = "(" + len + " byte)\n"; + maxLength /= 2; // we work in bytes + if (len > maxLength) { + end = start + maxLength; + } + for (var i = start; i < end; ++i) { + s += this.hexByte(this.get(i)); + } + if (len > maxLength) { + s += ellipsis; + } + return s; + }; + Stream.prototype.parseOID = function (start, end, maxLength) { + var s = ""; + var n = new Int10(); + var bits = 0; + for (var i = start; i < end; ++i) { + var v = this.get(i); + n.mulAdd(128, v & 0x7F); + bits += 7; + if (!(v & 0x80)) { // finished + if (s === "") { + n = n.simplify(); + if (n instanceof Int10) { + n.sub(80); + s = "2." + n.toString(); + } + else { + var m = n < 80 ? n < 40 ? 0 : 1 : 2; + s = m + "." + (n - m * 40); + } + } + else { + s += "." + n.toString(); + } + if (s.length > maxLength) { + return stringCut(s, maxLength); + } + n = new Int10(); + bits = 0; + } + } + if (bits > 0) { + s += ".incomplete"; + } + return s; + }; + return Stream; +}()); +export { Stream }; +var ASN1 = /** @class */ (function () { + function ASN1(stream, header, length, tag, sub) { + if (!(tag instanceof ASN1Tag)) { + throw new Error("Invalid tag value."); + } + this.stream = stream; + this.header = header; + this.length = length; + this.tag = tag; + this.sub = sub; + } + ASN1.prototype.typeName = function () { + switch (this.tag.tagClass) { + case 0: // universal + switch (this.tag.tagNumber) { + case 0x00: + return "EOC"; + case 0x01: + return "BOOLEAN"; + case 0x02: + return "INTEGER"; + case 0x03: + return "BIT_STRING"; + case 0x04: + return "OCTET_STRING"; + case 0x05: + return "NULL"; + case 0x06: + return "OBJECT_IDENTIFIER"; + case 0x07: + return "ObjectDescriptor"; + case 0x08: + return "EXTERNAL"; + case 0x09: + return "REAL"; + case 0x0A: + return "ENUMERATED"; + case 0x0B: + return "EMBEDDED_PDV"; + case 0x0C: + return "UTF8String"; + case 0x10: + return "SEQUENCE"; + case 0x11: + return "SET"; + case 0x12: + return "NumericString"; + case 0x13: + return "PrintableString"; // ASCII subset + case 0x14: + return "TeletexString"; // aka T61String + case 0x15: + return "VideotexString"; + case 0x16: + return "IA5String"; // ASCII + case 0x17: + return "UTCTime"; + case 0x18: + return "GeneralizedTime"; + case 0x19: + return "GraphicString"; + case 0x1A: + return "VisibleString"; // ASCII subset + case 0x1B: + return "GeneralString"; + case 0x1C: + return "UniversalString"; + case 0x1E: + return "BMPString"; + } + return "Universal_" + this.tag.tagNumber.toString(); + case 1: + return "Application_" + this.tag.tagNumber.toString(); + case 2: + return "[" + this.tag.tagNumber.toString() + "]"; // Context + case 3: + return "Private_" + this.tag.tagNumber.toString(); + } + }; + ASN1.prototype.content = function (maxLength) { + if (this.tag === undefined) { + return null; + } + if (maxLength === undefined) { + maxLength = Infinity; + } + var content = this.posContent(); + var len = Math.abs(this.length); + if (!this.tag.isUniversal()) { + if (this.sub !== null) { + return "(" + this.sub.length + " elem)"; + } + return this.stream.parseOctetString(content, content + len, maxLength); + } + switch (this.tag.tagNumber) { + case 0x01: // BOOLEAN + return (this.stream.get(content) === 0) ? "false" : "true"; + case 0x02: // INTEGER + return this.stream.parseInteger(content, content + len); + case 0x03: // BIT_STRING + return this.sub ? "(" + this.sub.length + " elem)" : + this.stream.parseBitString(content, content + len, maxLength); + case 0x04: // OCTET_STRING + return this.sub ? "(" + this.sub.length + " elem)" : + this.stream.parseOctetString(content, content + len, maxLength); + // case 0x05: // NULL + case 0x06: // OBJECT_IDENTIFIER + return this.stream.parseOID(content, content + len, maxLength); + // case 0x07: // ObjectDescriptor + // case 0x08: // EXTERNAL + // case 0x09: // REAL + // case 0x0A: // ENUMERATED + // case 0x0B: // EMBEDDED_PDV + case 0x10: // SEQUENCE + case 0x11: // SET + if (this.sub !== null) { + return "(" + this.sub.length + " elem)"; + } + else { + return "(no elem)"; + } + case 0x0C: // UTF8String + return stringCut(this.stream.parseStringUTF(content, content + len), maxLength); + case 0x12: // NumericString + case 0x13: // PrintableString + case 0x14: // TeletexString + case 0x15: // VideotexString + case 0x16: // IA5String + // case 0x19: // GraphicString + case 0x1A: // VisibleString + // case 0x1B: // GeneralString + // case 0x1C: // UniversalString + return stringCut(this.stream.parseStringISO(content, content + len), maxLength); + case 0x1E: // BMPString + return stringCut(this.stream.parseStringBMP(content, content + len), maxLength); + case 0x17: // UTCTime + case 0x18: // GeneralizedTime + return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17)); + } + return null; + }; + ASN1.prototype.toString = function () { + return this.typeName() + "@" + this.stream.pos + "[header:" + this.header + ",length:" + this.length + ",sub:" + ((this.sub === null) ? "null" : this.sub.length) + "]"; + }; + ASN1.prototype.toPrettyString = function (indent) { + if (indent === undefined) { + indent = ""; + } + var s = indent + this.typeName() + " @" + this.stream.pos; + if (this.length >= 0) { + s += "+"; + } + s += this.length; + if (this.tag.tagConstructed) { + s += " (constructed)"; + } + else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) { + s += " (encapsulates)"; + } + s += "\n"; + if (this.sub !== null) { + indent += " "; + for (var i = 0, max = this.sub.length; i < max; ++i) { + s += this.sub[i].toPrettyString(indent); + } + } + return s; + }; + ASN1.prototype.posStart = function () { + return this.stream.pos; + }; + ASN1.prototype.posContent = function () { + return this.stream.pos + this.header; + }; + ASN1.prototype.posEnd = function () { + return this.stream.pos + this.header + Math.abs(this.length); + }; + ASN1.prototype.toHexString = function () { + return this.stream.hexDump(this.posStart(), this.posEnd(), true); + }; + ASN1.decodeLength = function (stream) { + var buf = stream.get(); + var len = buf & 0x7F; + if (len == buf) { + return len; + } + // no reason to use Int10, as it would be a huge buffer anyways + if (len > 6) { + throw new Error("Length over 48 bits not supported at position " + (stream.pos - 1)); + } + if (len === 0) { + return null; + } // undefined + buf = 0; + for (var i = 0; i < len; ++i) { + buf = (buf * 256) + stream.get(); + } + return buf; + }; + /** + * Retrieve the hexadecimal value (as a string) of the current ASN.1 element + * @returns {string} + * @public + */ + ASN1.prototype.getHexStringValue = function () { + var hexString = this.toHexString(); + var offset = this.header * 2; + var length = this.length * 2; + return hexString.substr(offset, length); + }; + ASN1.decode = function (str) { + var stream; + if (!(str instanceof Stream)) { + stream = new Stream(str, 0); + } + else { + stream = str; + } + var streamStart = new Stream(stream); + var tag = new ASN1Tag(stream); + var len = ASN1.decodeLength(stream); + var start = stream.pos; + var header = start - streamStart.pos; + var sub = null; + var getSub = function () { + var ret = []; + if (len !== null) { + // definite length + var end = start + len; + while (stream.pos < end) { + ret[ret.length] = ASN1.decode(stream); + } + if (stream.pos != end) { + throw new Error("Content size is not correct for container starting at offset " + start); + } + } + else { + // undefined length + try { + for (;;) { + var s = ASN1.decode(stream); + if (s.tag.isEOC()) { + break; + } + ret[ret.length] = s; + } + len = start - stream.pos; // undefined lengths are represented as negative values + } + catch (e) { + throw new Error("Exception while decoding undefined length content: " + e); + } + } + return ret; + }; + if (tag.tagConstructed) { + // must have valid content + sub = getSub(); + } + else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) { + // sometimes BitString and OctetString are used to encapsulate ASN.1 + try { + if (tag.tagNumber == 0x03) { + if (stream.get() != 0) { + throw new Error("BIT STRINGs with unused bits cannot encapsulate."); + } + } + sub = getSub(); + for (var i = 0; i < sub.length; ++i) { + if (sub[i].tag.isEOC()) { + throw new Error("EOC is not supposed to be actual content."); + } + } + } + catch (e) { + // but silently ignore when they don't + sub = null; + } + } + if (sub === null) { + if (len === null) { + throw new Error("We can't skip over an invalid tag with undefined length at offset " + start); + } + stream.pos = start + Math.abs(len); + } + return new ASN1(streamStart, header, len, tag, sub); + }; + return ASN1; +}()); +export { ASN1 }; +var ASN1Tag = /** @class */ (function () { + function ASN1Tag(stream) { + var buf = stream.get(); + this.tagClass = buf >> 6; + this.tagConstructed = ((buf & 0x20) !== 0); + this.tagNumber = buf & 0x1F; + if (this.tagNumber == 0x1F) { // long tag + var n = new Int10(); + do { + buf = stream.get(); + n.mulAdd(128, buf & 0x7F); + } while (buf & 0x80); + this.tagNumber = n.simplify(); + } + } + ASN1Tag.prototype.isUniversal = function () { + return this.tagClass === 0x00; + }; + ASN1Tag.prototype.isEOC = function () { + return this.tagClass === 0x00 && this.tagNumber === 0x00; + }; + return ASN1Tag; +}()); +export { ASN1Tag }; diff --git a/libs/jsencrypt/lib/lib/asn1js/base64.d.ts b/libs/jsencrypt/lib/lib/asn1js/base64.d.ts new file mode 100644 index 0000000..583d962 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/base64.d.ts @@ -0,0 +1,5 @@ +export declare const Base64: { + decode(a: string): number[]; + re: RegExp; + unarmor(a: string): number[]; +}; diff --git a/libs/jsencrypt/lib/lib/asn1js/base64.js b/libs/jsencrypt/lib/lib/asn1js/base64.js new file mode 100644 index 0000000..13cd7ce --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/base64.js @@ -0,0 +1,88 @@ +// Base64 JavaScript decoder +// Copyright (c) 2008-2013 Lapo Luchini +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ +var decoder; +export var Base64 = { + decode: function (a) { + var i; + if (decoder === undefined) { + var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + var ignore = "= \f\n\r\t\u00A0\u2028\u2029"; + decoder = Object.create(null); + for (i = 0; i < 64; ++i) { + decoder[b64.charAt(i)] = i; + } + decoder['-'] = 62; //+ + decoder['_'] = 63; //- + for (i = 0; i < ignore.length; ++i) { + decoder[ignore.charAt(i)] = -1; + } + } + var out = []; + var bits = 0; + var char_count = 0; + for (i = 0; i < a.length; ++i) { + var c = a.charAt(i); + if (c == "=") { + break; + } + c = decoder[c]; + if (c == -1) { + continue; + } + if (c === undefined) { + throw new Error("Illegal character at offset " + i); + } + bits |= c; + if (++char_count >= 4) { + out[out.length] = (bits >> 16); + out[out.length] = (bits >> 8) & 0xFF; + out[out.length] = bits & 0xFF; + bits = 0; + char_count = 0; + } + else { + bits <<= 6; + } + } + switch (char_count) { + case 1: + throw new Error("Base64 encoding incomplete: at least 2 bits missing"); + case 2: + out[out.length] = (bits >> 10); + break; + case 3: + out[out.length] = (bits >> 16); + out[out.length] = (bits >> 8) & 0xFF; + break; + } + return out; + }, + re: /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/, + unarmor: function (a) { + var m = Base64.re.exec(a); + if (m) { + if (m[1]) { + a = m[1]; + } + else if (m[2]) { + a = m[2]; + } + else { + throw new Error("RegExp out of sync"); + } + } + return Base64.decode(a); + } +}; diff --git a/libs/jsencrypt/lib/lib/asn1js/hex.d.ts b/libs/jsencrypt/lib/lib/asn1js/hex.d.ts new file mode 100644 index 0000000..c6d2d7b --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/hex.d.ts @@ -0,0 +1,3 @@ +export declare const Hex: { + decode(a: string): number[]; +}; diff --git a/libs/jsencrypt/lib/lib/asn1js/hex.js b/libs/jsencrypt/lib/lib/asn1js/hex.js new file mode 100644 index 0000000..a815651 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/hex.js @@ -0,0 +1,64 @@ +// Hex JavaScript decoder +// Copyright (c) 2008-2013 Lapo Luchini +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ +var decoder; +export var Hex = { + decode: function (a) { + var i; + if (decoder === undefined) { + var hex = "0123456789ABCDEF"; + var ignore = " \f\n\r\t\u00A0\u2028\u2029"; + decoder = {}; + for (i = 0; i < 16; ++i) { + decoder[hex.charAt(i)] = i; + } + hex = hex.toLowerCase(); + for (i = 10; i < 16; ++i) { + decoder[hex.charAt(i)] = i; + } + for (i = 0; i < ignore.length; ++i) { + decoder[ignore.charAt(i)] = -1; + } + } + var out = []; + var bits = 0; + var char_count = 0; + for (i = 0; i < a.length; ++i) { + var c = a.charAt(i); + if (c == "=") { + break; + } + c = decoder[c]; + if (c == -1) { + continue; + } + if (c === undefined) { + throw new Error("Illegal character at offset " + i); + } + bits |= c; + if (++char_count >= 2) { + out[out.length] = bits; + bits = 0; + char_count = 0; + } + else { + bits <<= 4; + } + } + if (char_count) { + throw new Error("Hex encoding incomplete: 4 bits missing"); + } + return out; + } +}; diff --git a/libs/jsencrypt/lib/lib/asn1js/int10.d.ts b/libs/jsencrypt/lib/lib/asn1js/int10.d.ts new file mode 100644 index 0000000..cf66b88 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/int10.d.ts @@ -0,0 +1,9 @@ +export declare class Int10 { + constructor(value?: string | number); + mulAdd(m: number, c: number): void; + sub(c: number): void; + toString(base?: number): string; + valueOf(): number; + simplify(): number | this; + private buf; +} diff --git a/libs/jsencrypt/lib/lib/asn1js/int10.js b/libs/jsencrypt/lib/lib/asn1js/int10.js new file mode 100644 index 0000000..620b1fe --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/int10.js @@ -0,0 +1,87 @@ +// Big integer base-10 printing library +// Copyright (c) 2014 Lapo Luchini +// Permission to use, copy, modify, and/or distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */ +var max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256 +var Int10 = /** @class */ (function () { + function Int10(value) { + this.buf = [+value || 0]; + } + Int10.prototype.mulAdd = function (m, c) { + // assert(m <= 256) + var b = this.buf; + var l = b.length; + var i; + var t; + for (i = 0; i < l; ++i) { + t = b[i] * m + c; + if (t < max) { + c = 0; + } + else { + c = 0 | (t / max); + t -= c * max; + } + b[i] = t; + } + if (c > 0) { + b[i] = c; + } + }; + Int10.prototype.sub = function (c) { + // assert(m <= 256) + var b = this.buf; + var l = b.length; + var i; + var t; + for (i = 0; i < l; ++i) { + t = b[i] - c; + if (t < 0) { + t += max; + c = 1; + } + else { + c = 0; + } + b[i] = t; + } + while (b[b.length - 1] === 0) { + b.pop(); + } + }; + Int10.prototype.toString = function (base) { + if ((base || 10) != 10) { + throw new Error("only base 10 is supported"); + } + var b = this.buf; + var s = b[b.length - 1].toString(); + for (var i = b.length - 2; i >= 0; --i) { + s += (max + b[i]).toString().substring(1); + } + return s; + }; + Int10.prototype.valueOf = function () { + var b = this.buf; + var v = 0; + for (var i = b.length - 1; i >= 0; --i) { + v = v * max + b[i]; + } + return v; + }; + Int10.prototype.simplify = function () { + var b = this.buf; + return (b.length == 1) ? b[0] : this; + }; + return Int10; +}()); +export { Int10 }; diff --git a/libs/jsencrypt/lib/lib/asn1js/oids.d.ts b/libs/jsencrypt/lib/lib/asn1js/oids.d.ts new file mode 100644 index 0000000..a537821 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/oids.d.ts @@ -0,0 +1,9778 @@ +export declare const oids: { + "0.2.262.1.10": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.6": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.7": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.0.8": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.1.9": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.2.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.3.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.2.5.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.6": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.7": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.3.8": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.1.4.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.6": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.7": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.8": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.9": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.10": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.11": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.12": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.13": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.2.14": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.3.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.6": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.6": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.7": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.8": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.9": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.10": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.11": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.12": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.13": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.14": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.15": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.16": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.17": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.18": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.19": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.20": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.21": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.22": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.23": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.24": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.25": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.26": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.27": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.28": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.29": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.30": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.31": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.32": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.33": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.34": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.35": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.36": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.37": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.38": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.39": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.40": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.41": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.51": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.7.52": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.8": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.9": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.10": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.11": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.11.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.0": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.1": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.2": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.3": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.4": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.5": { + d: string; + c: string; + w: boolean; + }; + "0.2.262.1.10.12.6": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.2.3.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.4": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.5": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.1.4.1.6": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.5.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.5.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.1.5.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.1.4": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.2.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.2.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.2.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.127.0.7.3.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862.1.2": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.4.0.1862.1.4": { + d: string; + c: string; + w: boolean; + }; + "0.9.2342.19200300.100.1.1": { + d: string; + c: string; + w: boolean; + }; + "0.9.2342.19200300.100.1.3": { + d: string; + c: string; + w: boolean; + }; + "0.9.2342.19200300.100.1.25": { + d: string; + c: string; + w: boolean; + }; + "1.0.10118.3.0.49": { + d: string; + c: string; + w: boolean; + }; + "1.0.10118.3.0.50": { + d: string; + c: string; + w: boolean; + }; + "1.0.10118.3.0.55": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.2.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.1.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.1.1.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.2.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.2.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.2.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.3.1.3.2.4.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.1.333.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.68980861.1.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.36.75878867.1.100.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.392.200011.61.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.392.200011.61.1.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.17": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.1.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.5.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.7.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200004.10.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.22": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.23": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.31": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.32": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.33": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.34": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.35": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.36": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.37": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.38": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.39": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.40": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.41": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.42": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.43": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.44": { + d: string; + c: string; + w: boolean; + }; + "1.2.410.200046.1.1.45": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.19": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.31.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.30.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.30.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.35.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.35.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.35.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.35.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.36.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.36.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.14.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.14.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.13.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.13.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.643.2.2.96": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.752.34.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10040.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.1.2.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.18": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.19": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.0.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.3.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10045.4.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10046.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10065.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10065.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.10065.2.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.65": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.65.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.66.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.67": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.67.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.68": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.68.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113533.7.68.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.5.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.7.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.15.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.0.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.17": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.18": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.19": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.22": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.23": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.24": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.25": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.26": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.27": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.28": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.29": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.30": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.31": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.32": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.33": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.1.34": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.17": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.18": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.19": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.22": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.23": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.24": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.25": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.26": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.27": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.28": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.29": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.30": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.31": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.32": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.33": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.34": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.35": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.36": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.37": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.38": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.39": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.40": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.41": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.42": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.43": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.44": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.45": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.46": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.47": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.48": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.49": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.50": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.2.51": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.3.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.6.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.8.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.9.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.9.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.9.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.9.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.16.11.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.20": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.21": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.22": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.22.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.22.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.23": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.23.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.24": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.25.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.26": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.9.27": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.5.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.12.10.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.15.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.15.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.15.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.1.15.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.2.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113549.3.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.114021.1.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.114021.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.2.241": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.0": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.17": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.22": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.23": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.3.46": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.2.281": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.145": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1327": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1328": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1329": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1330": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1331": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1332": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1333": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1334": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1335": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1429": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1430": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1431": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1432": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1433": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1434": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1435": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1436": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1437": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1438": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1439": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1674": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.1.4.1675": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.4.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113556.4.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113628.114.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.16": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.1.17": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.2.7": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.5.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.5.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.6.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.4.6.4": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.5": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.5.3": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.6": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.6.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.6.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.840.113635.100.6.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.18": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.19": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.21": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.25": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.26": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.27": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.2.1.28": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.3.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.8.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.9.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.10.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.11.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.11.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.11.28": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.11.29": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.10.12.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.13.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.13.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.13.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.13.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.16.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.17.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.17.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.17.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.20.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.19": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.21": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.21.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.25.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.31.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.47.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.47.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.60.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.61.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.60.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.60.2.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.60.2.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.311.88.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.188.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.188.7.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.188.7.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.188.7.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.188.7.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.2428.10.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.2712.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.2786.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.1.2.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.3.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.3.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.4.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.42.11172.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.54.11940.54": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3029.88.89.90.90.89": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3401.8.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7.65": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.7.97": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.3576.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.30": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.40": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.50": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.60": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.70": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.80": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.81": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.90": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.95": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5309.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5309.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5309.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5309.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5309.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5472": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5472.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5472.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5472.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5472.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5770.0.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.5770.0.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6449.1.2.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6449.1.2.2.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6449.1.3.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6449.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.8301.3.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.8301.3.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.8231.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.12.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.21": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.23": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.24": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.41": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.42": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.43": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.11591.13.2.44": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.16334.509.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.16334.509.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.16334.509.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.16334.509.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.0.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.3.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.4.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.5.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.6.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.6.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.8.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.8.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.8.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.9.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.10.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.11.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.14.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.20.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.20.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.7.48.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.8.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.8.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.8.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.5.5.8.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.12.2.1011.7.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.2.26.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.18": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.19": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.21": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.23": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.24": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.25": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.26": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.27": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.28": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.2.29": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.3.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.7.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.7.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.14.7.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.1.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.3.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.3.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.4.512.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.5.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.1.5.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.2.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.1.1024.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.2.1024.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.3.2.8.1.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.3.4.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.6.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.7.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.7.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.7.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.18": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.11.1.19": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.3.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.4.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.5.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.6.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.11": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.12": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.13": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.14": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.18": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.19": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.20": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.21": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.23": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.24": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.25": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.26": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.27": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.28": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.29": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.30": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.31": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.32": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.33": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.34": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.35": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.36": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.37": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.38": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.39": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.40": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.41": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.42": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.43": { + d: string; + c: string; + w: boolean; + }; + "1.3.36.8.7.1.45": { + d: string; + c: string; + w: boolean; + }; + "1.3.101.1.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.101.1.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.4": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.5": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.7": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.8": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.9": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.10": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.15": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.16": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.17": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.22": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.23": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.24": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.25": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.26": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.27": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.28": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.29": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.30": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.31": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.32": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.33": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.34": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.35": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.36": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.37": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.38": { + d: string; + c: string; + w: boolean; + }; + "1.3.132.0.39": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.0": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.2": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.3": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.4": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.5": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.6": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.7": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.7.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.8": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.8.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.9": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.9.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.10": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.10.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.11": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.11.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.12": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.13": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.14": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.15": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.16": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.16.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.17": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.17.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.18": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.18.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.19": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.19.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.20": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.20.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.21": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.21.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.22": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.22.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.23": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.23.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.24": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.25": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.25.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.26": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.27": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.28": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.29": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.30": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.31": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.32": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.33": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.34": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.35": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.36": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.37": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.38": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.39": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.40": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.41": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.42": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.43": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.44": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.45": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.46": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.47": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.48": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.49": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.50": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.51": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.52": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.53": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.54": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.55": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.56": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.57": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.58": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.59": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.60": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.61": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.62": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.63": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.64": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.65": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.66": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.67": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.68": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.69": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.70": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.71": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.72": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.73": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.74": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.75": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.76": { + d: string; + c: string; + w: boolean; + }; + "2.5.4.82": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.0": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.2": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.3": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.4": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.5": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.6": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.7": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.8": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.9": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.10": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.11": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.12": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.13": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.14": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.15": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.16": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.17": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.21": { + d: string; + c: string; + w: boolean; + }; + "2.5.6.22": { + d: string; + c: string; + w: boolean; + }; + "2.5.8.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.1": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.2": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.3": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.4": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.5": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.6": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.7": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.8": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.9": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.10": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.11": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.12": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.13": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.14": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.15": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.16": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.17": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.18": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.19": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.20": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.21": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.22": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.23": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.24": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.25": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.26": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.27": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.28": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.29": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.30": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.31": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.32": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.32.0": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.33": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.34": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.35": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.36": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.37": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.37.0": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.38": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.39": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.40": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.41": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.42": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.43": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.44": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.45": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.46": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.47": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.48": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.49": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.50": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.51": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.52": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.53": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.54": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.55": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.56": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.57": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.58": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.59": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.60": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.61": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.62": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.63": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.64": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.65": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.66": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.67": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.68": { + d: string; + c: string; + w: boolean; + }; + "2.5.29.69": { + d: string; + c: string; + w: boolean; + }; + "2.16.724.1.2.2.4.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.9": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.10": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.12": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.13": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.14": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.15": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.16": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.17": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.18": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.19": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.20": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.21": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.22": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.23": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.1.24": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.42": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.48": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.49": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.50": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.66": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.72": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.73": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.74": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.75": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.2.76": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.9": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.10": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.10.12": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.11.3.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.12": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13.0.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.3.13.0.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.10": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.12": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.13": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.14": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.20": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.21": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.22": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.23": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.24": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.25": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.26": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.27": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.28": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.29": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.30": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.31": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.40": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.41": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.42": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.43": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.44": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.45": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.46": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.47": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.48": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.49": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.50": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.51": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.52": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.53": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.54": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.55": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.56": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.57": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.58": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.59": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.5.60": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.7.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.7.1.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.8.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.8.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.10.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.10.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.10.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.11.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.1.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.1.0.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.1.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.1.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.2.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.2.0.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.2.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.2.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.3.0": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.3.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.3.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.0.3.0.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.2.1.12.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.3.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.3.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.3.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.1.48.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.3.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.3.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.2.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.21": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.22": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.23": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.24": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.25": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.26": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.27": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.28": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.41": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.42": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.43": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.44": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.45": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.46": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.47": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.1.48": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.2.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.2.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.101.3.4.3.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.22": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.23": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.24": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.25": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.26": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.27": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.28": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.29": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.30": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.31": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.32": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.40": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.50": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.51": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.52": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.69": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.82": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.92": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.95": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.130": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.131": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.132": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.2.8.133": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.9": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.9.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.9.4.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113719.1.9.4.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.9": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.10": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.12": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.1.13": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.2.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.1.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.1.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.1.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.3.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113730.4.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.6.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.6.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.6.11": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.6.13": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.6.15": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.7.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.7.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.7.1.1.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.7.23.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.8.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.5": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.6": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.7": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.9.8": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114412.1.3.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114412.1.3.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114412.1.3.0.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114412.1.3.0.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.0.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.0.2": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.2": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.3": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.5": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.6": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.7": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.8": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.9": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.10": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.11": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.2.12": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.3": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.3.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.3.0.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.3.0.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.5": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.5.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.6": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.2": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.3": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.5": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.7.6": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.5": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.30": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.34": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.8.6011": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.0": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.1": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.2": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.3": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.4": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.5": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.6": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.7": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.8": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.9": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.10": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.11": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.12": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.13": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.14": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.15": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.16": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.17": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.18": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.19": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.20": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.21": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.22": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.23": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.24": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.25": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.26": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.27": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.28": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.29": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.30": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.31": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.32": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.33": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.34": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.35": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.36": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.37": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.9.38": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.10": { + d: string; + c: string; + w: boolean; + }; + "2.23.42.10.392": { + d: string; + c: string; + w: boolean; + }; + "2.23.136.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.2": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.3": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.4": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.5": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.6": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.7": { + d: string; + c: string; + w: boolean; + }; + "2.54.1775.99": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6449.1.2.1.5.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.34697.2.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.34697.2.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.34697.2.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.34697.2.4": { + d: string; + c: string; + w: boolean; + }; + "2.16.578.1.26.1.3.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.22234.2.5.2.3.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.6334.1.100.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114412.2.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.528.1.1001.1.1.1.12.6.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114028.10.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.14370.1.6": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.4146.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114413.1.7.23.3": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.14777.6.1.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.14777.6.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.782.1.2.1.8.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.8024.0.2.100.1.2": { + d: string; + c: string; + w: boolean; + }; + "1.2.392.200091.100.721.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114404.1.1.2.4.1": { + d: string; + c: string; + w: boolean; + }; + "1.3.6.1.4.1.23223.1.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114414.1.7.23.3": { + d: string; + c: string; + w: boolean; + }; + "2.16.756.1.89.1.2.1.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.113733.1.7.48.1": { + d: string; + c: string; + w: boolean; + }; + "2.16.840.1.114171.500.9": { + d: string; + c: string; + w: boolean; + }; + END: string; +}; diff --git a/libs/jsencrypt/lib/lib/asn1js/oids.js b/libs/jsencrypt/lib/lib/asn1js/oids.js new file mode 100644 index 0000000..0487416 --- /dev/null +++ b/libs/jsencrypt/lib/lib/asn1js/oids.js @@ -0,0 +1,1962 @@ +// Converted from: http://www.cs.auckland.ac.nz/~pgut001/dumpasn1.cfg +// which is made by Peter Gutmann and whose license states: +// You can use this code in whatever way you want, +// as long as you don't try to claim you wrote it. +export var oids = { + "0.2.262.1.10": { "d": "Telesec", "c": "Deutsche Telekom", "w": false }, + "0.2.262.1.10.0": { "d": "extension", "c": "Telesec", "w": false }, + "0.2.262.1.10.1": { "d": "mechanism", "c": "Telesec", "w": false }, + "0.2.262.1.10.1.0": { "d": "authentication", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.0.1": { "d": "passwordAuthentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.2": { "d": "protectedPasswordAuthentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.3": { "d": "oneWayX509Authentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.4": { "d": "twoWayX509Authentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.5": { "d": "threeWayX509Authentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.6": { "d": "oneWayISO9798Authentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.7": { "d": "twoWayISO9798Authentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.0.8": { "d": "telekomAuthentication", "c": "Telesec authentication", "w": false }, + "0.2.262.1.10.1.1": { "d": "signature", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.1": { "d": "md4WithRSAAndISO9697", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.2": { "d": "md4WithRSAAndTelesecSignatureStandard", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.3": { "d": "md5WithRSAAndISO9697", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.4": { "d": "md5WithRSAAndTelesecSignatureStandard", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.5": { "d": "ripemd160WithRSAAndTelekomSignatureStandard", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.1.9": { "d": "hbciRsaSignature", "c": "Telesec signature", "w": false }, + "0.2.262.1.10.1.2": { "d": "encryption", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.2.0": { "d": "none", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.1": { "d": "rsaTelesec", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2": { "d": "des", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2.1": { "d": "desECB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2.2": { "d": "desCBC", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2.3": { "d": "desOFB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2.4": { "d": "desCFB8", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.2.5": { "d": "desCFB64", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3": { "d": "des3", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3.1": { "d": "des3ECB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3.2": { "d": "des3CBC", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3.3": { "d": "des3OFB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3.4": { "d": "des3CFB8", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.3.5": { "d": "des3CFB64", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.4": { "d": "magenta", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5": { "d": "idea", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5.1": { "d": "ideaECB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5.2": { "d": "ideaCBC", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5.3": { "d": "ideaOFB", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5.4": { "d": "ideaCFB8", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.2.5.5": { "d": "ideaCFB64", "c": "Telesec encryption", "w": false }, + "0.2.262.1.10.1.3": { "d": "oneWayFunction", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.3.1": { "d": "md4", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.2": { "d": "md5", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.3": { "d": "sqModNX509", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.4": { "d": "sqModNISO", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.5": { "d": "ripemd128", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.6": { "d": "hashUsingBlockCipher", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.7": { "d": "mac", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.3.8": { "d": "ripemd160", "c": "Telesec one-way function", "w": false }, + "0.2.262.1.10.1.4": { "d": "fecFunction", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.1.4.1": { "d": "reedSolomon", "c": "Telesec mechanism", "w": false }, + "0.2.262.1.10.2": { "d": "module", "c": "Telesec", "w": false }, + "0.2.262.1.10.2.0": { "d": "algorithms", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.1": { "d": "attributeTypes", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.2": { "d": "certificateTypes", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.3": { "d": "messageTypes", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.4": { "d": "plProtocol", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.5": { "d": "smeAndComponentsOfSme", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.6": { "d": "fec", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.7": { "d": "usefulDefinitions", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.8": { "d": "stefiles", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.9": { "d": "sadmib", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.10": { "d": "electronicOrder", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.11": { "d": "telesecTtpAsymmetricApplication", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.12": { "d": "telesecTtpBasisApplication", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.13": { "d": "telesecTtpMessages", "c": "Telesec module", "w": false }, + "0.2.262.1.10.2.14": { "d": "telesecTtpTimeStampApplication", "c": "Telesec module", "w": false }, + "0.2.262.1.10.3": { "d": "objectClass", "c": "Telesec", "w": false }, + "0.2.262.1.10.3.0": { "d": "telesecOtherName", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.3.1": { "d": "directory", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.3.2": { "d": "directoryType", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.3.3": { "d": "directoryGroup", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.3.4": { "d": "directoryUser", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.3.5": { "d": "symmetricKeyEntry", "c": "Telesec object class", "w": false }, + "0.2.262.1.10.4": { "d": "package", "c": "Telesec", "w": false }, + "0.2.262.1.10.5": { "d": "parameter", "c": "Telesec", "w": false }, + "0.2.262.1.10.6": { "d": "nameBinding", "c": "Telesec", "w": false }, + "0.2.262.1.10.7": { "d": "attribute", "c": "Telesec", "w": false }, + "0.2.262.1.10.7.0": { "d": "applicationGroupIdentifier", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.1": { "d": "certificateType", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.2": { "d": "telesecCertificate", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.3": { "d": "certificateNumber", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.4": { "d": "certificateRevocationList", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.5": { "d": "creationDate", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.6": { "d": "issuer", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.7": { "d": "namingAuthority", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.8": { "d": "publicKeyDirectory", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.9": { "d": "securityDomain", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.10": { "d": "subject", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.11": { "d": "timeOfRevocation", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.12": { "d": "userGroupReference", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.13": { "d": "validity", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.14": { "d": "zert93", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.15": { "d": "securityMessEnv", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.16": { "d": "anonymizedPublicKeyDirectory", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.17": { "d": "telesecGivenName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.18": { "d": "nameAdditions", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.19": { "d": "telesecPostalCode", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.20": { "d": "nameDistinguisher", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.21": { "d": "telesecCertificateList", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.22": { "d": "teletrustCertificateList", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.23": { "d": "x509CertificateList", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.24": { "d": "timeOfIssue", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.25": { "d": "physicalCardNumber", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.26": { "d": "fileType", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.27": { "d": "ctlFileIsArchive", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.28": { "d": "emailAddress", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.29": { "d": "certificateTemplateList", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.30": { "d": "directoryName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.31": { "d": "directoryTypeName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.32": { "d": "directoryGroupName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.33": { "d": "directoryUserName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.34": { "d": "revocationFlag", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.35": { "d": "symmetricKeyEntryName", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.36": { "d": "glNumber", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.37": { "d": "goNumber", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.38": { "d": "gKeyData", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.39": { "d": "zKeyData", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.40": { "d": "ktKeyData", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.41": { "d": "ktKeyNumber", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.51": { "d": "timeOfRevocationGen", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.7.52": { "d": "liabilityText", "c": "Telesec attribute", "w": false }, + "0.2.262.1.10.8": { "d": "attributeGroup", "c": "Telesec", "w": false }, + "0.2.262.1.10.9": { "d": "action", "c": "Telesec", "w": false }, + "0.2.262.1.10.10": { "d": "notification", "c": "Telesec", "w": false }, + "0.2.262.1.10.11": { "d": "snmp-mibs", "c": "Telesec", "w": false }, + "0.2.262.1.10.11.1": { "d": "securityApplication", "c": "Telesec SNMP MIBs", "w": false }, + "0.2.262.1.10.12": { "d": "certAndCrlExtensionDefinitions", "c": "Telesec", "w": false }, + "0.2.262.1.10.12.0": { "d": "liabilityLimitationFlag", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.1": { "d": "telesecCertIdExt", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.2": { "d": "Telesec policyIdentifier", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.3": { "d": "telesecPolicyQualifierID", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.4": { "d": "telesecCRLFilteredExt", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.5": { "d": "telesecCRLFilterExt", "c": "Telesec cert/CRL extension", "w": false }, + "0.2.262.1.10.12.6": { "d": "telesecNamingAuthorityExt", "c": "Telesec cert/CRL extension", "w": false }, + "0.4.0.127.0.7": { "d": "bsi", "c": "BSI TR-03110/TR-03111", "w": false }, + "0.4.0.127.0.7.1": { "d": "bsiEcc", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1": { "d": "bsifieldType", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.1": { "d": "bsiPrimeField", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.2": { "d": "bsiCharacteristicTwoField", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.2.3": { "d": "bsiCharacteristicTwoBasis", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.2.3.1": { "d": "bsiGnBasis", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.2.3.2": { "d": "bsiTpBasis", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.2.3.3": { "d": "bsiPpBasis", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1": { "d": "bsiEcdsaSignatures", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.1": { "d": "bsiEcdsaWithSHA1", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.2": { "d": "bsiEcdsaWithSHA224", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.3": { "d": "bsiEcdsaWithSHA256", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.4": { "d": "bsiEcdsaWithSHA384", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.5": { "d": "bsiEcdsaWithSHA512", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.1.4.1.6": { "d": "bsiEcdsaWithRIPEMD160", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.2": { "d": "bsiEcKeyType", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.2.1": { "d": "bsiEcPublicKey", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.5.1": { "d": "bsiKaeg", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.5.1.1": { "d": "bsiKaegWithX963KDF", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.1.5.1.2": { "d": "bsiKaegWith3DESKDF", "c": "BSI TR-03111", "w": false }, + "0.4.0.127.0.7.2.2.1": { "d": "bsiPK", "c": "BSI TR-03110. Formerly known as bsiCA, now moved to ...2.2.3.x", "w": false }, + "0.4.0.127.0.7.2.2.1.1": { "d": "bsiPK_DH", "c": "BSI TR-03110. Formerly known as bsiCA_DH, now moved to ...2.2.3.x", "w": false }, + "0.4.0.127.0.7.2.2.1.2": { "d": "bsiPK_ECDH", "c": "BSI TR-03110. Formerly known as bsiCA_ECDH, now moved to ...2.2.3.x", "w": false }, + "0.4.0.127.0.7.2.2.2": { "d": "bsiTA", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.1": { "d": "bsiTA_RSA", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.1.1": { "d": "bsiTA_RSAv1_5_SHA1", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.1.2": { "d": "bsiTA_RSAv1_5_SHA256", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.1.3": { "d": "bsiTA_RSAPSS_SHA1", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.1.4": { "d": "bsiTA_RSAPSS_SHA256", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.2": { "d": "bsiTA_ECDSA", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.2.1": { "d": "bsiTA_ECDSA_SHA1", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.2.2": { "d": "bsiTA_ECDSA_SHA224", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.2.2.3": { "d": "bsiTA_ECDSA_SHA256", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.3": { "d": "bsiCA", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.3.1": { "d": "bsiCA_DH", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.2.2.3.2": { "d": "bsiCA_ECDH", "c": "BSI TR-03110", "w": false }, + "0.4.0.127.0.7.3.1.2.1": { "d": "bsiRoleEAC", "c": "BSI TR-03110", "w": false }, + "0.4.0.1862": { "d": "etsiQcsProfile", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.4.0.1862.1": { "d": "etsiQcs", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.4.0.1862.1.1": { "d": "etsiQcsCompliance", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.4.0.1862.1.2": { "d": "etsiQcsLimitValue", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.4.0.1862.1.3": { "d": "etsiQcsRetentionPeriod", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.4.0.1862.1.4": { "d": "etsiQcsQcSSCD", "c": "ETSI TS 101 862 qualified certificates", "w": false }, + "0.9.2342.19200300.100.1.1": { "d": "userID", "c": "Some oddball X.500 attribute collection", "w": false }, + "0.9.2342.19200300.100.1.3": { "d": "rfc822Mailbox", "c": "Some oddball X.500 attribute collection", "w": false }, + "0.9.2342.19200300.100.1.25": { "d": "domainComponent", "c": "Men are from Mars, this OID is from Pluto", "w": false }, + "1.0.10118.3.0.49": { "d": "ripemd160", "c": "ISO 10118-3 hash function", "w": false }, + "1.0.10118.3.0.50": { "d": "ripemd128", "c": "ISO 10118-3 hash function", "w": false }, + "1.0.10118.3.0.55": { "d": "whirlpool", "c": "ISO 10118-3 hash function", "w": false }, + "1.2.36.1.3.1.1.1": { "d": "qgpki", "c": "Queensland Government PKI", "w": false }, + "1.2.36.1.3.1.1.1.1": { "d": "qgpkiPolicies", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.1.1.1.1": { "d": "qgpkiMedIntermedCA", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.1.1": { "d": "qgpkiMedIntermedIndividual", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.1.2": { "d": "qgpkiMedIntermedDeviceControl", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.1.3": { "d": "qgpkiMedIntermedDevice", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.1.4": { "d": "qgpkiMedIntermedAuthorisedParty", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.1.5": { "d": "qgpkiMedIntermedDeviceSystem", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2": { "d": "qgpkiMedIssuingCA", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.1": { "d": "qgpkiMedIssuingIndividual", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.2": { "d": "qgpkiMedIssuingDeviceControl", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.3": { "d": "qgpkiMedIssuingDevice", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.4": { "d": "qgpkiMedIssuingAuthorisedParty", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.5": { "d": "qgpkiMedIssuingClientAuth", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.6": { "d": "qgpkiMedIssuingServerAuth", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.7": { "d": "qgpkiMedIssuingDataProt", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.2.8": { "d": "qgpkiMedIssuingTokenAuth", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.3": { "d": "qgpkiBasicIntermedCA", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.3.1": { "d": "qgpkiBasicIntermedDeviceSystem", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.4": { "d": "qgpkiBasicIssuingCA", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.4.1": { "d": "qgpkiBasicIssuingClientAuth", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.4.2": { "d": "qgpkiBasicIssuingServerAuth", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.1.4.3": { "d": "qgpkiBasicIssuingDataSigning", "c": "QGPKI policy", "w": false }, + "1.2.36.1.3.1.1.1.2": { "d": "qgpkiAssuranceLevel", "c": "QGPKI assurance level", "w": false }, + "1.2.36.1.3.1.1.1.2.1": { "d": "qgpkiAssuranceRudimentary", "c": "QGPKI assurance level", "w": false }, + "1.2.36.1.3.1.1.1.2.2": { "d": "qgpkiAssuranceBasic", "c": "QGPKI assurance level", "w": false }, + "1.2.36.1.3.1.1.1.2.3": { "d": "qgpkiAssuranceMedium", "c": "QGPKI assurance level", "w": false }, + "1.2.36.1.3.1.1.1.2.4": { "d": "qgpkiAssuranceHigh", "c": "QGPKI assurance level", "w": false }, + "1.2.36.1.3.1.1.1.3": { "d": "qgpkiCertFunction", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.1.1.3.1": { "d": "qgpkiFunctionIndividual", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.1.1.3.2": { "d": "qgpkiFunctionDevice", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.1.1.3.3": { "d": "qgpkiFunctionAuthorisedParty", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.1.1.3.4": { "d": "qgpkiFunctionDeviceControl", "c": "QGPKI policies", "w": false }, + "1.2.36.1.3.1.2": { "d": "qpspki", "c": "Queensland Police PKI", "w": false }, + "1.2.36.1.3.1.2.1": { "d": "qpspkiPolicies", "c": "Queensland Police PKI", "w": false }, + "1.2.36.1.3.1.2.1.2": { "d": "qpspkiPolicyBasic", "c": "Queensland Police PKI", "w": false }, + "1.2.36.1.3.1.2.1.3": { "d": "qpspkiPolicyMedium", "c": "Queensland Police PKI", "w": false }, + "1.2.36.1.3.1.2.1.4": { "d": "qpspkiPolicyHigh", "c": "Queensland Police PKI", "w": false }, + "1.2.36.1.3.1.3.2": { "d": "qtmrpki", "c": "Queensland Transport PKI", "w": false }, + "1.2.36.1.3.1.3.2.1": { "d": "qtmrpkiPolicies", "c": "Queensland Transport PKI", "w": false }, + "1.2.36.1.3.1.3.2.2": { "d": "qtmrpkiPurpose", "c": "Queensland Transport PKI", "w": false }, + "1.2.36.1.3.1.3.2.2.1": { "d": "qtmrpkiIndividual", "c": "Queensland Transport PKI purpose", "w": false }, + "1.2.36.1.3.1.3.2.2.2": { "d": "qtmrpkiDeviceControl", "c": "Queensland Transport PKI purpose", "w": false }, + "1.2.36.1.3.1.3.2.2.3": { "d": "qtmrpkiDevice", "c": "Queensland Transport PKI purpose", "w": false }, + "1.2.36.1.3.1.3.2.2.4": { "d": "qtmrpkiAuthorisedParty", "c": "Queensland Transport PKI purpose", "w": false }, + "1.2.36.1.3.1.3.2.2.5": { "d": "qtmrpkiDeviceSystem", "c": "Queensland Transport PKI purpose", "w": false }, + "1.2.36.1.3.1.3.2.3": { "d": "qtmrpkiDevice", "c": "Queensland Transport PKI", "w": false }, + "1.2.36.1.3.1.3.2.3.1": { "d": "qtmrpkiDriverLicense", "c": "Queensland Transport PKI device", "w": false }, + "1.2.36.1.3.1.3.2.3.2": { "d": "qtmrpkiIndustryAuthority", "c": "Queensland Transport PKI device", "w": false }, + "1.2.36.1.3.1.3.2.3.3": { "d": "qtmrpkiMarineLicense", "c": "Queensland Transport PKI device", "w": false }, + "1.2.36.1.3.1.3.2.3.4": { "d": "qtmrpkiAdultProofOfAge", "c": "Queensland Transport PKI device", "w": false }, + "1.2.36.1.3.1.3.2.3.5": { "d": "qtmrpkiSam", "c": "Queensland Transport PKI device", "w": false }, + "1.2.36.1.3.1.3.2.4": { "d": "qtmrpkiAuthorisedParty", "c": "Queensland Transport PKI", "w": false }, + "1.2.36.1.3.1.3.2.4.1": { "d": "qtmrpkiTransportInspector", "c": "Queensland Transport PKI authorised party", "w": false }, + "1.2.36.1.3.1.3.2.4.2": { "d": "qtmrpkiPoliceOfficer", "c": "Queensland Transport PKI authorised party", "w": false }, + "1.2.36.1.3.1.3.2.4.3": { "d": "qtmrpkiSystem", "c": "Queensland Transport PKI authorised party", "w": false }, + "1.2.36.1.3.1.3.2.4.4": { "d": "qtmrpkiLiquorLicensingInspector", "c": "Queensland Transport PKI authorised party", "w": false }, + "1.2.36.1.3.1.3.2.4.5": { "d": "qtmrpkiMarineEnforcementOfficer", "c": "Queensland Transport PKI authorised party", "w": false }, + "1.2.36.1.333.1": { "d": "australianBusinessNumber", "c": "Australian Government corporate taxpayer ID", "w": false }, + "1.2.36.68980861.1.1.2": { "d": "signetPersonal", "c": "Signet CA", "w": false }, + "1.2.36.68980861.1.1.3": { "d": "signetBusiness", "c": "Signet CA", "w": false }, + "1.2.36.68980861.1.1.4": { "d": "signetLegal", "c": "Signet CA", "w": false }, + "1.2.36.68980861.1.1.10": { "d": "signetPilot", "c": "Signet CA", "w": false }, + "1.2.36.68980861.1.1.11": { "d": "signetIntraNet", "c": "Signet CA", "w": false }, + "1.2.36.68980861.1.1.20": { "d": "signetPolicy", "c": "Signet CA", "w": false }, + "1.2.36.75878867.1.100.1.1": { "d": "certificatesAustraliaPolicy", "c": "Certificates Australia CA", "w": false }, + "1.2.392.200011.61.1.1.1": { "d": "mitsubishiSecurityAlgorithm", "c": "Mitsubishi security algorithm", "w": false }, + "1.2.392.200011.61.1.1.1.1": { "d": "misty1-cbc", "c": "Mitsubishi security algorithm", "w": false }, + "1.2.410.200004.1": { "d": "kisaAlgorithm", "c": "KISA algorithm", "w": false }, + "1.2.410.200004.1.1": { "d": "kcdsa", "c": "Korean DSA", "w": false }, + "1.2.410.200004.1.2": { "d": "has160", "c": "Korean hash algorithm", "w": false }, + "1.2.410.200004.1.3": { "d": "seedECB", "c": "Korean SEED algorithm, ECB mode", "w": false }, + "1.2.410.200004.1.4": { "d": "seedCBC", "c": "Korean SEED algorithm, CBC mode", "w": false }, + "1.2.410.200004.1.5": { "d": "seedOFB", "c": "Korean SEED algorithm, OFB mode", "w": false }, + "1.2.410.200004.1.6": { "d": "seedCFB", "c": "Korean SEED algorithm, CFB mode", "w": false }, + "1.2.410.200004.1.7": { "d": "seedMAC", "c": "Korean SEED algorithm, MAC mode", "w": false }, + "1.2.410.200004.1.8": { "d": "kcdsaWithHAS160", "c": "Korean signature algorithm", "w": false }, + "1.2.410.200004.1.9": { "d": "kcdsaWithSHA1", "c": "Korean signature algorithm", "w": false }, + "1.2.410.200004.1.10": { "d": "pbeWithHAS160AndSEED-ECB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.11": { "d": "pbeWithHAS160AndSEED-CBC", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.12": { "d": "pbeWithHAS160AndSEED-CFB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.13": { "d": "pbeWithHAS160AndSEED-OFB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.14": { "d": "pbeWithSHA1AndSEED-ECB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.15": { "d": "pbeWithSHA1AndSEED-CBC", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.16": { "d": "pbeWithSHA1AndSEED-CFB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.17": { "d": "pbeWithSHA1AndSEED-OFB", "c": "Korean SEED algorithm, PBE key derivation", "w": false }, + "1.2.410.200004.1.20": { "d": "rsaWithHAS160", "c": "Korean signature algorithm", "w": false }, + "1.2.410.200004.1.21": { "d": "kcdsa1", "c": "Korean DSA", "w": false }, + "1.2.410.200004.2": { "d": "npkiCP", "c": "KISA NPKI certificate policies", "w": false }, + "1.2.410.200004.2.1": { "d": "npkiSignaturePolicy", "c": "KISA NPKI certificate policies", "w": false }, + "1.2.410.200004.3": { "d": "npkiKP", "c": "KISA NPKI key usage", "w": false }, + "1.2.410.200004.4": { "d": "npkiAT", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.5": { "d": "npkiLCA", "c": "KISA NPKI licensed CA", "w": false }, + "1.2.410.200004.5.1": { "d": "npkiSignKorea", "c": "KISA NPKI licensed CA", "w": false }, + "1.2.410.200004.5.2": { "d": "npkiSignGate", "c": "KISA NPKI licensed CA", "w": false }, + "1.2.410.200004.5.3": { "d": "npkiNcaSign", "c": "KISA NPKI licensed CA", "w": false }, + "1.2.410.200004.6": { "d": "npkiON", "c": "KISA NPKI otherName", "w": false }, + "1.2.410.200004.7": { "d": "npkiAPP", "c": "KISA NPKI application", "w": false }, + "1.2.410.200004.7.1": { "d": "npkiSMIME", "c": "KISA NPKI application", "w": false }, + "1.2.410.200004.7.1.1": { "d": "npkiSMIMEAlgo", "c": "KISA NPKI application", "w": false }, + "1.2.410.200004.7.1.1.1": { "d": "npkiCmsSEEDWrap", "c": "KISA NPKI application", "w": false }, + "1.2.410.200004.10": { "d": "npki", "c": "KISA NPKI", "w": false }, + "1.2.410.200004.10.1": { "d": "npkiAttribute", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.10.1.1": { "d": "npkiIdentifyData", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.10.1.1.1": { "d": "npkiVID", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.10.1.1.2": { "d": "npkiEncryptedVID", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.10.1.1.3": { "d": "npkiRandomNum", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200004.10.1.1.4": { "d": "npkiVID", "c": "KISA NPKI attribute", "w": false }, + "1.2.410.200046.1.1": { "d": "aria1AlgorithmModes", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.1": { "d": "aria128-ecb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.2": { "d": "aria128-cbc", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.3": { "d": "aria128-cfb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.4": { "d": "aria128-ofb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.5": { "d": "aria128-ctr", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.6": { "d": "aria192-ecb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.7": { "d": "aria192-cbc", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.8": { "d": "aria192-cfb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.9": { "d": "aria192-ofb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.10": { "d": "aria192-ctr", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.11": { "d": "aria256-ecb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.12": { "d": "aria256-cbc", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.13": { "d": "aria256-cfb", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.21": { "d": "aria128-cmac", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.22": { "d": "aria192-cmac", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.23": { "d": "aria256-cmac", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.31": { "d": "aria128-ocb2", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.32": { "d": "aria192-ocb2", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.33": { "d": "aria256-ocb2", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.34": { "d": "aria128-gcm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.35": { "d": "aria192-gcm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.36": { "d": "aria256-gcm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.37": { "d": "aria128-ccm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.38": { "d": "aria192-ccm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.39": { "d": "aria256-ccm", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.40": { "d": "aria128-keywrap", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.41": { "d": "aria192-keywrap", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.42": { "d": "aria256-keywrap", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.43": { "d": "aria128-keywrapWithPad", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.44": { "d": "aria192-keywrapWithPad", "c": "ARIA algorithm modes", "w": false }, + "1.2.410.200046.1.1.45": { "d": "aria256-keywrapWithPad", "c": "ARIA algorithm modes", "w": false }, + "1.2.643.2.2.3": { "d": "gostSignature", "c": "GOST R 34.10-2001 + GOST R 34.11-94 signature", "w": false }, + "1.2.643.2.2.4": { "d": "gost94Signature", "c": "GOST R 34.10-94 + GOST R 34.11-94 signature. Obsoleted by GOST R 34.10-2001", "w": true }, + "1.2.643.2.2.19": { "d": "gostPublicKey", "c": "GOST R 34.10-2001 (ECC) public key", "w": false }, + "1.2.643.2.2.20": { "d": "gost94PublicKey", "c": "GOST R 34.10-94 public key. Obsoleted by GOST R 34.10-2001", "w": true }, + "1.2.643.2.2.21": { "d": "gostCipher", "c": "GOST 28147-89 (symmetric key block cipher)", "w": false }, + "1.2.643.2.2.31.0": { "d": "testCipherParams", "c": "Test params for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.1": { "d": "cryptoProCipherA", "c": "CryptoPro params A for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.2": { "d": "cryptoProCipherB", "c": "CryptoPro params B for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.3": { "d": "cryptoProCipherC", "c": "CryptoPro params C for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.4": { "d": "cryptoProCipherD", "c": "CryptoPro params D for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.5": { "d": "oscar11Cipher", "c": "Oscar-1.1 params for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.6": { "d": "oscar10Cipher", "c": "Oscar-1.0 params for GOST 28147-89", "w": false }, + "1.2.643.2.2.31.7": { "d": "ric1Cipher", "c": "RIC-1 params for GOST 28147-89", "w": false }, + "1.2.643.2.2.9": { "d": "gostDigest", "c": "GOST R 34.11-94 digest", "w": false }, + "1.2.643.2.2.30.0": { "d": "testDigestParams", "c": "Test params for GOST R 34.11-94", "w": false }, + "1.2.643.2.2.30.1": { "d": "cryptoProDigestA", "c": "CryptoPro digest params for GOST R 34.11-94", "w": false }, + "1.2.643.2.2.35.0": { "d": "testSignParams", "c": "Test elliptic curve for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.35.1": { "d": "cryptoProSignA", "c": "CryptoPro ell.curve A for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.35.2": { "d": "cryptoProSignB", "c": "CryptoPro ell.curve B for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.35.3": { "d": "cryptoProSignC", "c": "CryptoPro ell.curve C for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.36.0": { "d": "cryptoProSignXA", "c": "CryptoPro ell.curve XA for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.36.1": { "d": "cryptoProSignXB", "c": "CryptoPro ell.curve XB for GOST R 34.11-2001", "w": false }, + "1.2.643.2.2.14.0": { "d": "nullMeshing", "c": "Do not mesh state of GOST 28147-89 cipher", "w": false }, + "1.2.643.2.2.14.1": { "d": "cryptoProMeshing", "c": "CryptoPro meshing of state of GOST 28147-89 cipher", "w": false }, + "1.2.643.2.2.10": { "d": "hmacGost", "c": "HMAC with GOST R 34.11-94", "w": false }, + "1.2.643.2.2.13.0": { "d": "gostWrap", "c": "Wrap key using GOST 28147-89 key", "w": false }, + "1.2.643.2.2.13.1": { "d": "cryptoProWrap", "c": "Wrap key using diversified GOST 28147-89 key", "w": false }, + "1.2.643.2.2.96": { "d": "cryptoProECDHWrap", "c": "Wrap key using ECC DH on GOST R 34.10-2001 keys (VKO)", "w": false }, + "1.2.752.34.1": { "d": "seis-cp", "c": "SEIS Project", "w": false }, + "1.2.752.34.1.1": { "d": "SEIS high-assurance policyIdentifier", "c": "SEIS Project certificate policies", "w": false }, + "1.2.752.34.1.2": { "d": "SEIS GAK policyIdentifier", "c": "SEIS Project certificate policies", "w": false }, + "1.2.752.34.2": { "d": "SEIS pe", "c": "SEIS Project", "w": false }, + "1.2.752.34.3": { "d": "SEIS at", "c": "SEIS Project", "w": false }, + "1.2.752.34.3.1": { "d": "SEIS at-personalIdentifier", "c": "SEIS Project attribute", "w": false }, + "1.2.840.10040.1": { "d": "module", "c": "ANSI X9.57", "w": false }, + "1.2.840.10040.1.1": { "d": "x9f1-cert-mgmt", "c": "ANSI X9.57 module", "w": false }, + "1.2.840.10040.2": { "d": "holdinstruction", "c": "ANSI X9.57", "w": false }, + "1.2.840.10040.2.1": { "d": "holdinstruction-none", "c": "ANSI X9.57 hold instruction", "w": false }, + "1.2.840.10040.2.2": { "d": "callissuer", "c": "ANSI X9.57 hold instruction", "w": false }, + "1.2.840.10040.2.3": { "d": "reject", "c": "ANSI X9.57 hold instruction", "w": false }, + "1.2.840.10040.2.4": { "d": "pickupToken", "c": "ANSI X9.57 hold instruction", "w": false }, + "1.2.840.10040.3": { "d": "attribute", "c": "ANSI X9.57", "w": false }, + "1.2.840.10040.3.1": { "d": "countersignature", "c": "ANSI X9.57 attribute", "w": false }, + "1.2.840.10040.3.2": { "d": "attribute-cert", "c": "ANSI X9.57 attribute", "w": false }, + "1.2.840.10040.4": { "d": "algorithm", "c": "ANSI X9.57", "w": false }, + "1.2.840.10040.4.1": { "d": "dsa", "c": "ANSI X9.57 algorithm", "w": false }, + "1.2.840.10040.4.2": { "d": "dsa-match", "c": "ANSI X9.57 algorithm", "w": false }, + "1.2.840.10040.4.3": { "d": "dsaWithSha1", "c": "ANSI X9.57 algorithm", "w": false }, + "1.2.840.10045.1": { "d": "fieldType", "c": "ANSI X9.62. This OID is also assigned as ecdsa-with-SHA1", "w": false }, + "1.2.840.10045.1.1": { "d": "prime-field", "c": "ANSI X9.62 field type", "w": false }, + "1.2.840.10045.1.2": { "d": "characteristic-two-field", "c": "ANSI X9.62 field type", "w": false }, + "1.2.840.10045.1.2.3": { "d": "characteristic-two-basis", "c": "ANSI X9.62 field type", "w": false }, + "1.2.840.10045.1.2.3.1": { "d": "onBasis", "c": "ANSI X9.62 field basis", "w": false }, + "1.2.840.10045.1.2.3.2": { "d": "tpBasis", "c": "ANSI X9.62 field basis", "w": false }, + "1.2.840.10045.1.2.3.3": { "d": "ppBasis", "c": "ANSI X9.62 field basis", "w": false }, + "1.2.840.10045.2": { "d": "publicKeyType", "c": "ANSI X9.62", "w": false }, + "1.2.840.10045.2.1": { "d": "ecPublicKey", "c": "ANSI X9.62 public key type", "w": false }, + "1.2.840.10045.3.0.1": { "d": "c2pnb163v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.2": { "d": "c2pnb163v2", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.3": { "d": "c2pnb163v3", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.5": { "d": "c2tnb191v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.6": { "d": "c2tnb191v2", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.7": { "d": "c2tnb191v3", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.10": { "d": "c2pnb208w1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.11": { "d": "c2tnb239v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.12": { "d": "c2tnb239v2", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.13": { "d": "c2tnb239v3", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.16": { "d": "c2pnb272w1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.18": { "d": "c2tnb359v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.19": { "d": "c2pnb368w1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.0.20": { "d": "c2tnb431r1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.1": { "d": "prime192v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.2": { "d": "prime192v2", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.3": { "d": "prime192v3", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.4": { "d": "prime239v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.5": { "d": "prime239v2", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.6": { "d": "prime239v3", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.3.1.7": { "d": "prime256v1", "c": "ANSI X9.62 named elliptic curve", "w": false }, + "1.2.840.10045.4.1": { "d": "ecdsaWithSHA1", "c": "ANSI X9.62 ECDSA algorithm with SHA1", "w": false }, + "1.2.840.10045.4.2": { "d": "ecdsaWithRecommended", "c": "ANSI X9.62 ECDSA algorithm with Recommended", "w": false }, + "1.2.840.10045.4.3": { "d": "ecdsaWithSpecified", "c": "ANSI X9.62 ECDSA algorithm with Specified", "w": false }, + "1.2.840.10045.4.3.1": { "d": "ecdsaWithSHA224", "c": "ANSI X9.62 ECDSA algorithm with SHA224", "w": false }, + "1.2.840.10045.4.3.2": { "d": "ecdsaWithSHA256", "c": "ANSI X9.62 ECDSA algorithm with SHA256", "w": false }, + "1.2.840.10045.4.3.3": { "d": "ecdsaWithSHA384", "c": "ANSI X9.62 ECDSA algorithm with SHA384", "w": false }, + "1.2.840.10045.4.3.4": { "d": "ecdsaWithSHA512", "c": "ANSI X9.62 ECDSA algorithm with SHA512", "w": false }, + "1.2.840.10046.1": { "d": "fieldType", "c": "ANSI X9.42", "w": false }, + "1.2.840.10046.1.1": { "d": "gf-prime", "c": "ANSI X9.42 field type", "w": false }, + "1.2.840.10046.2": { "d": "numberType", "c": "ANSI X9.42", "w": false }, + "1.2.840.10046.2.1": { "d": "dhPublicKey", "c": "ANSI X9.42 number type", "w": false }, + "1.2.840.10046.3": { "d": "scheme", "c": "ANSI X9.42", "w": false }, + "1.2.840.10046.3.1": { "d": "dhStatic", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10046.3.2": { "d": "dhEphem", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10046.3.3": { "d": "dhHybrid1", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10046.3.4": { "d": "dhHybrid2", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10046.3.5": { "d": "mqv2", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10046.3.6": { "d": "mqv1", "c": "ANSI X9.42 scheme", "w": false }, + "1.2.840.10065.2.2": { "d": "?", "c": "ASTM 31.20", "w": false }, + "1.2.840.10065.2.3": { "d": "healthcareLicense", "c": "ASTM 31.20", "w": false }, + "1.2.840.10065.2.3.1.1": { "d": "license?", "c": "ASTM 31.20 healthcare license type", "w": false }, + "1.2.840.113533.7": { "d": "nsn", "c": "", "w": false }, + "1.2.840.113533.7.65": { "d": "nsn-ce", "c": "", "w": false }, + "1.2.840.113533.7.65.0": { "d": "entrustVersInfo", "c": "Nortel Secure Networks ce", "w": false }, + "1.2.840.113533.7.66": { "d": "nsn-alg", "c": "", "w": false }, + "1.2.840.113533.7.66.3": { "d": "cast3CBC", "c": "Nortel Secure Networks alg", "w": false }, + "1.2.840.113533.7.66.10": { "d": "cast5CBC", "c": "Nortel Secure Networks alg", "w": false }, + "1.2.840.113533.7.66.11": { "d": "cast5MAC", "c": "Nortel Secure Networks alg", "w": false }, + "1.2.840.113533.7.66.12": { "d": "pbeWithMD5AndCAST5-CBC", "c": "Nortel Secure Networks alg", "w": false }, + "1.2.840.113533.7.66.13": { "d": "passwordBasedMac", "c": "Nortel Secure Networks alg", "w": false }, + "1.2.840.113533.7.67": { "d": "nsn-oc", "c": "", "w": false }, + "1.2.840.113533.7.67.0": { "d": "entrustUser", "c": "Nortel Secure Networks oc", "w": false }, + "1.2.840.113533.7.68": { "d": "nsn-at", "c": "", "w": false }, + "1.2.840.113533.7.68.0": { "d": "entrustCAInfo", "c": "Nortel Secure Networks at", "w": false }, + "1.2.840.113533.7.68.10": { "d": "attributeCertificate", "c": "Nortel Secure Networks at", "w": false }, + "1.2.840.113549.1.1": { "d": "pkcs-1", "c": "", "w": false }, + "1.2.840.113549.1.1.1": { "d": "rsaEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.2": { "d": "md2WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.3": { "d": "md4WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.4": { "d": "md5WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.5": { "d": "sha1WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.7": { "d": "rsaOAEP", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.8": { "d": "pkcs1-MGF", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.9": { "d": "rsaOAEP-pSpecified", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.10": { "d": "rsaPSS", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.11": { "d": "sha256WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.12": { "d": "sha384WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.13": { "d": "sha512WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.14": { "d": "sha224WithRSAEncryption", "c": "PKCS #1", "w": false }, + "1.2.840.113549.1.1.6": { "d": "rsaOAEPEncryptionSET", "c": "PKCS #1. This OID may also be assigned as ripemd160WithRSAEncryption", "w": false }, + "1.2.840.113549.1.2": { "d": "bsafeRsaEncr", "c": "Obsolete BSAFE OID", "w": true }, + "1.2.840.113549.1.3": { "d": "pkcs-3", "c": "", "w": false }, + "1.2.840.113549.1.3.1": { "d": "dhKeyAgreement", "c": "PKCS #3", "w": false }, + "1.2.840.113549.1.5": { "d": "pkcs-5", "c": "", "w": false }, + "1.2.840.113549.1.5.1": { "d": "pbeWithMD2AndDES-CBC", "c": "PKCS #5", "w": false }, + "1.2.840.113549.1.5.3": { "d": "pbeWithMD5AndDES-CBC", "c": "PKCS #5", "w": false }, + "1.2.840.113549.1.5.4": { "d": "pbeWithMD2AndRC2-CBC", "c": "PKCS #5", "w": false }, + "1.2.840.113549.1.5.6": { "d": "pbeWithMD5AndRC2-CBC", "c": "PKCS #5", "w": false }, + "1.2.840.113549.1.5.9": { "d": "pbeWithMD5AndXOR", "c": "PKCS #5, used in BSAFE only", "w": true }, + "1.2.840.113549.1.5.10": { "d": "pbeWithSHAAndDES-CBC", "c": "PKCS #5", "w": false }, + "1.2.840.113549.1.5.12": { "d": "pkcs5PBKDF2", "c": "PKCS #5 v2.0", "w": false }, + "1.2.840.113549.1.5.13": { "d": "pkcs5PBES2", "c": "PKCS #5 v2.0", "w": false }, + "1.2.840.113549.1.5.14": { "d": "pkcs5PBMAC1", "c": "PKCS #5 v2.0", "w": false }, + "1.2.840.113549.1.7": { "d": "pkcs-7", "c": "", "w": false }, + "1.2.840.113549.1.7.1": { "d": "data", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.2": { "d": "signedData", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.3": { "d": "envelopedData", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.4": { "d": "signedAndEnvelopedData", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.5": { "d": "digestedData", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.6": { "d": "encryptedData", "c": "PKCS #7", "w": false }, + "1.2.840.113549.1.7.7": { "d": "dataWithAttributes", "c": "PKCS #7 experimental", "w": true }, + "1.2.840.113549.1.7.8": { "d": "encryptedPrivateKeyInfo", "c": "PKCS #7 experimental", "w": true }, + "1.2.840.113549.1.9": { "d": "pkcs-9", "c": "", "w": false }, + "1.2.840.113549.1.9.1": { "d": "emailAddress", "c": "PKCS #9. Deprecated, use an altName extension instead", "w": false }, + "1.2.840.113549.1.9.2": { "d": "unstructuredName", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.3": { "d": "contentType", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.4": { "d": "messageDigest", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.5": { "d": "signingTime", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.6": { "d": "countersignature", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.7": { "d": "challengePassword", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.8": { "d": "unstructuredAddress", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.9": { "d": "extendedCertificateAttributes", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.10": { "d": "issuerAndSerialNumber", "c": "PKCS #9 experimental", "w": true }, + "1.2.840.113549.1.9.11": { "d": "passwordCheck", "c": "PKCS #9 experimental", "w": true }, + "1.2.840.113549.1.9.12": { "d": "publicKey", "c": "PKCS #9 experimental", "w": true }, + "1.2.840.113549.1.9.13": { "d": "signingDescription", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.14": { "d": "extensionRequest", "c": "PKCS #9 via CRMF", "w": false }, + "1.2.840.113549.1.9.15": { "d": "sMIMECapabilities", "c": "PKCS #9. This OID was formerly assigned as symmetricCapabilities, then reassigned as SMIMECapabilities, then renamed to the current name", "w": false }, + "1.2.840.113549.1.9.15.1": { "d": "preferSignedData", "c": "sMIMECapabilities", "w": false }, + "1.2.840.113549.1.9.15.2": { "d": "canNotDecryptAny", "c": "sMIMECapabilities", "w": false }, + "1.2.840.113549.1.9.15.3": { "d": "receiptRequest", "c": "sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 1) instead", "w": true }, + "1.2.840.113549.1.9.15.4": { "d": "receipt", "c": "sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 1 1) instead", "w": true }, + "1.2.840.113549.1.9.15.5": { "d": "contentHints", "c": "sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 4) instead", "w": true }, + "1.2.840.113549.1.9.15.6": { "d": "mlExpansionHistory", "c": "sMIMECapabilities. Deprecated, use (1 2 840 113549 1 9 16 2 3) instead", "w": true }, + "1.2.840.113549.1.9.16": { "d": "id-sMIME", "c": "PKCS #9", "w": false }, + "1.2.840.113549.1.9.16.0": { "d": "id-mod", "c": "id-sMIME", "w": false }, + "1.2.840.113549.1.9.16.0.1": { "d": "id-mod-cms", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.2": { "d": "id-mod-ess", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.3": { "d": "id-mod-oid", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.4": { "d": "id-mod-msg-v3", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.5": { "d": "id-mod-ets-eSignature-88", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.6": { "d": "id-mod-ets-eSignature-97", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.7": { "d": "id-mod-ets-eSigPolicy-88", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.0.8": { "d": "id-mod-ets-eSigPolicy-88", "c": "S/MIME Modules", "w": false }, + "1.2.840.113549.1.9.16.1": { "d": "contentType", "c": "S/MIME", "w": false }, + "1.2.840.113549.1.9.16.1.1": { "d": "receipt", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.2": { "d": "authData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.3": { "d": "publishCert", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.4": { "d": "tSTInfo", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.5": { "d": "tDTInfo", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.6": { "d": "contentInfo", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.7": { "d": "dVCSRequestData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.8": { "d": "dVCSResponseData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.9": { "d": "compressedData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.10": { "d": "scvpCertValRequest", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.11": { "d": "scvpCertValResponse", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.12": { "d": "scvpValPolRequest", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.13": { "d": "scvpValPolResponse", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.14": { "d": "attrCertEncAttrs", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.15": { "d": "tSReq", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.16": { "d": "firmwarePackage", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.17": { "d": "firmwareLoadReceipt", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.18": { "d": "firmwareLoadError", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.19": { "d": "contentCollection", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.20": { "d": "contentWithAttrs", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.21": { "d": "encKeyWithID", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.22": { "d": "encPEPSI", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.23": { "d": "authEnvelopedData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.24": { "d": "routeOriginAttest", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.25": { "d": "symmetricKeyPackage", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.26": { "d": "rpkiManifest", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.27": { "d": "asciiTextWithCRLF", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.28": { "d": "xml", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.29": { "d": "pdf", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.30": { "d": "postscript", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.31": { "d": "timestampedData", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.32": { "d": "asAdjacencyAttest", "c": "S/MIME Content Types", "w": true }, + "1.2.840.113549.1.9.16.1.33": { "d": "rpkiTrustAnchor", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.1.34": { "d": "trustAnchorList", "c": "S/MIME Content Types", "w": false }, + "1.2.840.113549.1.9.16.2": { "d": "authenticatedAttributes", "c": "S/MIME", "w": false }, + "1.2.840.113549.1.9.16.2.1": { "d": "receiptRequest", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.2": { "d": "securityLabel", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.3": { "d": "mlExpandHistory", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.4": { "d": "contentHint", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.5": { "d": "msgSigDigest", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.6": { "d": "encapContentType", "c": "S/MIME Authenticated Attributes. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.2.7": { "d": "contentIdentifier", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.8": { "d": "macValue", "c": "S/MIME Authenticated Attributes. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.2.9": { "d": "equivalentLabels", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.10": { "d": "contentReference", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.11": { "d": "encrypKeyPref", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.12": { "d": "signingCertificate", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.13": { "d": "smimeEncryptCerts", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.14": { "d": "timeStampToken", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.15": { "d": "sigPolicyId", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.16": { "d": "commitmentType", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.17": { "d": "signerLocation", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.18": { "d": "signerAttr", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.19": { "d": "otherSigCert", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.20": { "d": "contentTimestamp", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.21": { "d": "certificateRefs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.22": { "d": "revocationRefs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.23": { "d": "certValues", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.24": { "d": "revocationValues", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.25": { "d": "escTimeStamp", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.26": { "d": "certCRLTimestamp", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.27": { "d": "archiveTimeStamp", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.28": { "d": "signatureType", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.29": { "d": "dvcsDvc", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.30": { "d": "cekReference", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.31": { "d": "maxCEKDecrypts", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.32": { "d": "kekDerivationAlg", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.33": { "d": "intendedRecipients", "c": "S/MIME Authenticated Attributes. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.2.34": { "d": "cmcUnsignedData", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.35": { "d": "fwPackageID", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.36": { "d": "fwTargetHardwareIDs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.37": { "d": "fwDecryptKeyID", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.38": { "d": "fwImplCryptAlgs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.39": { "d": "fwWrappedFirmwareKey", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.40": { "d": "fwCommunityIdentifiers", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.41": { "d": "fwPkgMessageDigest", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.42": { "d": "fwPackageInfo", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.43": { "d": "fwImplCompressAlgs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.44": { "d": "etsAttrCertificateRefs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.45": { "d": "etsAttrRevocationRefs", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.46": { "d": "binarySigningTime", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.47": { "d": "signingCertificateV2", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.48": { "d": "etsArchiveTimeStampV2", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.49": { "d": "erInternal", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.50": { "d": "erExternal", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.2.51": { "d": "multipleSignatures", "c": "S/MIME Authenticated Attributes", "w": false }, + "1.2.840.113549.1.9.16.3.1": { "d": "esDHwith3DES", "c": "S/MIME Algorithms. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.3.2": { "d": "esDHwithRC2", "c": "S/MIME Algorithms. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.3.3": { "d": "3desWrap", "c": "S/MIME Algorithms. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.3.4": { "d": "rc2Wrap", "c": "S/MIME Algorithms. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.3.5": { "d": "esDH", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.6": { "d": "cms3DESwrap", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.7": { "d": "cmsRC2wrap", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.8": { "d": "zlib", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.9": { "d": "pwriKEK", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.10": { "d": "ssDH", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.11": { "d": "hmacWith3DESwrap", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.12": { "d": "hmacWithAESwrap", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.13": { "d": "md5XorExperiment", "c": "S/MIME Algorithms. Experimental", "w": true }, + "1.2.840.113549.1.9.16.3.14": { "d": "rsaKEM", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.15": { "d": "authEnc128", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.3.16": { "d": "authEnc256", "c": "S/MIME Algorithms", "w": false }, + "1.2.840.113549.1.9.16.4.1": { "d": "certDist-ldap", "c": "S/MIME Certificate Distribution", "w": false }, + "1.2.840.113549.1.9.16.5.1": { "d": "sigPolicyQualifier-spuri x", "c": "S/MIME Signature Policy Qualifiers", "w": false }, + "1.2.840.113549.1.9.16.5.2": { "d": "sigPolicyQualifier-spUserNotice", "c": "S/MIME Signature Policy Qualifiers", "w": false }, + "1.2.840.113549.1.9.16.6.1": { "d": "proofOfOrigin", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.6.2": { "d": "proofOfReceipt", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.6.3": { "d": "proofOfDelivery", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.6.4": { "d": "proofOfSender", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.6.5": { "d": "proofOfApproval", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.6.6": { "d": "proofOfCreation", "c": "S/MIME Commitment Type Identifiers", "w": false }, + "1.2.840.113549.1.9.16.8.1": { "d": "glUseKEK", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.2": { "d": "glDelete", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.3": { "d": "glAddMember", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.4": { "d": "glDeleteMember", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.5": { "d": "glRekey", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.6": { "d": "glAddOwner", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.7": { "d": "glRemoveOwner", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.8": { "d": "glkCompromise", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.9": { "d": "glkRefresh", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.10": { "d": "glFailInfo", "c": "S/MIME Symmetric Key Distribution Attributes. Obsolete", "w": true }, + "1.2.840.113549.1.9.16.8.11": { "d": "glaQueryRequest", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.12": { "d": "glaQueryResponse", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.13": { "d": "glProvideCert", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.14": { "d": "glUpdateCert", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.8.15": { "d": "glKey", "c": "S/MIME Symmetric Key Distribution Attributes", "w": false }, + "1.2.840.113549.1.9.16.9": { "d": "signatureTypeIdentifier", "c": "S/MIME", "w": false }, + "1.2.840.113549.1.9.16.9.1": { "d": "originatorSig", "c": "S/MIME Signature Type Identifier", "w": false }, + "1.2.840.113549.1.9.16.9.2": { "d": "domainSig", "c": "S/MIME Signature Type Identifier", "w": false }, + "1.2.840.113549.1.9.16.9.3": { "d": "additionalAttributesSig", "c": "S/MIME Signature Type Identifier", "w": false }, + "1.2.840.113549.1.9.16.9.4": { "d": "reviewSig", "c": "S/MIME Signature Type Identifier", "w": false }, + "1.2.840.113549.1.9.16.11": { "d": "capabilities", "c": "S/MIME", "w": false }, + "1.2.840.113549.1.9.16.11.1": { "d": "preferBinaryInside", "c": "S/MIME Capability", "w": false }, + "1.2.840.113549.1.9.20": { "d": "friendlyName (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.21": { "d": "localKeyID (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.22": { "d": "certTypes (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.22.1": { "d": "x509Certificate (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.22.2": { "d": "sdsiCertificate (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.23": { "d": "crlTypes (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.23.1": { "d": "x509Crl (for PKCS #12)", "c": "PKCS #9 via PKCS #12", "w": false }, + "1.2.840.113549.1.9.24": { "d": "pkcs9objectClass", "c": "PKCS #9/RFC 2985", "w": false }, + "1.2.840.113549.1.9.25": { "d": "pkcs9attributes", "c": "PKCS #9/RFC 2985", "w": false }, + "1.2.840.113549.1.9.25.1": { "d": "pkcs15Token", "c": "PKCS #9/RFC 2985 attribute", "w": false }, + "1.2.840.113549.1.9.25.2": { "d": "encryptedPrivateKeyInfo", "c": "PKCS #9/RFC 2985 attribute", "w": false }, + "1.2.840.113549.1.9.25.3": { "d": "randomNonce", "c": "PKCS #9/RFC 2985 attribute", "w": false }, + "1.2.840.113549.1.9.25.4": { "d": "sequenceNumber", "c": "PKCS #9/RFC 2985 attribute", "w": false }, + "1.2.840.113549.1.9.25.5": { "d": "pkcs7PDU", "c": "PKCS #9/RFC 2985 attribute", "w": false }, + "1.2.840.113549.1.9.26": { "d": "pkcs9syntax", "c": "PKCS #9/RFC 2985", "w": false }, + "1.2.840.113549.1.9.27": { "d": "pkcs9matchingRules", "c": "PKCS #9/RFC 2985", "w": false }, + "1.2.840.113549.1.12": { "d": "pkcs-12", "c": "", "w": false }, + "1.2.840.113549.1.12.1": { "d": "pkcs-12-PbeIds", "c": "This OID was formerly assigned as PKCS #12 modeID", "w": false }, + "1.2.840.113549.1.12.1.1": { "d": "pbeWithSHAAnd128BitRC4", "c": "PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OfflineTransportMode", "w": false }, + "1.2.840.113549.1.12.1.2": { "d": "pbeWithSHAAnd40BitRC4", "c": "PKCS #12 PbeIds. This OID was formerly assigned as pkcs-12-OnlineTransportMode", "w": false }, + "1.2.840.113549.1.12.1.3": { "d": "pbeWithSHAAnd3-KeyTripleDES-CBC", "c": "PKCS #12 PbeIds", "w": false }, + "1.2.840.113549.1.12.1.4": { "d": "pbeWithSHAAnd2-KeyTripleDES-CBC", "c": "PKCS #12 PbeIds", "w": false }, + "1.2.840.113549.1.12.1.5": { "d": "pbeWithSHAAnd128BitRC2-CBC", "c": "PKCS #12 PbeIds", "w": false }, + "1.2.840.113549.1.12.1.6": { "d": "pbeWithSHAAnd40BitRC2-CBC", "c": "PKCS #12 PbeIds", "w": false }, + "1.2.840.113549.1.12.2": { "d": "pkcs-12-ESPVKID", "c": "Deprecated", "w": true }, + "1.2.840.113549.1.12.2.1": { "d": "pkcs-12-PKCS8KeyShrouding", "c": "PKCS #12 ESPVKID. Deprecated, use (1 2 840 113549 1 12 3 5) instead", "w": true }, + "1.2.840.113549.1.12.3": { "d": "pkcs-12-BagIds", "c": "", "w": false }, + "1.2.840.113549.1.12.3.1": { "d": "pkcs-12-keyBagId", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.3.2": { "d": "pkcs-12-certAndCRLBagId", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.3.3": { "d": "pkcs-12-secretBagId", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.3.4": { "d": "pkcs-12-safeContentsId", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.3.5": { "d": "pkcs-12-pkcs-8ShroudedKeyBagId", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.4": { "d": "pkcs-12-CertBagID", "c": "Deprecated", "w": true }, + "1.2.840.113549.1.12.4.1": { "d": "pkcs-12-X509CertCRLBagID", "c": "PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-X509CertCRLBag", "w": false }, + "1.2.840.113549.1.12.4.2": { "d": "pkcs-12-SDSICertBagID", "c": "PKCS #12 CertBagID. This OID was formerly assigned as pkcs-12-SDSICertBag", "w": false }, + "1.2.840.113549.1.12.5": { "d": "pkcs-12-OID", "c": "", "w": true }, + "1.2.840.113549.1.12.5.1": { "d": "pkcs-12-PBEID", "c": "PKCS #12 OID. Deprecated, use the partially compatible (1 2 840 113549 1 12 1) OIDs instead", "w": true }, + "1.2.840.113549.1.12.5.1.1": { "d": "pkcs-12-PBEWithSha1And128BitRC4", "c": "PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 1) instead", "w": true }, + "1.2.840.113549.1.12.5.1.2": { "d": "pkcs-12-PBEWithSha1And40BitRC4", "c": "PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 2) instead", "w": true }, + "1.2.840.113549.1.12.5.1.3": { "d": "pkcs-12-PBEWithSha1AndTripleDESCBC", "c": "PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 3) or (1 2 840 113549 1 12 1 4) instead", "w": true }, + "1.2.840.113549.1.12.5.1.4": { "d": "pkcs-12-PBEWithSha1And128BitRC2CBC", "c": "PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 5) instead", "w": true }, + "1.2.840.113549.1.12.5.1.5": { "d": "pkcs-12-PBEWithSha1And40BitRC2CBC", "c": "PKCS #12 OID PBEID. Deprecated, use (1 2 840 113549 1 12 1 6) instead", "w": true }, + "1.2.840.113549.1.12.5.1.6": { "d": "pkcs-12-PBEWithSha1AndRC4", "c": "PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 1) or (1 2 840 113549 1 12 1 2) instead", "w": true }, + "1.2.840.113549.1.12.5.1.7": { "d": "pkcs-12-PBEWithSha1AndRC2CBC", "c": "PKCS #12 OID PBEID. Deprecated, use the incompatible but similar (1 2 840 113549 1 12 1 5) or (1 2 840 113549 1 12 1 6) instead", "w": true }, + "1.2.840.113549.1.12.5.2": { "d": "pkcs-12-EnvelopingID", "c": "PKCS #12 OID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": false }, + "1.2.840.113549.1.12.5.2.1": { "d": "pkcs-12-RSAEncryptionWith128BitRC4", "c": "PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": true }, + "1.2.840.113549.1.12.5.2.2": { "d": "pkcs-12-RSAEncryptionWith40BitRC4", "c": "PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": true }, + "1.2.840.113549.1.12.5.2.3": { "d": "pkcs-12-RSAEncryptionWithTripleDES", "c": "PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": true }, + "1.2.840.113549.1.12.5.3": { "d": "pkcs-12-SignatureID", "c": "PKCS #12 OID EnvelopingID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": true }, + "1.2.840.113549.1.12.5.3.1": { "d": "pkcs-12-RSASignatureWithSHA1Digest", "c": "PKCS #12 OID SignatureID. Deprecated, use the conventional PKCS #1 OIDs instead", "w": true }, + "1.2.840.113549.1.12.10": { "d": "pkcs-12Version1", "c": "", "w": false }, + "1.2.840.113549.1.12.10.1": { "d": "pkcs-12BadIds", "c": "", "w": false }, + "1.2.840.113549.1.12.10.1.1": { "d": "pkcs-12-keyBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.10.1.2": { "d": "pkcs-12-pkcs-8ShroudedKeyBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.10.1.3": { "d": "pkcs-12-certBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.10.1.4": { "d": "pkcs-12-crlBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.10.1.5": { "d": "pkcs-12-secretBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.12.10.1.6": { "d": "pkcs-12-safeContentsBag", "c": "PKCS #12 BagIds", "w": false }, + "1.2.840.113549.1.15.1": { "d": "pkcs15modules", "c": "PKCS #15", "w": false }, + "1.2.840.113549.1.15.2": { "d": "pkcs15attributes", "c": "PKCS #15", "w": false }, + "1.2.840.113549.1.15.3": { "d": "pkcs15contentType", "c": "PKCS #15", "w": false }, + "1.2.840.113549.1.15.3.1": { "d": "pkcs15content", "c": "PKCS #15 content type", "w": false }, + "1.2.840.113549.2": { "d": "digestAlgorithm", "c": "", "w": false }, + "1.2.840.113549.2.2": { "d": "md2", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.4": { "d": "md4", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.5": { "d": "md5", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.7": { "d": "hmacWithSHA1", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.8": { "d": "hmacWithSHA224", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.9": { "d": "hmacWithSHA256", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.10": { "d": "hmacWithSHA384", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.2.11": { "d": "hmacWithSHA512", "c": "RSADSI digestAlgorithm", "w": false }, + "1.2.840.113549.3": { "d": "encryptionAlgorithm", "c": "", "w": false }, + "1.2.840.113549.3.2": { "d": "rc2CBC", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.3": { "d": "rc2ECB", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.4": { "d": "rc4", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.5": { "d": "rc4WithMAC", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.6": { "d": "desx-CBC", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.7": { "d": "des-EDE3-CBC", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.8": { "d": "rc5CBC", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.9": { "d": "rc5-CBCPad", "c": "RSADSI encryptionAlgorithm", "w": false }, + "1.2.840.113549.3.10": { "d": "desCDMF", "c": "RSADSI encryptionAlgorithm. Formerly called CDMFCBCPad", "w": false }, + "1.2.840.114021.1.6.1": { "d": "Identrus unknown policyIdentifier", "c": "Identrus", "w": false }, + "1.2.840.114021.4.1": { "d": "identrusOCSP", "c": "Identrus", "w": false }, + "1.2.840.113556.1.2.241": { "d": "deliveryMechanism", "c": "Microsoft Exchange Server - attribute", "w": false }, + "1.2.840.113556.1.3.0": { "d": "site-Addressing", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.13": { "d": "classSchema", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.14": { "d": "attributeSchema", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.17": { "d": "mailbox-Agent", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.22": { "d": "mailbox", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.23": { "d": "container", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.3.46": { "d": "mailRecipient", "c": "Microsoft Exchange Server - object class", "w": false }, + "1.2.840.113556.1.2.281": { "d": "ntSecurityDescriptor", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.145": { "d": "revision", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1327": { "d": "pKIDefaultKeySpec", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1328": { "d": "pKIKeyUsage", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1329": { "d": "pKIMaxIssuingDepth", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1330": { "d": "pKICriticalExtensions", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1331": { "d": "pKIExpirationPeriod", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1332": { "d": "pKIOverlapPeriod", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1333": { "d": "pKIExtendedKeyUsage", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1334": { "d": "pKIDefaultCSPs", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1335": { "d": "pKIEnrollmentAccess", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1429": { "d": "msPKI-RA-Signature", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1430": { "d": "msPKI-Enrollment-Flag", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1431": { "d": "msPKI-Private-Key-Flag", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1432": { "d": "msPKI-Certificate-Name-Flag", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1433": { "d": "msPKI-Minimal-Key-Size", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1434": { "d": "msPKI-Template-Schema-Version", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1435": { "d": "msPKI-Template-Minor-Revision", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1436": { "d": "msPKI-Cert-Template-OID", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1437": { "d": "msPKI-Supersede-Templates", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1438": { "d": "msPKI-RA-Policies", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1439": { "d": "msPKI-Certificate-Policy", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1674": { "d": "msPKI-Certificate-Application-Policy", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.1.4.1675": { "d": "msPKI-RA-Application-Policies", "c": "Microsoft Cert Template - attribute", "w": false }, + "1.2.840.113556.4.3": { "d": "microsoftExcel", "c": "Microsoft", "w": false }, + "1.2.840.113556.4.4": { "d": "titledWithOID", "c": "Microsoft", "w": false }, + "1.2.840.113556.4.5": { "d": "microsoftPowerPoint", "c": "Microsoft", "w": false }, + "1.2.840.113628.114.1.7": { "d": "adobePKCS7", "c": "Adobe", "w": false }, + "1.2.840.113635.100": { "d": "appleDataSecurity", "c": "Apple", "w": false }, + "1.2.840.113635.100.1": { "d": "appleTrustPolicy", "c": "Apple", "w": false }, + "1.2.840.113635.100.1.1": { "d": "appleISignTP", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.2": { "d": "appleX509Basic", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.3": { "d": "appleSSLPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.4": { "d": "appleLocalCertGenPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.5": { "d": "appleCSRGenPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.6": { "d": "appleCRLPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.7": { "d": "appleOCSPPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.8": { "d": "appleSMIMEPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.9": { "d": "appleEAPPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.10": { "d": "appleSWUpdateSigningPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.11": { "d": "appleIPSecPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.12": { "d": "appleIChatPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.13": { "d": "appleResourceSignPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.14": { "d": "applePKINITClientPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.15": { "d": "applePKINITServerPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.16": { "d": "appleCodeSigningPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.1.17": { "d": "applePackageSigningPolicy", "c": "Apple trust policy", "w": false }, + "1.2.840.113635.100.2": { "d": "appleSecurityAlgorithm", "c": "Apple", "w": false }, + "1.2.840.113635.100.2.1": { "d": "appleFEE", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.2": { "d": "appleASC", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.3": { "d": "appleFEE_MD5", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.4": { "d": "appleFEE_SHA1", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.5": { "d": "appleFEED", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.6": { "d": "appleFEEDEXP", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.2.7": { "d": "appleECDSA", "c": "Apple security algorithm", "w": false }, + "1.2.840.113635.100.3": { "d": "appleDotMacCertificate", "c": "Apple", "w": false }, + "1.2.840.113635.100.3.1": { "d": "appleDotMacCertificateRequest", "c": "Apple dotMac certificate", "w": false }, + "1.2.840.113635.100.3.2": { "d": "appleDotMacCertificateExtension", "c": "Apple dotMac certificate", "w": false }, + "1.2.840.113635.100.3.3": { "d": "appleDotMacCertificateRequestValues", "c": "Apple dotMac certificate", "w": false }, + "1.2.840.113635.100.4": { "d": "appleExtendedKeyUsage", "c": "Apple", "w": false }, + "1.2.840.113635.100.4.1": { "d": "appleCodeSigning", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.1.1": { "d": "appleCodeSigningDevelopment", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.1.2": { "d": "appleSoftwareUpdateSigning", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.1.3": { "d": "appleCodeSigningThirdParty", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.1.4": { "d": "appleResourceSigning", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.2": { "d": "appleIChatSigning", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.3": { "d": "appleIChatEncryption", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.4": { "d": "appleSystemIdentity", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.5": { "d": "appleCryptoEnv", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.5.1": { "d": "appleCryptoProductionEnv", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.5.2": { "d": "appleCryptoMaintenanceEnv", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.5.3": { "d": "appleCryptoTestEnv", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.5.4": { "d": "appleCryptoDevelopmentEnv", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.6": { "d": "appleCryptoQoS", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.6.1": { "d": "appleCryptoTier0QoS", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.6.2": { "d": "appleCryptoTier1QoS", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.6.3": { "d": "appleCryptoTier2QoS", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.4.6.4": { "d": "appleCryptoTier3QoS", "c": "Apple extended key usage", "w": false }, + "1.2.840.113635.100.5": { "d": "appleCertificatePolicies", "c": "Apple", "w": false }, + "1.2.840.113635.100.5.1": { "d": "appleCertificatePolicyID", "c": "Apple", "w": false }, + "1.2.840.113635.100.5.2": { "d": "appleDotMacCertificatePolicyID", "c": "Apple", "w": false }, + "1.2.840.113635.100.5.3": { "d": "appleADCCertificatePolicyID", "c": "Apple", "w": false }, + "1.2.840.113635.100.6": { "d": "appleCertificateExtensions", "c": "Apple", "w": false }, + "1.2.840.113635.100.6.1": { "d": "appleCertificateExtensionCodeSigning", "c": "Apple certificate extension", "w": false }, + "1.2.840.113635.100.6.1.1": { "d": "appleCertificateExtensionAppleSigning", "c": "Apple certificate extension", "w": false }, + "1.2.840.113635.100.6.1.2": { "d": "appleCertificateExtensionADCDeveloperSigning", "c": "Apple certificate extension", "w": false }, + "1.2.840.113635.100.6.1.3": { "d": "appleCertificateExtensionADCAppleSigning", "c": "Apple certificate extension", "w": false }, + "1.3.6.1.4.1.311.2.1.4": { "d": "spcIndirectDataContext", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.10": { "d": "spcAgencyInfo", "c": "Microsoft code signing. Also known as policyLink", "w": false }, + "1.3.6.1.4.1.311.2.1.11": { "d": "spcStatementType", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.12": { "d": "spcSpOpusInfo", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.14": { "d": "certReqExtensions", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.2.1.15": { "d": "spcPEImageData", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.18": { "d": "spcRawFileData", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.19": { "d": "spcStructuredStorageData", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.20": { "d": "spcJavaClassData (type 1)", "c": "Microsoft code signing. Formerly \"link extension\" aka \"glue extension\"", "w": false }, + "1.3.6.1.4.1.311.2.1.21": { "d": "individualCodeSigning", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.2.1.22": { "d": "commercialCodeSigning", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.2.1.25": { "d": "spcLink (type 2)", "c": "Microsoft code signing. Also known as \"glue extension\"", "w": false }, + "1.3.6.1.4.1.311.2.1.26": { "d": "spcMinimalCriteriaInfo", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.27": { "d": "spcFinancialCriteriaInfo", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.2.1.28": { "d": "spcLink (type 3)", "c": "Microsoft code signing. Also known as \"glue extension\"", "w": false }, + "1.3.6.1.4.1.311.3.2.1": { "d": "timestampRequest", "c": "Microsoft code signing", "w": false }, + "1.3.6.1.4.1.311.10.1": { "d": "certTrustList", "c": "Microsoft contentType", "w": false }, + "1.3.6.1.4.1.311.10.1.1": { "d": "sortedCtl", "c": "Microsoft contentType", "w": false }, + "1.3.6.1.4.1.311.10.2": { "d": "nextUpdateLocation", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.3.1": { "d": "certTrustListSigning", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.2": { "d": "timeStampSigning", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.3": { "d": "serverGatedCrypto", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.3.1": { "d": "serialized", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.3.4": { "d": "encryptedFileSystem", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.5": { "d": "whqlCrypto", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.6": { "d": "nt5Crypto", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.7": { "d": "oemWHQLCrypto", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.8": { "d": "embeddedNTCrypto", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.9": { "d": "rootListSigner", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.10": { "d": "qualifiedSubordination", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.11": { "d": "keyRecovery", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.12": { "d": "documentSigning", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.13": { "d": "lifetimeSigning", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.14": { "d": "mobileDeviceSoftware", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.15": { "d": "smartDisplay", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.16": { "d": "cspSignature", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.3.4.1": { "d": "efsRecovery", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.4.1": { "d": "yesnoTrustAttr", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.10.5.1": { "d": "drm", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.5.2": { "d": "drmIndividualization", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.6.1": { "d": "licenses", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.6.2": { "d": "licenseServer", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.10.7.1": { "d": "keyidRdn", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.10.8.1": { "d": "removeCertificate", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.10.9.1": { "d": "crossCertDistPoints", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.10.10.1": { "d": "cmcAddAttributes", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.11": { "d": "certPropIdPrefix", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.11.4": { "d": "certMd5HashPropId", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.11.20": { "d": "certKeyIdentifierPropId", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.11.28": { "d": "certIssuerSerialNumberMd5HashPropId", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.11.29": { "d": "certSubjectNameMd5HashPropId", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.10.12.1": { "d": "anyApplicationPolicy", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.13.1": { "d": "renewalCertificate", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.13.2.1": { "d": "enrolmentNameValuePair", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.13.2.2": { "d": "enrolmentCSP", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.13.2.3": { "d": "osVersion", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.16.4": { "d": "microsoftRecipientInfo", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.17.1": { "d": "pkcs12KeyProviderNameAttr", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.17.2": { "d": "localMachineKeyset", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.17.3": { "d": "pkcs12ExtendedAttributes", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.20.1": { "d": "autoEnrollCtlUsage", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.20.2": { "d": "enrollCerttypeExtension", "c": "Microsoft CAPICOM certificate template, V1", "w": false }, + "1.3.6.1.4.1.311.20.2.1": { "d": "enrollmentAgent", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.20.2.2": { "d": "smartcardLogon", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.20.2.3": { "d": "universalPrincipalName", "c": "Microsoft UPN", "w": false }, + "1.3.6.1.4.1.311.20.3": { "d": "certManifold", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.1": { "d": "cAKeyCertIndexPair", "c": "Microsoft attribute. Also known as certsrvCaVersion", "w": false }, + "1.3.6.1.4.1.311.21.5": { "d": "caExchange", "c": "Microsoft extended key usage", "w": true }, + "1.3.6.1.4.1.311.21.2": { "d": "certSrvPreviousCertHash", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.3": { "d": "crlVirtualBase", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.4": { "d": "crlNextPublish", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.6": { "d": "keyRecovery", "c": "Microsoft extended key usage", "w": true }, + "1.3.6.1.4.1.311.21.7": { "d": "certificateTemplate", "c": "Microsoft CAPICOM certificate template, V2", "w": false }, + "1.3.6.1.4.1.311.21.9": { "d": "rdnDummySigner", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.10": { "d": "applicationCertPolicies", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.11": { "d": "applicationPolicyMappings", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.12": { "d": "applicationPolicyConstraints", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.13": { "d": "archivedKey", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.21.14": { "d": "crlSelfCDP", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.15": { "d": "requireCertChainPolicy", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.16": { "d": "archivedKeyCertHash", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.17": { "d": "issuedCertHash", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.19": { "d": "dsEmailReplication", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.21.20": { "d": "requestClientInfo", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.21.21": { "d": "encryptedKeyHash", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.21.22": { "d": "certsrvCrossCaVersion", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.25.1": { "d": "ntdsReplication", "c": "Microsoft", "w": false }, + "1.3.6.1.4.1.311.31.1": { "d": "productUpdate", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.311.47.1.1": { "d": "systemHealth", "c": "Microsoft extended key usage", "w": false }, + "1.3.6.1.4.1.311.47.1.3": { "d": "systemHealthLoophole", "c": "Microsoft extended key usage", "w": false }, + "1.3.6.1.4.1.311.60.1.1": { "d": "rootProgramFlags", "c": "Microsoft policy attribute", "w": false }, + "1.3.6.1.4.1.311.61.1.1": { "d": "kernelModeCodeSigning", "c": "Microsoft enhanced key usage", "w": false }, + "1.3.6.1.4.1.311.60.2.1.1": { "d": "jurisdictionOfIncorporationL", "c": "Microsoft (???)", "w": false }, + "1.3.6.1.4.1.311.60.2.1.2": { "d": "jurisdictionOfIncorporationSP", "c": "Microsoft (???)", "w": false }, + "1.3.6.1.4.1.311.60.2.1.3": { "d": "jurisdictionOfIncorporationC", "c": "Microsoft (???)", "w": false }, + "1.3.6.1.4.1.311.88.2.1": { "d": "originalFilename", "c": "Microsoft attribute", "w": false }, + "1.3.6.1.4.1.188.7.1.1": { "d": "ascom", "c": "Ascom Systech", "w": false }, + "1.3.6.1.4.1.188.7.1.1.1": { "d": "ideaECB", "c": "Ascom Systech", "w": false }, + "1.3.6.1.4.1.188.7.1.1.2": { "d": "ideaCBC", "c": "Ascom Systech", "w": false }, + "1.3.6.1.4.1.188.7.1.1.3": { "d": "ideaCFB", "c": "Ascom Systech", "w": false }, + "1.3.6.1.4.1.188.7.1.1.4": { "d": "ideaOFB", "c": "Ascom Systech", "w": false }, + "1.3.6.1.4.1.2428.10.1.1": { "d": "UNINETT policyIdentifier", "c": "UNINETT PCA", "w": false }, + "1.3.6.1.4.1.2712.10": { "d": "ICE-TEL policyIdentifier", "c": "ICE-TEL CA", "w": false }, + "1.3.6.1.4.1.2786.1.1.1": { "d": "ICE-TEL Italian policyIdentifier", "c": "ICE-TEL CA policy", "w": false }, + "1.3.6.1.4.1.3029.1.1.1": { "d": "blowfishECB", "c": "cryptlib encryption algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.1.2": { "d": "blowfishCBC", "c": "cryptlib encryption algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.1.3": { "d": "blowfishCFB", "c": "cryptlib encryption algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.1.4": { "d": "blowfishOFB", "c": "cryptlib encryption algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.2.1": { "d": "elgamal", "c": "cryptlib public-key algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.2.1.1": { "d": "elgamalWithSHA-1", "c": "cryptlib public-key algorithm", "w": false }, + "1.3.6.1.4.1.3029.1.2.1.2": { "d": "elgamalWithRIPEMD-160", "c": "cryptlib public-key algorithm", "w": false }, + "1.3.6.1.4.1.3029.3.1.1": { "d": "cryptlibPresenceCheck", "c": "cryptlib attribute type", "w": false }, + "1.3.6.1.4.1.3029.3.1.2": { "d": "pkiBoot", "c": "cryptlib attribute type", "w": false }, + "1.3.6.1.4.1.3029.3.1.4": { "d": "crlExtReason", "c": "cryptlib attribute type", "w": false }, + "1.3.6.1.4.1.3029.3.1.5": { "d": "keyFeatures", "c": "cryptlib attribute type", "w": false }, + "1.3.6.1.4.1.3029.4.1": { "d": "cryptlibContent", "c": "cryptlib", "w": false }, + "1.3.6.1.4.1.3029.4.1.1": { "d": "cryptlibConfigData", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.4.1.2": { "d": "cryptlibUserIndex", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.4.1.3": { "d": "cryptlibUserInfo", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.4.1.4": { "d": "rtcsRequest", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.4.1.5": { "d": "rtcsResponse", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.4.1.6": { "d": "rtcsResponseExt", "c": "cryptlib content type", "w": false }, + "1.3.6.1.4.1.3029.42.11172.1": { "d": "mpeg-1", "c": "cryptlib special MPEG-of-cat OID", "w": false }, + "1.3.6.1.4.1.3029.54.11940.54": { "d": "TSA policy \"Anything that arrives, we sign\"", "c": "cryptlib TSA policy", "w": false }, + "1.3.6.1.4.1.3029.88.89.90.90.89": { "d": "xYZZY policyIdentifier", "c": "cryptlib certificate policy", "w": false }, + "1.3.6.1.4.1.3401.8.1.1": { "d": "pgpExtension", "c": "PGP key information", "w": false }, + "1.3.6.1.4.1.3576.7": { "d": "eciaAscX12Edi", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.7.1": { "d": "plainEDImessage", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.7.2": { "d": "signedEDImessage", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.7.5": { "d": "integrityEDImessage", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.7.65": { "d": "iaReceiptMessage", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.7.97": { "d": "iaStatusMessage", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.8": { "d": "eciaEdifact", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.3576.9": { "d": "eciaNonEdi", "c": "TMN EDI for Interactive Agents", "w": false }, + "1.3.6.1.4.1.4146": { "d": "Globalsign", "c": "Globalsign", "w": false }, + "1.3.6.1.4.1.4146.1": { "d": "globalsignPolicy", "c": "Globalsign", "w": false }, + "1.3.6.1.4.1.4146.1.10": { "d": "globalsignDVPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.20": { "d": "globalsignOVPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.30": { "d": "globalsignTSAPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.40": { "d": "globalsignClientCertPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.50": { "d": "globalsignCodeSignPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.60": { "d": "globalsignRootSignPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.70": { "d": "globalsignTrustedRootPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.80": { "d": "globalsignEDIClientPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.81": { "d": "globalsignEDIServerPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.90": { "d": "globalsignTPMRootPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.4146.1.95": { "d": "globalsignOCSPPolicy", "c": "Globalsign policy", "w": false }, + "1.3.6.1.4.1.5309.1": { "d": "edelWebPolicy", "c": "EdelWeb policy", "w": false }, + "1.3.6.1.4.1.5309.1.2": { "d": "edelWebCustomerPolicy", "c": "EdelWeb policy", "w": false }, + "1.3.6.1.4.1.5309.1.2.1": { "d": "edelWebClepsydrePolicy", "c": "EdelWeb policy", "w": false }, + "1.3.6.1.4.1.5309.1.2.2": { "d": "edelWebExperimentalTSAPolicy", "c": "EdelWeb policy", "w": false }, + "1.3.6.1.4.1.5309.1.2.3": { "d": "edelWebOpenEvidenceTSAPolicy", "c": "EdelWeb policy", "w": false }, + "1.3.6.1.4.1.5472": { "d": "timeproof", "c": "enterprise", "w": false }, + "1.3.6.1.4.1.5472.1": { "d": "tss", "c": "timeproof", "w": false }, + "1.3.6.1.4.1.5472.1.1": { "d": "tss80", "c": "timeproof TSS", "w": false }, + "1.3.6.1.4.1.5472.1.2": { "d": "tss380", "c": "timeproof TSS", "w": false }, + "1.3.6.1.4.1.5472.1.3": { "d": "tss400", "c": "timeproof TSS", "w": false }, + "1.3.6.1.4.1.5770.0.3": { "d": "secondaryPractices", "c": "MEDePass", "w": false }, + "1.3.6.1.4.1.5770.0.4": { "d": "physicianIdentifiers", "c": "MEDePass", "w": false }, + "1.3.6.1.4.1.6449.1.2.1.3.1": { "d": "comodoPolicy", "c": "Comodo CA", "w": false }, + "1.3.6.1.4.1.6449.1.2.2.15": { "d": "wotrustPolicy", "c": "WoTrust (Comodo) CA", "w": false }, + "1.3.6.1.4.1.6449.1.3.5.2": { "d": "comodoCertifiedDeliveryService", "c": "Comodo CA", "w": false }, + "1.3.6.1.4.1.6449.2.1.1": { "d": "comodoTimestampingPolicy", "c": "Comodo CA", "w": false }, + "1.3.6.1.4.1.8301.3.5.1": { "d": "validityModelChain", "c": "TU Darmstadt ValidityModel", "w": false }, + "1.3.6.1.4.1.8301.3.5.2": { "d": "validityModelShell", "c": "ValidityModel", "w": false }, + "1.3.6.1.4.1.8231.1": { "d": "rolUnicoNacional", "c": "Chilean Government national unique roll number", "w": false }, + "1.3.6.1.4.1.11591": { "d": "gnu", "c": "GNU Project (see http://www.gnupg.org/oids.html)", "w": false }, + "1.3.6.1.4.1.11591.1": { "d": "gnuRadius", "c": "GNU Radius", "w": false }, + "1.3.6.1.4.1.11591.3": { "d": "gnuRadar", "c": "GNU Radar", "w": false }, + "1.3.6.1.4.1.11591.12": { "d": "gnuDigestAlgorithm", "c": "GNU digest algorithm", "w": false }, + "1.3.6.1.4.1.11591.12.2": { "d": "tiger", "c": "GNU digest algorithm", "w": false }, + "1.3.6.1.4.1.11591.13": { "d": "gnuEncryptionAlgorithm", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2": { "d": "serpent", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.1": { "d": "serpent128_ECB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.2": { "d": "serpent128_CBC", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.3": { "d": "serpent128_OFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.4": { "d": "serpent128_CFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.21": { "d": "serpent192_ECB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.22": { "d": "serpent192_CBC", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.23": { "d": "serpent192_OFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.24": { "d": "serpent192_CFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.41": { "d": "serpent256_ECB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.42": { "d": "serpent256_CBC", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.43": { "d": "serpent256_OFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.11591.13.2.44": { "d": "serpent256_CFB", "c": "GNU encryption algorithm", "w": false }, + "1.3.6.1.4.1.16334.509.1.1": { "d": "Northrop Grumman extKeyUsage?", "c": "Northrop Grumman extended key usage", "w": false }, + "1.3.6.1.4.1.16334.509.2.1": { "d": "ngcClass1", "c": "Northrop Grumman policy", "w": false }, + "1.3.6.1.4.1.16334.509.2.2": { "d": "ngcClass2", "c": "Northrop Grumman policy", "w": false }, + "1.3.6.1.4.1.16334.509.2.3": { "d": "ngcClass3", "c": "Northrop Grumman policy", "w": false }, + "1.3.6.1.5.5.7": { "d": "pkix", "c": "", "w": false }, + "1.3.6.1.5.5.7.0.12": { "d": "attributeCert", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.1": { "d": "privateExtension", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.1.1": { "d": "authorityInfoAccess", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.2": { "d": "biometricInfo", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.3": { "d": "qcStatements", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.4": { "d": "acAuditIdentity", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.5": { "d": "acTargeting", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.6": { "d": "acAaControls", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.7": { "d": "ipAddrBlocks", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.8": { "d": "autonomousSysIds", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.9": { "d": "routerIdentifier", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.10": { "d": "acProxying", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.11": { "d": "subjectInfoAccess", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.12": { "d": "logoType", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.1.13": { "d": "wlanSSID", "c": "PKIX private extension", "w": false }, + "1.3.6.1.5.5.7.2": { "d": "policyQualifierIds", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.2.1": { "d": "cps", "c": "PKIX policy qualifier", "w": false }, + "1.3.6.1.5.5.7.2.2": { "d": "unotice", "c": "PKIX policy qualifier", "w": false }, + "1.3.6.1.5.5.7.2.3": { "d": "textNotice", "c": "PKIX policy qualifier", "w": false }, + "1.3.6.1.5.5.7.3": { "d": "keyPurpose", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.3.1": { "d": "serverAuth", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.2": { "d": "clientAuth", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.3": { "d": "codeSigning", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.4": { "d": "emailProtection", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.5": { "d": "ipsecEndSystem", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.6": { "d": "ipsecTunnel", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.7": { "d": "ipsecUser", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.8": { "d": "timeStamping", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.9": { "d": "ocspSigning", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.10": { "d": "dvcs", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.11": { "d": "sbgpCertAAServerAuth", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.13": { "d": "eapOverPPP", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.3.14": { "d": "eapOverLAN", "c": "PKIX key purpose", "w": false }, + "1.3.6.1.5.5.7.4": { "d": "cmpInformationTypes", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.4.1": { "d": "caProtEncCert", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.2": { "d": "signKeyPairTypes", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.3": { "d": "encKeyPairTypes", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.4": { "d": "preferredSymmAlg", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.5": { "d": "caKeyUpdateInfo", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.6": { "d": "currentCRL", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.7": { "d": "unsupportedOIDs", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.10": { "d": "keyPairParamReq", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.11": { "d": "keyPairParamRep", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.12": { "d": "revPassphrase", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.13": { "d": "implicitConfirm", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.14": { "d": "confirmWaitTime", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.15": { "d": "origPKIMessage", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.4.16": { "d": "suppLangTags", "c": "PKIX CMP information", "w": false }, + "1.3.6.1.5.5.7.5": { "d": "crmfRegistration", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.5.1": { "d": "regCtrl", "c": "PKIX CRMF registration", "w": false }, + "1.3.6.1.5.5.7.5.1.1": { "d": "regToken", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.2": { "d": "authenticator", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.3": { "d": "pkiPublicationInfo", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.4": { "d": "pkiArchiveOptions", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.5": { "d": "oldCertID", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.6": { "d": "protocolEncrKey", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.7": { "d": "altCertTemplate", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.1.8": { "d": "wtlsTemplate", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.2": { "d": "utf8Pairs", "c": "PKIX CRMF registration", "w": false }, + "1.3.6.1.5.5.7.5.2.1": { "d": "utf8Pairs", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.5.2.2": { "d": "certReq", "c": "PKIX CRMF registration control", "w": false }, + "1.3.6.1.5.5.7.6": { "d": "algorithms", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.6.1": { "d": "des40", "c": "PKIX algorithm", "w": false }, + "1.3.6.1.5.5.7.6.2": { "d": "noSignature", "c": "PKIX algorithm", "w": false }, + "1.3.6.1.5.5.7.6.3": { "d": "dh-sig-hmac-sha1", "c": "PKIX algorithm", "w": false }, + "1.3.6.1.5.5.7.6.4": { "d": "dh-pop", "c": "PKIX algorithm", "w": false }, + "1.3.6.1.5.5.7.7": { "d": "cmcControls", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.8": { "d": "otherNames", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.8.1": { "d": "personalData", "c": "PKIX other name", "w": false }, + "1.3.6.1.5.5.7.8.2": { "d": "userGroup", "c": "PKIX other name", "w": false }, + "1.3.6.1.5.5.7.8.5": { "d": "xmppAddr", "c": "PKIX other name", "w": false }, + "1.3.6.1.5.5.7.9": { "d": "personalData", "c": "PKIX qualified certificates", "w": false }, + "1.3.6.1.5.5.7.9.1": { "d": "dateOfBirth", "c": "PKIX personal data", "w": false }, + "1.3.6.1.5.5.7.9.2": { "d": "placeOfBirth", "c": "PKIX personal data", "w": false }, + "1.3.6.1.5.5.7.9.3": { "d": "gender", "c": "PKIX personal data", "w": false }, + "1.3.6.1.5.5.7.9.4": { "d": "countryOfCitizenship", "c": "PKIX personal data", "w": false }, + "1.3.6.1.5.5.7.9.5": { "d": "countryOfResidence", "c": "PKIX personal data", "w": false }, + "1.3.6.1.5.5.7.10": { "d": "attributeCertificate", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.10.1": { "d": "authenticationInfo", "c": "PKIX attribute certificate extension", "w": false }, + "1.3.6.1.5.5.7.10.2": { "d": "accessIdentity", "c": "PKIX attribute certificate extension", "w": false }, + "1.3.6.1.5.5.7.10.3": { "d": "chargingIdentity", "c": "PKIX attribute certificate extension", "w": false }, + "1.3.6.1.5.5.7.10.4": { "d": "group", "c": "PKIX attribute certificate extension", "w": false }, + "1.3.6.1.5.5.7.10.5": { "d": "role", "c": "PKIX attribute certificate extension", "w": false }, + "1.3.6.1.5.5.7.10.6": { "d": "wlanSSID", "c": "PKIX attribute-certificate extension", "w": false }, + "1.3.6.1.5.5.7.11": { "d": "personalData", "c": "PKIX qualified certificates", "w": false }, + "1.3.6.1.5.5.7.11.1": { "d": "pkixQCSyntax-v1", "c": "PKIX qualified certificates", "w": false }, + "1.3.6.1.5.5.7.14.2": { "d": "resourceCertificatePolicy", "c": "PKIX policies", "w": false }, + "1.3.6.1.5.5.7.20": { "d": "logo", "c": "PKIX qualified certificates", "w": false }, + "1.3.6.1.5.5.7.20.1": { "d": "logoLoyalty", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.20.2": { "d": "logoBackground", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.48.1": { "d": "ocsp", "c": "PKIX", "w": false }, + "1.3.6.1.5.5.7.48.1.1": { "d": "ocspBasic", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.2": { "d": "ocspNonce", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.3": { "d": "ocspCRL", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.4": { "d": "ocspResponse", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.5": { "d": "ocspNoCheck", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.6": { "d": "ocspArchiveCutoff", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.1.7": { "d": "ocspServiceLocator", "c": "OCSP", "w": false }, + "1.3.6.1.5.5.7.48.2": { "d": "caIssuers", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.3": { "d": "timeStamping", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.4": { "d": "dvcs", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.5": { "d": "caRepository", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.7": { "d": "signedObjectRepository", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.10": { "d": "rpkiManifest", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.7.48.11": { "d": "signedObject", "c": "PKIX subject/authority info access descriptor", "w": false }, + "1.3.6.1.5.5.8.1.1": { "d": "hmacMD5", "c": "ISAKMP HMAC algorithm", "w": false }, + "1.3.6.1.5.5.8.1.2": { "d": "hmacSHA", "c": "ISAKMP HMAC algorithm", "w": false }, + "1.3.6.1.5.5.8.1.3": { "d": "hmacTiger", "c": "ISAKMP HMAC algorithm", "w": false }, + "1.3.6.1.5.5.8.2.2": { "d": "iKEIntermediate", "c": "IKE ???", "w": false }, + "1.3.12.2.1011.7.1": { "d": "decEncryptionAlgorithm", "c": "DASS algorithm", "w": false }, + "1.3.12.2.1011.7.1.2": { "d": "decDEA", "c": "DASS encryption algorithm", "w": false }, + "1.3.12.2.1011.7.2": { "d": "decHashAlgorithm", "c": "DASS algorithm", "w": false }, + "1.3.12.2.1011.7.2.1": { "d": "decMD2", "c": "DASS hash algorithm", "w": false }, + "1.3.12.2.1011.7.2.2": { "d": "decMD4", "c": "DASS hash algorithm", "w": false }, + "1.3.12.2.1011.7.3": { "d": "decSignatureAlgorithm", "c": "DASS algorithm", "w": false }, + "1.3.12.2.1011.7.3.1": { "d": "decMD2withRSA", "c": "DASS signature algorithm", "w": false }, + "1.3.12.2.1011.7.3.2": { "d": "decMD4withRSA", "c": "DASS signature algorithm", "w": false }, + "1.3.12.2.1011.7.3.3": { "d": "decDEAMAC", "c": "DASS signature algorithm", "w": false }, + "1.3.14.2.26.5": { "d": "sha", "c": "Unsure about this OID", "w": false }, + "1.3.14.3.2.1.1": { "d": "rsa", "c": "X.509. Unsure about this OID", "w": false }, + "1.3.14.3.2.2": { "d": "md4WitRSA", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.3": { "d": "md5WithRSA", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.4": { "d": "md4WithRSAEncryption", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.2.1": { "d": "sqmod-N", "c": "X.509. Deprecated", "w": true }, + "1.3.14.3.2.3.1": { "d": "sqmod-NwithRSA", "c": "X.509. Deprecated", "w": true }, + "1.3.14.3.2.6": { "d": "desECB", "c": "", "w": false }, + "1.3.14.3.2.7": { "d": "desCBC", "c": "", "w": false }, + "1.3.14.3.2.8": { "d": "desOFB", "c": "", "w": false }, + "1.3.14.3.2.9": { "d": "desCFB", "c": "", "w": false }, + "1.3.14.3.2.10": { "d": "desMAC", "c": "", "w": false }, + "1.3.14.3.2.11": { "d": "rsaSignature", "c": "ISO 9796-2, also X9.31 Part 1", "w": false }, + "1.3.14.3.2.12": { "d": "dsa", "c": "OIW?, supposedly from an incomplete version of SDN.701 (doesn't match final SDN.701)", "w": true }, + "1.3.14.3.2.13": { "d": "dsaWithSHA", "c": "Oddball OIW OID. Incorrectly used by JDK 1.1 in place of (1 3 14 3 2 27)", "w": true }, + "1.3.14.3.2.14": { "d": "mdc2WithRSASignature", "c": "Oddball OIW OID using 9796-2 padding rules", "w": false }, + "1.3.14.3.2.15": { "d": "shaWithRSASignature", "c": "Oddball OIW OID using 9796-2 padding rules", "w": false }, + "1.3.14.3.2.16": { "d": "dhWithCommonModulus", "c": "Oddball OIW OID. Deprecated, use a plain DH OID instead", "w": true }, + "1.3.14.3.2.17": { "d": "desEDE", "c": "Oddball OIW OID. Mode is ECB", "w": false }, + "1.3.14.3.2.18": { "d": "sha", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.19": { "d": "mdc-2", "c": "Oddball OIW OID, DES-based hash, planned for X9.31 Part 2", "w": false }, + "1.3.14.3.2.20": { "d": "dsaCommon", "c": "Oddball OIW OID. Deprecated, use a plain DSA OID instead", "w": true }, + "1.3.14.3.2.21": { "d": "dsaCommonWithSHA", "c": "Oddball OIW OID. Deprecated, use a plain dsaWithSHA OID instead", "w": true }, + "1.3.14.3.2.22": { "d": "rsaKeyTransport", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.23": { "d": "keyed-hash-seal", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.2.24": { "d": "md2WithRSASignature", "c": "Oddball OIW OID using 9796-2 padding rules", "w": false }, + "1.3.14.3.2.25": { "d": "md5WithRSASignature", "c": "Oddball OIW OID using 9796-2 padding rules", "w": false }, + "1.3.14.3.2.26": { "d": "sha1", "c": "OIW", "w": false }, + "1.3.14.3.2.27": { "d": "dsaWithSHA1", "c": "OIW. This OID may also be assigned as ripemd-160", "w": false }, + "1.3.14.3.2.28": { "d": "dsaWithCommonSHA1", "c": "OIW", "w": false }, + "1.3.14.3.2.29": { "d": "sha-1WithRSAEncryption", "c": "Oddball OIW OID", "w": false }, + "1.3.14.3.3.1": { "d": "simple-strong-auth-mechanism", "c": "Oddball OIW OID", "w": false }, + "1.3.14.7.2.1.1": { "d": "ElGamal", "c": "Unsure about this OID", "w": false }, + "1.3.14.7.2.3.1": { "d": "md2WithRSA", "c": "Unsure about this OID", "w": false }, + "1.3.14.7.2.3.2": { "d": "md2WithElGamal", "c": "Unsure about this OID", "w": false }, + "1.3.36.1": { "d": "document", "c": "Teletrust document", "w": false }, + "1.3.36.1.1": { "d": "finalVersion", "c": "Teletrust document", "w": false }, + "1.3.36.1.2": { "d": "draft", "c": "Teletrust document", "w": false }, + "1.3.36.2": { "d": "sio", "c": "Teletrust sio", "w": false }, + "1.3.36.2.1": { "d": "sedu", "c": "Teletrust sio", "w": false }, + "1.3.36.3": { "d": "algorithm", "c": "Teletrust algorithm", "w": false }, + "1.3.36.3.1": { "d": "encryptionAlgorithm", "c": "Teletrust algorithm", "w": false }, + "1.3.36.3.1.1": { "d": "des", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.1.1": { "d": "desECB_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.1.1.1": { "d": "desECB_ISOpad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.1.2.1": { "d": "desCBC_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.1.2.1.1": { "d": "desCBC_ISOpad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.3": { "d": "des_3", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.3.1.1": { "d": "des_3ECB_pad", "c": "Teletrust encryption algorithm. EDE triple DES", "w": false }, + "1.3.36.3.1.3.1.1.1": { "d": "des_3ECB_ISOpad", "c": "Teletrust encryption algorithm. EDE triple DES", "w": false }, + "1.3.36.3.1.3.2.1": { "d": "des_3CBC_pad", "c": "Teletrust encryption algorithm. EDE triple DES", "w": false }, + "1.3.36.3.1.3.2.1.1": { "d": "des_3CBC_ISOpad", "c": "Teletrust encryption algorithm. EDE triple DES", "w": false }, + "1.3.36.3.1.2": { "d": "idea", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.1": { "d": "ideaECB", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.1.1": { "d": "ideaECB_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.1.1.1": { "d": "ideaECB_ISOpad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.2": { "d": "ideaCBC", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.2.1": { "d": "ideaCBC_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.2.1.1": { "d": "ideaCBC_ISOpad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.3": { "d": "ideaOFB", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.2.4": { "d": "ideaCFB", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.4": { "d": "rsaEncryption", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.4.512.17": { "d": "rsaEncryptionWithlmod512expe17", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.5": { "d": "bsi-1", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.5.1": { "d": "bsi_1ECB_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.5.2": { "d": "bsi_1CBC_pad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.1.5.2.1": { "d": "bsi_1CBC_PEMpad", "c": "Teletrust encryption algorithm", "w": false }, + "1.3.36.3.2": { "d": "hashAlgorithm", "c": "Teletrust algorithm", "w": false }, + "1.3.36.3.2.1": { "d": "ripemd160", "c": "Teletrust hash algorithm", "w": false }, + "1.3.36.3.2.2": { "d": "ripemd128", "c": "Teletrust hash algorithm", "w": false }, + "1.3.36.3.2.3": { "d": "ripemd256", "c": "Teletrust hash algorithm", "w": false }, + "1.3.36.3.2.4": { "d": "mdc2singleLength", "c": "Teletrust hash algorithm", "w": false }, + "1.3.36.3.2.5": { "d": "mdc2doubleLength", "c": "Teletrust hash algorithm", "w": false }, + "1.3.36.3.3": { "d": "signatureAlgorithm", "c": "Teletrust algorithm", "w": false }, + "1.3.36.3.3.1": { "d": "rsaSignature", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.1": { "d": "rsaSignatureWithsha1", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.1.1024.11": { "d": "rsaSignatureWithsha1_l1024_l11", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.2": { "d": "rsaSignatureWithripemd160", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.2.1024.11": { "d": "rsaSignatureWithripemd160_l1024_l11", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.3": { "d": "rsaSignatureWithrimpemd128", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.1.4": { "d": "rsaSignatureWithrimpemd256", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2": { "d": "ecsieSign", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2.1": { "d": "ecsieSignWithsha1", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2.2": { "d": "ecsieSignWithripemd160", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2.3": { "d": "ecsieSignWithmd2", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2.4": { "d": "ecsieSignWithmd5", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.3.3.2.8.1.1.1": { "d": "brainpoolP160r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.2": { "d": "brainpoolP160t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.3": { "d": "brainpoolP192r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.4": { "d": "brainpoolP192t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.5": { "d": "brainpoolP224r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.6": { "d": "brainpoolP224t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.7": { "d": "brainpoolP256r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.8": { "d": "brainpoolP256t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.9": { "d": "brainpoolP320r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.10": { "d": "brainpoolP320t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.11": { "d": "brainpoolP384r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.12": { "d": "brainpoolP384t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.13": { "d": "brainpoolP512r1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.3.2.8.1.1.14": { "d": "brainpoolP512t1", "c": "ECC Brainpool Standard Curves and Curve Generation", "w": false }, + "1.3.36.3.4": { "d": "signatureScheme", "c": "Teletrust algorithm", "w": false }, + "1.3.36.3.4.1": { "d": "sigS_ISO9796-1", "c": "Teletrust signature scheme", "w": false }, + "1.3.36.3.4.2": { "d": "sigS_ISO9796-2", "c": "Teletrust signature scheme", "w": false }, + "1.3.36.3.4.2.1": { "d": "sigS_ISO9796-2Withred", "c": "Teletrust signature scheme. Unsure what this is supposed to be", "w": false }, + "1.3.36.3.4.2.2": { "d": "sigS_ISO9796-2Withrsa", "c": "Teletrust signature scheme. Unsure what this is supposed to be", "w": false }, + "1.3.36.3.4.2.3": { "d": "sigS_ISO9796-2Withrnd", "c": "Teletrust signature scheme. 9796-2 with random number in padding field", "w": false }, + "1.3.36.4": { "d": "attribute", "c": "Teletrust attribute", "w": false }, + "1.3.36.5": { "d": "policy", "c": "Teletrust policy", "w": false }, + "1.3.36.6": { "d": "api", "c": "Teletrust API", "w": false }, + "1.3.36.6.1": { "d": "manufacturer-specific_api", "c": "Teletrust API", "w": false }, + "1.3.36.6.1.1": { "d": "utimaco-api", "c": "Teletrust API", "w": false }, + "1.3.36.6.2": { "d": "functionality-specific_api", "c": "Teletrust API", "w": false }, + "1.3.36.7": { "d": "keymgmnt", "c": "Teletrust key management", "w": false }, + "1.3.36.7.1": { "d": "keyagree", "c": "Teletrust key management", "w": false }, + "1.3.36.7.1.1": { "d": "bsiPKE", "c": "Teletrust key management", "w": false }, + "1.3.36.7.2": { "d": "keytrans", "c": "Teletrust key management", "w": false }, + "1.3.36.7.2.1": { "d": "encISO9796-2Withrsa", "c": "Teletrust key management. 9796-2 with key stored in hash field", "w": false }, + "1.3.36.8.1.1": { "d": "Teletrust SigGConform policyIdentifier", "c": "Teletrust policy", "w": false }, + "1.3.36.8.2.1": { "d": "directoryService", "c": "Teletrust extended key usage", "w": false }, + "1.3.36.8.3.1": { "d": "dateOfCertGen", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.2": { "d": "procuration", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.3": { "d": "admission", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.4": { "d": "monetaryLimit", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.5": { "d": "declarationOfMajority", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.6": { "d": "integratedCircuitCardSerialNumber", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.7": { "d": "pKReference", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.8": { "d": "restriction", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.9": { "d": "retrieveIfAllowed", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.10": { "d": "requestedCertificate", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.11": { "d": "namingAuthorities", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.11.1": { "d": "rechtWirtschaftSteuern", "c": "Teletrust naming authorities", "w": false }, + "1.3.36.8.3.11.1.1": { "d": "rechtsanwaeltin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.2": { "d": "rechtsanwalt", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.3": { "d": "rechtsBeistand", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.4": { "d": "steuerBeraterin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.5": { "d": "steuerBerater", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.6": { "d": "steuerBevollmaechtigte", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.7": { "d": "steuerBevollmaechtigter", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.8": { "d": "notarin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.9": { "d": "notar", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.10": { "d": "notarVertreterin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.11": { "d": "notarVertreter", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.12": { "d": "notariatsVerwalterin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.13": { "d": "notariatsVerwalter", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.14": { "d": "wirtschaftsPrueferin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.15": { "d": "wirtschaftsPruefer", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.16": { "d": "vereidigteBuchprueferin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.17": { "d": "vereidigterBuchpruefer", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.18": { "d": "patentAnwaeltin", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.11.1.19": { "d": "patentAnwalt", "c": "Teletrust ProfessionInfo", "w": false }, + "1.3.36.8.3.12": { "d": "certInDirSince", "c": "Teletrust OCSP attribute (obsolete)", "w": true }, + "1.3.36.8.3.13": { "d": "certHash", "c": "Teletrust OCSP attribute", "w": false }, + "1.3.36.8.3.14": { "d": "nameAtBirth", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.3.15": { "d": "additionalInformation", "c": "Teletrust attribute", "w": false }, + "1.3.36.8.4.1": { "d": "personalData", "c": "Teletrust OtherName attribute", "w": false }, + "1.3.36.8.4.8": { "d": "restriction", "c": "Teletrust attribute certificate attribute", "w": false }, + "1.3.36.8.5.1.1.1": { "d": "rsaIndicateSHA1", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.5.1.1.2": { "d": "rsaIndicateRIPEMD160", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.5.1.1.3": { "d": "rsaWithSHA1", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.5.1.1.4": { "d": "rsaWithRIPEMD160", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.5.1.2.1": { "d": "dsaExtended", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.5.1.2.2": { "d": "dsaWithRIPEMD160", "c": "Teletrust signature algorithm", "w": false }, + "1.3.36.8.6.1": { "d": "cert", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.2": { "d": "certRef", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.3": { "d": "attrCert", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.4": { "d": "attrRef", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.5": { "d": "fileName", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.6": { "d": "storageTime", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.7": { "d": "fileSize", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.8": { "d": "location", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.9": { "d": "sigNumber", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.6.10": { "d": "autoGen", "c": "Teletrust signature attributes", "w": false }, + "1.3.36.8.7.1.1": { "d": "ptAdobeILL", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.2": { "d": "ptAmiPro", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.3": { "d": "ptAutoCAD", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.4": { "d": "ptBinary", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.5": { "d": "ptBMP", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.6": { "d": "ptCGM", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.7": { "d": "ptCorelCRT", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.8": { "d": "ptCorelDRW", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.9": { "d": "ptCorelEXC", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.10": { "d": "ptCorelPHT", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.11": { "d": "ptDraw", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.12": { "d": "ptDVI", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.13": { "d": "ptEPS", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.14": { "d": "ptExcel", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.15": { "d": "ptGEM", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.16": { "d": "ptGIF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.17": { "d": "ptHPGL", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.18": { "d": "ptJPEG", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.19": { "d": "ptKodak", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.20": { "d": "ptLaTeX", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.21": { "d": "ptLotus", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.22": { "d": "ptLotusPIC", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.23": { "d": "ptMacPICT", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.24": { "d": "ptMacWord", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.25": { "d": "ptMSWfD", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.26": { "d": "ptMSWord", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.27": { "d": "ptMSWord2", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.28": { "d": "ptMSWord6", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.29": { "d": "ptMSWord8", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.30": { "d": "ptPDF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.31": { "d": "ptPIF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.32": { "d": "ptPostscript", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.33": { "d": "ptRTF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.34": { "d": "ptSCITEX", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.35": { "d": "ptTAR", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.36": { "d": "ptTarga", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.37": { "d": "ptTeX", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.38": { "d": "ptText", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.39": { "d": "ptTIFF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.40": { "d": "ptTIFF-FC", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.41": { "d": "ptUID", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.42": { "d": "ptUUEncode", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.43": { "d": "ptWMF", "c": "Teletrust presentation types", "w": false }, + "1.3.36.8.7.1.45": { "d": "ptWPGrph", "c": "Teletrust presentation types", "w": false }, + "1.3.101.1.4": { "d": "thawte-ce", "c": "Thawte", "w": false }, + "1.3.101.1.4.1": { "d": "strongExtranet", "c": "Thawte certificate extension", "w": false }, + "1.3.132.0.1": { "d": "sect163k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.2": { "d": "sect163r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.3": { "d": "sect239k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.4": { "d": "sect113r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.5": { "d": "sect113r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.6": { "d": "secp112r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.7": { "d": "secp112r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.8": { "d": "secp160r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.9": { "d": "secp160k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.10": { "d": "secp256k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.15": { "d": "sect163r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.16": { "d": "sect283k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.17": { "d": "sect283r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.22": { "d": "sect131r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.23": { "d": "sect131r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.24": { "d": "sect193r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.25": { "d": "sect193r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.26": { "d": "sect233k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.27": { "d": "sect233r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.28": { "d": "secp128r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.29": { "d": "secp128r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.30": { "d": "secp160r2", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.31": { "d": "secp192k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.32": { "d": "secp224k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.33": { "d": "secp224r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.34": { "d": "secp384r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.35": { "d": "secp521r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.36": { "d": "sect409k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.37": { "d": "sect409r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.38": { "d": "sect571k1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "1.3.132.0.39": { "d": "sect571r1", "c": "SECG (Certicom) named elliptic curve", "w": false }, + "2.5.4.0": { "d": "objectClass", "c": "X.520 DN component", "w": false }, + "2.5.4.1": { "d": "aliasedEntryName", "c": "X.520 DN component", "w": false }, + "2.5.4.2": { "d": "knowledgeInformation", "c": "X.520 DN component", "w": false }, + "2.5.4.3": { "d": "commonName", "c": "X.520 DN component", "w": false }, + "2.5.4.4": { "d": "surname", "c": "X.520 DN component", "w": false }, + "2.5.4.5": { "d": "serialNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.6": { "d": "countryName", "c": "X.520 DN component", "w": false }, + "2.5.4.7": { "d": "localityName", "c": "X.520 DN component", "w": false }, + "2.5.4.7.1": { "d": "collectiveLocalityName", "c": "X.520 DN component", "w": false }, + "2.5.4.8": { "d": "stateOrProvinceName", "c": "X.520 DN component", "w": false }, + "2.5.4.8.1": { "d": "collectiveStateOrProvinceName", "c": "X.520 DN component", "w": false }, + "2.5.4.9": { "d": "streetAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.9.1": { "d": "collectiveStreetAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.10": { "d": "organizationName", "c": "X.520 DN component", "w": false }, + "2.5.4.10.1": { "d": "collectiveOrganizationName", "c": "X.520 DN component", "w": false }, + "2.5.4.11": { "d": "organizationalUnitName", "c": "X.520 DN component", "w": false }, + "2.5.4.11.1": { "d": "collectiveOrganizationalUnitName", "c": "X.520 DN component", "w": false }, + "2.5.4.12": { "d": "title", "c": "X.520 DN component", "w": false }, + "2.5.4.13": { "d": "description", "c": "X.520 DN component", "w": false }, + "2.5.4.14": { "d": "searchGuide", "c": "X.520 DN component", "w": false }, + "2.5.4.15": { "d": "businessCategory", "c": "X.520 DN component", "w": false }, + "2.5.4.16": { "d": "postalAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.16.1": { "d": "collectivePostalAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.17": { "d": "postalCode", "c": "X.520 DN component", "w": false }, + "2.5.4.17.1": { "d": "collectivePostalCode", "c": "X.520 DN component", "w": false }, + "2.5.4.18": { "d": "postOfficeBox", "c": "X.520 DN component", "w": false }, + "2.5.4.18.1": { "d": "collectivePostOfficeBox", "c": "X.520 DN component", "w": false }, + "2.5.4.19": { "d": "physicalDeliveryOfficeName", "c": "X.520 DN component", "w": false }, + "2.5.4.19.1": { "d": "collectivePhysicalDeliveryOfficeName", "c": "X.520 DN component", "w": false }, + "2.5.4.20": { "d": "telephoneNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.20.1": { "d": "collectiveTelephoneNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.21": { "d": "telexNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.21.1": { "d": "collectiveTelexNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.22": { "d": "teletexTerminalIdentifier", "c": "X.520 DN component", "w": false }, + "2.5.4.22.1": { "d": "collectiveTeletexTerminalIdentifier", "c": "X.520 DN component", "w": false }, + "2.5.4.23": { "d": "facsimileTelephoneNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.23.1": { "d": "collectiveFacsimileTelephoneNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.24": { "d": "x121Address", "c": "X.520 DN component", "w": false }, + "2.5.4.25": { "d": "internationalISDNNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.25.1": { "d": "collectiveInternationalISDNNumber", "c": "X.520 DN component", "w": false }, + "2.5.4.26": { "d": "registeredAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.27": { "d": "destinationIndicator", "c": "X.520 DN component", "w": false }, + "2.5.4.28": { "d": "preferredDeliveryMehtod", "c": "X.520 DN component", "w": false }, + "2.5.4.29": { "d": "presentationAddress", "c": "X.520 DN component", "w": false }, + "2.5.4.30": { "d": "supportedApplicationContext", "c": "X.520 DN component", "w": false }, + "2.5.4.31": { "d": "member", "c": "X.520 DN component", "w": false }, + "2.5.4.32": { "d": "owner", "c": "X.520 DN component", "w": false }, + "2.5.4.33": { "d": "roleOccupant", "c": "X.520 DN component", "w": false }, + "2.5.4.34": { "d": "seeAlso", "c": "X.520 DN component", "w": false }, + "2.5.4.35": { "d": "userPassword", "c": "X.520 DN component", "w": false }, + "2.5.4.36": { "d": "userCertificate", "c": "X.520 DN component", "w": false }, + "2.5.4.37": { "d": "caCertificate", "c": "X.520 DN component", "w": false }, + "2.5.4.38": { "d": "authorityRevocationList", "c": "X.520 DN component", "w": false }, + "2.5.4.39": { "d": "certificateRevocationList", "c": "X.520 DN component", "w": false }, + "2.5.4.40": { "d": "crossCertificatePair", "c": "X.520 DN component", "w": false }, + "2.5.4.41": { "d": "name", "c": "X.520 DN component", "w": false }, + "2.5.4.42": { "d": "givenName", "c": "X.520 DN component", "w": false }, + "2.5.4.43": { "d": "initials", "c": "X.520 DN component", "w": false }, + "2.5.4.44": { "d": "generationQualifier", "c": "X.520 DN component", "w": false }, + "2.5.4.45": { "d": "uniqueIdentifier", "c": "X.520 DN component", "w": false }, + "2.5.4.46": { "d": "dnQualifier", "c": "X.520 DN component", "w": false }, + "2.5.4.47": { "d": "enhancedSearchGuide", "c": "X.520 DN component", "w": false }, + "2.5.4.48": { "d": "protocolInformation", "c": "X.520 DN component", "w": false }, + "2.5.4.49": { "d": "distinguishedName", "c": "X.520 DN component", "w": false }, + "2.5.4.50": { "d": "uniqueMember", "c": "X.520 DN component", "w": false }, + "2.5.4.51": { "d": "houseIdentifier", "c": "X.520 DN component", "w": false }, + "2.5.4.52": { "d": "supportedAlgorithms", "c": "X.520 DN component", "w": false }, + "2.5.4.53": { "d": "deltaRevocationList", "c": "X.520 DN component", "w": false }, + "2.5.4.54": { "d": "dmdName", "c": "X.520 DN component", "w": false }, + "2.5.4.55": { "d": "clearance", "c": "X.520 DN component", "w": false }, + "2.5.4.56": { "d": "defaultDirQop", "c": "X.520 DN component", "w": false }, + "2.5.4.57": { "d": "attributeIntegrityInfo", "c": "X.520 DN component", "w": false }, + "2.5.4.58": { "d": "attributeCertificate", "c": "X.520 DN component", "w": false }, + "2.5.4.59": { "d": "attributeCertificateRevocationList", "c": "X.520 DN component", "w": false }, + "2.5.4.60": { "d": "confKeyInfo", "c": "X.520 DN component", "w": false }, + "2.5.4.61": { "d": "aACertificate", "c": "X.520 DN component", "w": false }, + "2.5.4.62": { "d": "attributeDescriptorCertificate", "c": "X.520 DN component", "w": false }, + "2.5.4.63": { "d": "attributeAuthorityRevocationList", "c": "X.520 DN component", "w": false }, + "2.5.4.64": { "d": "familyInformation", "c": "X.520 DN component", "w": false }, + "2.5.4.65": { "d": "pseudonym", "c": "X.520 DN component", "w": false }, + "2.5.4.66": { "d": "communicationsService", "c": "X.520 DN component", "w": false }, + "2.5.4.67": { "d": "communicationsNetwork", "c": "X.520 DN component", "w": false }, + "2.5.4.68": { "d": "certificationPracticeStmt", "c": "X.520 DN component", "w": false }, + "2.5.4.69": { "d": "certificatePolicy", "c": "X.520 DN component", "w": false }, + "2.5.4.70": { "d": "pkiPath", "c": "X.520 DN component", "w": false }, + "2.5.4.71": { "d": "privPolicy", "c": "X.520 DN component", "w": false }, + "2.5.4.72": { "d": "role", "c": "X.520 DN component", "w": false }, + "2.5.4.73": { "d": "delegationPath", "c": "X.520 DN component", "w": false }, + "2.5.4.74": { "d": "protPrivPolicy", "c": "X.520 DN component", "w": false }, + "2.5.4.75": { "d": "xMLPrivilegeInfo", "c": "X.520 DN component", "w": false }, + "2.5.4.76": { "d": "xmlPrivPolicy", "c": "X.520 DN component", "w": false }, + "2.5.4.82": { "d": "permission", "c": "X.520 DN component", "w": false }, + "2.5.6.0": { "d": "top", "c": "X.520 objectClass", "w": false }, + "2.5.6.1": { "d": "alias", "c": "X.520 objectClass", "w": false }, + "2.5.6.2": { "d": "country", "c": "X.520 objectClass", "w": false }, + "2.5.6.3": { "d": "locality", "c": "X.520 objectClass", "w": false }, + "2.5.6.4": { "d": "organization", "c": "X.520 objectClass", "w": false }, + "2.5.6.5": { "d": "organizationalUnit", "c": "X.520 objectClass", "w": false }, + "2.5.6.6": { "d": "person", "c": "X.520 objectClass", "w": false }, + "2.5.6.7": { "d": "organizationalPerson", "c": "X.520 objectClass", "w": false }, + "2.5.6.8": { "d": "organizationalRole", "c": "X.520 objectClass", "w": false }, + "2.5.6.9": { "d": "groupOfNames", "c": "X.520 objectClass", "w": false }, + "2.5.6.10": { "d": "residentialPerson", "c": "X.520 objectClass", "w": false }, + "2.5.6.11": { "d": "applicationProcess", "c": "X.520 objectClass", "w": false }, + "2.5.6.12": { "d": "applicationEntity", "c": "X.520 objectClass", "w": false }, + "2.5.6.13": { "d": "dSA", "c": "X.520 objectClass", "w": false }, + "2.5.6.14": { "d": "device", "c": "X.520 objectClass", "w": false }, + "2.5.6.15": { "d": "strongAuthenticationUser", "c": "X.520 objectClass", "w": false }, + "2.5.6.16": { "d": "certificateAuthority", "c": "X.520 objectClass", "w": false }, + "2.5.6.17": { "d": "groupOfUniqueNames", "c": "X.520 objectClass", "w": false }, + "2.5.6.21": { "d": "pkiUser", "c": "X.520 objectClass", "w": false }, + "2.5.6.22": { "d": "pkiCA", "c": "X.520 objectClass", "w": false }, + "2.5.8.1.1": { "d": "rsa", "c": "X.500 algorithms. Ambiguous, since no padding rules specified", "w": true }, + "2.5.29.1": { "d": "authorityKeyIdentifier", "c": "X.509 extension. Deprecated, use 2 5 29 35 instead", "w": true }, + "2.5.29.2": { "d": "keyAttributes", "c": "X.509 extension. Obsolete, use keyUsage/extKeyUsage instead", "w": true }, + "2.5.29.3": { "d": "certificatePolicies", "c": "X.509 extension. Deprecated, use 2 5 29 32 instead", "w": true }, + "2.5.29.4": { "d": "keyUsageRestriction", "c": "X.509 extension. Obsolete, use keyUsage/extKeyUsage instead", "w": true }, + "2.5.29.5": { "d": "policyMapping", "c": "X.509 extension. Deprecated, use 2 5 29 33 instead", "w": true }, + "2.5.29.6": { "d": "subtreesConstraint", "c": "X.509 extension. Obsolete, use nameConstraints instead", "w": true }, + "2.5.29.7": { "d": "subjectAltName", "c": "X.509 extension. Deprecated, use 2 5 29 17 instead", "w": true }, + "2.5.29.8": { "d": "issuerAltName", "c": "X.509 extension. Deprecated, use 2 5 29 18 instead", "w": true }, + "2.5.29.9": { "d": "subjectDirectoryAttributes", "c": "X.509 extension", "w": false }, + "2.5.29.10": { "d": "basicConstraints", "c": "X.509 extension. Deprecated, use 2 5 29 19 instead", "w": true }, + "2.5.29.11": { "d": "nameConstraints", "c": "X.509 extension. Deprecated, use 2 5 29 30 instead", "w": true }, + "2.5.29.12": { "d": "policyConstraints", "c": "X.509 extension. Deprecated, use 2 5 29 36 instead", "w": true }, + "2.5.29.13": { "d": "basicConstraints", "c": "X.509 extension. Deprecated, use 2 5 29 19 instead", "w": true }, + "2.5.29.14": { "d": "subjectKeyIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.15": { "d": "keyUsage", "c": "X.509 extension", "w": false }, + "2.5.29.16": { "d": "privateKeyUsagePeriod", "c": "X.509 extension", "w": false }, + "2.5.29.17": { "d": "subjectAltName", "c": "X.509 extension", "w": false }, + "2.5.29.18": { "d": "issuerAltName", "c": "X.509 extension", "w": false }, + "2.5.29.19": { "d": "basicConstraints", "c": "X.509 extension", "w": false }, + "2.5.29.20": { "d": "cRLNumber", "c": "X.509 extension", "w": false }, + "2.5.29.21": { "d": "cRLReason", "c": "X.509 extension", "w": false }, + "2.5.29.22": { "d": "expirationDate", "c": "X.509 extension. Deprecated, alternative OID uncertain", "w": true }, + "2.5.29.23": { "d": "instructionCode", "c": "X.509 extension", "w": false }, + "2.5.29.24": { "d": "invalidityDate", "c": "X.509 extension", "w": false }, + "2.5.29.25": { "d": "cRLDistributionPoints", "c": "X.509 extension. Deprecated, use 2 5 29 31 instead", "w": true }, + "2.5.29.26": { "d": "issuingDistributionPoint", "c": "X.509 extension. Deprecated, use 2 5 29 28 instead", "w": true }, + "2.5.29.27": { "d": "deltaCRLIndicator", "c": "X.509 extension", "w": false }, + "2.5.29.28": { "d": "issuingDistributionPoint", "c": "X.509 extension", "w": false }, + "2.5.29.29": { "d": "certificateIssuer", "c": "X.509 extension", "w": false }, + "2.5.29.30": { "d": "nameConstraints", "c": "X.509 extension", "w": false }, + "2.5.29.31": { "d": "cRLDistributionPoints", "c": "X.509 extension", "w": false }, + "2.5.29.32": { "d": "certificatePolicies", "c": "X.509 extension", "w": false }, + "2.5.29.32.0": { "d": "anyPolicy", "c": "X.509 certificate policy", "w": false }, + "2.5.29.33": { "d": "policyMappings", "c": "X.509 extension", "w": false }, + "2.5.29.34": { "d": "policyConstraints", "c": "X.509 extension. Deprecated, use 2 5 29 36 instead", "w": true }, + "2.5.29.35": { "d": "authorityKeyIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.36": { "d": "policyConstraints", "c": "X.509 extension", "w": false }, + "2.5.29.37": { "d": "extKeyUsage", "c": "X.509 extension", "w": false }, + "2.5.29.37.0": { "d": "anyExtendedKeyUsage", "c": "X.509 extended key usage", "w": false }, + "2.5.29.38": { "d": "authorityAttributeIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.39": { "d": "roleSpecCertIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.40": { "d": "cRLStreamIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.41": { "d": "basicAttConstraints", "c": "X.509 extension", "w": false }, + "2.5.29.42": { "d": "delegatedNameConstraints", "c": "X.509 extension", "w": false }, + "2.5.29.43": { "d": "timeSpecification", "c": "X.509 extension", "w": false }, + "2.5.29.44": { "d": "cRLScope", "c": "X.509 extension", "w": false }, + "2.5.29.45": { "d": "statusReferrals", "c": "X.509 extension", "w": false }, + "2.5.29.46": { "d": "freshestCRL", "c": "X.509 extension", "w": false }, + "2.5.29.47": { "d": "orderedList", "c": "X.509 extension", "w": false }, + "2.5.29.48": { "d": "attributeDescriptor", "c": "X.509 extension", "w": false }, + "2.5.29.49": { "d": "userNotice", "c": "X.509 extension", "w": false }, + "2.5.29.50": { "d": "sOAIdentifier", "c": "X.509 extension", "w": false }, + "2.5.29.51": { "d": "baseUpdateTime", "c": "X.509 extension", "w": false }, + "2.5.29.52": { "d": "acceptableCertPolicies", "c": "X.509 extension", "w": false }, + "2.5.29.53": { "d": "deltaInfo", "c": "X.509 extension", "w": false }, + "2.5.29.54": { "d": "inhibitAnyPolicy", "c": "X.509 extension", "w": false }, + "2.5.29.55": { "d": "targetInformation", "c": "X.509 extension", "w": false }, + "2.5.29.56": { "d": "noRevAvail", "c": "X.509 extension", "w": false }, + "2.5.29.57": { "d": "acceptablePrivilegePolicies", "c": "X.509 extension", "w": false }, + "2.5.29.58": { "d": "toBeRevoked", "c": "X.509 extension", "w": false }, + "2.5.29.59": { "d": "revokedGroups", "c": "X.509 extension", "w": false }, + "2.5.29.60": { "d": "expiredCertsOnCRL", "c": "X.509 extension", "w": false }, + "2.5.29.61": { "d": "indirectIssuer", "c": "X.509 extension", "w": false }, + "2.5.29.62": { "d": "noAssertion", "c": "X.509 extension", "w": false }, + "2.5.29.63": { "d": "aAissuingDistributionPoint", "c": "X.509 extension", "w": false }, + "2.5.29.64": { "d": "issuedOnBehalfOf", "c": "X.509 extension", "w": false }, + "2.5.29.65": { "d": "singleUse", "c": "X.509 extension", "w": false }, + "2.5.29.66": { "d": "groupAC", "c": "X.509 extension", "w": false }, + "2.5.29.67": { "d": "allowedAttAss", "c": "X.509 extension", "w": false }, + "2.5.29.68": { "d": "attributeMappings", "c": "X.509 extension", "w": false }, + "2.5.29.69": { "d": "holderNameConstraints", "c": "X.509 extension", "w": false }, + "2.16.724.1.2.2.4.1": { "d": "personalDataInfo", "c": "Spanish Government PKI?", "w": false }, + "2.16.840.1.101.2.1.1.1": { "d": "sdnsSignatureAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.2": { "d": "fortezzaSignatureAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicSignatureAlgorithm, this OID is better known as dsaWithSHA-1.", "w": false }, + "2.16.840.1.101.2.1.1.3": { "d": "sdnsConfidentialityAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.4": { "d": "fortezzaConfidentialityAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicConfidentialityAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.5": { "d": "sdnsIntegrityAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.6": { "d": "fortezzaIntegrityAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicIntegrityAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.7": { "d": "sdnsTokenProtectionAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.8": { "d": "fortezzaTokenProtectionAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly know as mosaicTokenProtectionAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.9": { "d": "sdnsKeyManagementAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.10": { "d": "fortezzaKeyManagementAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyManagementAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.11": { "d": "sdnsKMandSigAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.12": { "d": "fortezzaKMandSigAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandSigAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.13": { "d": "suiteASignatureAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.14": { "d": "suiteAConfidentialityAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.15": { "d": "suiteAIntegrityAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.16": { "d": "suiteATokenProtectionAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.17": { "d": "suiteAKeyManagementAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.18": { "d": "suiteAKMandSigAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.19": { "d": "fortezzaUpdatedSigAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedSigAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.20": { "d": "fortezzaKMandUpdSigAlgorithms", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicKMandUpdSigAlgorithms", "w": false }, + "2.16.840.1.101.2.1.1.21": { "d": "fortezzaUpdatedIntegAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicUpdatedIntegAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.22": { "d": "keyExchangeAlgorithm", "c": "SDN.700 INFOSEC algorithms. Formerly known as mosaicKeyEncryptionAlgorithm", "w": false }, + "2.16.840.1.101.2.1.1.23": { "d": "fortezzaWrap80Algorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.1.24": { "d": "kEAKeyEncryptionAlgorithm", "c": "SDN.700 INFOSEC algorithms", "w": false }, + "2.16.840.1.101.2.1.2.1": { "d": "rfc822MessageFormat", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.2": { "d": "emptyContent", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.3": { "d": "cspContentType", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.42": { "d": "mspRev3ContentType", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.48": { "d": "mspContentType", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.49": { "d": "mspRekeyAgentProtocol", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.50": { "d": "mspMMP", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.66": { "d": "mspRev3-1ContentType", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.72": { "d": "forwardedMSPMessageBodyPart", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.73": { "d": "mspForwardedMessageParameters", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.74": { "d": "forwardedCSPMsgBodyPart", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.75": { "d": "cspForwardedMessageParameters", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.2.76": { "d": "mspMMP2", "c": "SDN.700 INFOSEC format", "w": false }, + "2.16.840.1.101.2.1.3.1": { "d": "sdnsSecurityPolicy", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.2": { "d": "sdnsPRBAC", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.3": { "d": "mosaicPRBAC", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.10": { "d": "siSecurityPolicy", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.10.0": { "d": "siNASP", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.1": { "d": "siELCO", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.2": { "d": "siTK", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.3": { "d": "siDSAP", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.4": { "d": "siSSSS", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.5": { "d": "siDNASP", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.6": { "d": "siBYEMAN", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.7": { "d": "siREL-US", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.8": { "d": "siREL-AUS", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.9": { "d": "siREL-CAN", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.10": { "d": "siREL_UK", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.11": { "d": "siREL-NZ", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.10.12": { "d": "siGeneric", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.11": { "d": "genser", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.11.0": { "d": "genserNations", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.11.1": { "d": "genserComsec", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.11.2": { "d": "genserAcquisition", "c": "SDN.700 INFOSEC policy (obsolete)", "w": true }, + "2.16.840.1.101.2.1.3.11.3": { "d": "genserSecurityCategories", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.11.3.0": { "d": "genserTagSetName", "c": "SDN.700 INFOSEC GENSER policy", "w": false }, + "2.16.840.1.101.2.1.3.12": { "d": "defaultSecurityPolicy", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.13": { "d": "capcoMarkings", "c": "SDN.700 INFOSEC policy", "w": false }, + "2.16.840.1.101.2.1.3.13.0": { "d": "capcoSecurityCategories", "c": "SDN.700 INFOSEC policy CAPCO markings", "w": false }, + "2.16.840.1.101.2.1.3.13.0.1": { "d": "capcoTagSetName1", "c": "SDN.700 INFOSEC policy CAPCO markings", "w": false }, + "2.16.840.1.101.2.1.3.13.0.2": { "d": "capcoTagSetName2", "c": "SDN.700 INFOSEC policy CAPCO markings", "w": false }, + "2.16.840.1.101.2.1.3.13.0.3": { "d": "capcoTagSetName3", "c": "SDN.700 INFOSEC policy CAPCO markings", "w": false }, + "2.16.840.1.101.2.1.3.13.0.4": { "d": "capcoTagSetName4", "c": "SDN.700 INFOSEC policy CAPCO markings", "w": false }, + "2.16.840.1.101.2.1.5.1": { "d": "sdnsKeyManagementCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.2": { "d": "sdnsUserSignatureCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.3": { "d": "sdnsKMandSigCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.4": { "d": "fortezzaKeyManagementCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.5": { "d": "fortezzaKMandSigCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.6": { "d": "fortezzaUserSignatureCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.7": { "d": "fortezzaCASignatureCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.8": { "d": "sdnsCASignatureCertificate", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.10": { "d": "auxiliaryVector", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.11": { "d": "mlReceiptPolicy", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.12": { "d": "mlMembership", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.13": { "d": "mlAdministrators", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.14": { "d": "alid", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.20": { "d": "janUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.21": { "d": "febUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.22": { "d": "marUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.23": { "d": "aprUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.24": { "d": "mayUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.25": { "d": "junUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.26": { "d": "julUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.27": { "d": "augUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.28": { "d": "sepUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.29": { "d": "octUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.30": { "d": "novUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.31": { "d": "decUKMs", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.40": { "d": "metaSDNSckl", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.41": { "d": "sdnsCKL", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.42": { "d": "metaSDNSsignatureCKL", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.43": { "d": "sdnsSignatureCKL", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.44": { "d": "sdnsCertificateRevocationList", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.45": { "d": "fortezzaCertificateRevocationList", "c": "SDN.700 INFOSEC attributes (superseded)", "w": true }, + "2.16.840.1.101.2.1.5.46": { "d": "fortezzaCKL", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.47": { "d": "alExemptedAddressProcessor", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.48": { "d": "guard", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.49": { "d": "algorithmsSupported", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.50": { "d": "suiteAKeyManagementCertificate", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.51": { "d": "suiteAKMandSigCertificate", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.52": { "d": "suiteAUserSignatureCertificate", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.53": { "d": "prbacInfo", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.54": { "d": "prbacCAConstraints", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.55": { "d": "sigOrKMPrivileges", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.56": { "d": "commPrivileges", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.57": { "d": "labeledAttribute", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.58": { "d": "policyInformationFile", "c": "SDN.700 INFOSEC attributes (obsolete)", "w": true }, + "2.16.840.1.101.2.1.5.59": { "d": "secPolicyInformationFile", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.5.60": { "d": "cAClearanceConstraint", "c": "SDN.700 INFOSEC attributes", "w": false }, + "2.16.840.1.101.2.1.7.1": { "d": "cspExtns", "c": "SDN.700 INFOSEC extensions", "w": false }, + "2.16.840.1.101.2.1.7.1.0": { "d": "cspCsExtn", "c": "SDN.700 INFOSEC extensions", "w": false }, + "2.16.840.1.101.2.1.8.1": { "d": "mISSISecurityCategories", "c": "SDN.700 INFOSEC security category", "w": false }, + "2.16.840.1.101.2.1.8.2": { "d": "standardSecurityLabelPrivileges", "c": "SDN.700 INFOSEC security category", "w": false }, + "2.16.840.1.101.2.1.10.1": { "d": "sigPrivileges", "c": "SDN.700 INFOSEC privileges", "w": false }, + "2.16.840.1.101.2.1.10.2": { "d": "kmPrivileges", "c": "SDN.700 INFOSEC privileges", "w": false }, + "2.16.840.1.101.2.1.10.3": { "d": "namedTagSetPrivilege", "c": "SDN.700 INFOSEC privileges", "w": false }, + "2.16.840.1.101.2.1.11.1": { "d": "ukDemo", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.11.2": { "d": "usDODClass2", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.11.3": { "d": "usMediumPilot", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.11.4": { "d": "usDODClass4", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.11.5": { "d": "usDODClass3", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.11.6": { "d": "usDODClass5", "c": "SDN.700 INFOSEC certificate policy", "w": false }, + "2.16.840.1.101.2.1.12.0": { "d": "testSecurityPolicy", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.1": { "d": "tsp1", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.1.0": { "d": "tsp1SecurityCategories", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.1.0.0": { "d": "tsp1TagSetZero", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.1.0.1": { "d": "tsp1TagSetOne", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.1.0.2": { "d": "tsp1TagSetTwo", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.2": { "d": "tsp2", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.2.0": { "d": "tsp2SecurityCategories", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.2.0.0": { "d": "tsp2TagSetZero", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.2.0.1": { "d": "tsp2TagSetOne", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.2.0.2": { "d": "tsp2TagSetTwo", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.3": { "d": "kafka", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.3.0": { "d": "kafkaSecurityCategories", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.3.0.1": { "d": "kafkaTagSetName1", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.3.0.2": { "d": "kafkaTagSetName2", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.0.3.0.3": { "d": "kafkaTagSetName3", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.2.1.12.1.1": { "d": "tcp1", "c": "SDN.700 INFOSEC test objects", "w": false }, + "2.16.840.1.101.3.1": { "d": "slabel", "c": "CSOR GAK", "w": true }, + "2.16.840.1.101.3.2": { "d": "pki", "c": "NIST", "w": true }, + "2.16.840.1.101.3.2.1": { "d": "NIST policyIdentifier", "c": "NIST policies", "w": true }, + "2.16.840.1.101.3.2.1.3.1": { "d": "fbcaRudimentaryPolicy", "c": "Federal Bridge CA Policy", "w": false }, + "2.16.840.1.101.3.2.1.3.2": { "d": "fbcaBasicPolicy", "c": "Federal Bridge CA Policy", "w": false }, + "2.16.840.1.101.3.2.1.3.3": { "d": "fbcaMediumPolicy", "c": "Federal Bridge CA Policy", "w": false }, + "2.16.840.1.101.3.2.1.3.4": { "d": "fbcaHighPolicy", "c": "Federal Bridge CA Policy", "w": false }, + "2.16.840.1.101.3.2.1.48.1": { "d": "nistTestPolicy1", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.1.48.2": { "d": "nistTestPolicy2", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.1.48.3": { "d": "nistTestPolicy3", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.1.48.4": { "d": "nistTestPolicy4", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.1.48.5": { "d": "nistTestPolicy5", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.1.48.6": { "d": "nistTestPolicy6", "c": "NIST PKITS policies", "w": false }, + "2.16.840.1.101.3.2.2": { "d": "gak", "c": "CSOR GAK extended key usage", "w": true }, + "2.16.840.1.101.3.2.2.1": { "d": "kRAKey", "c": "CSOR GAK extended key usage", "w": true }, + "2.16.840.1.101.3.2.3": { "d": "extensions", "c": "CSOR GAK extensions", "w": true }, + "2.16.840.1.101.3.2.3.1": { "d": "kRTechnique", "c": "CSOR GAK extensions", "w": true }, + "2.16.840.1.101.3.2.3.2": { "d": "kRecoveryCapable", "c": "CSOR GAK extensions", "w": true }, + "2.16.840.1.101.3.2.3.3": { "d": "kR", "c": "CSOR GAK extensions", "w": true }, + "2.16.840.1.101.3.2.4": { "d": "keyRecoverySchemes", "c": "CSOR GAK", "w": true }, + "2.16.840.1.101.3.2.5": { "d": "krapola", "c": "CSOR GAK", "w": true }, + "2.16.840.1.101.3.3": { "d": "arpa", "c": "CSOR GAK", "w": true }, + "2.16.840.1.101.3.4": { "d": "nistAlgorithm", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1": { "d": "aes", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.1": { "d": "aes128-ECB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.2": { "d": "aes128-CBC", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.3": { "d": "aes128-OFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.4": { "d": "aes128-CFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.5": { "d": "aes128-wrap", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.6": { "d": "aes128-GCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.7": { "d": "aes128-CCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.8": { "d": "aes128-wrap-pad", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.21": { "d": "aes192-ECB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.22": { "d": "aes192-CBC", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.23": { "d": "aes192-OFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.24": { "d": "aes192-CFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.25": { "d": "aes192-wrap", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.26": { "d": "aes192-GCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.27": { "d": "aes192-CCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.28": { "d": "aes192-wrap-pad", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.41": { "d": "aes256-ECB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.42": { "d": "aes256-CBC", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.43": { "d": "aes256-OFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.44": { "d": "aes256-CFB", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.45": { "d": "aes256-wrap", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.46": { "d": "aes256-GCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.47": { "d": "aes256-CCM", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.1.48": { "d": "aes256-wrap-pad", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.2": { "d": "hashAlgos", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.2.1": { "d": "sha-256", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.2.2": { "d": "sha-384", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.2.3": { "d": "sha-512", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.2.4": { "d": "sha-224", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.3.1": { "d": "dsaWithSha224", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.101.3.4.3.2": { "d": "dsaWithSha256", "c": "NIST Algorithm", "w": false }, + "2.16.840.1.113719.1.2.8": { "d": "novellAlgorithm", "c": "Novell", "w": false }, + "2.16.840.1.113719.1.2.8.22": { "d": "desCbcIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.23": { "d": "desCbcPadIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.24": { "d": "desEDE2CbcIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.25": { "d": "desEDE2CbcPadIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.26": { "d": "desEDE3CbcIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.27": { "d": "desEDE3CbcPadIV8", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.28": { "d": "rc5CbcPad", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.29": { "d": "md2WithRSAEncryptionBSafe1", "c": "Novell signature algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.30": { "d": "md5WithRSAEncryptionBSafe1", "c": "Novell signature algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.31": { "d": "sha1WithRSAEncryptionBSafe1", "c": "Novell signature algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.32": { "d": "lmDigest", "c": "Novell digest algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.40": { "d": "md2", "c": "Novell digest algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.50": { "d": "md5", "c": "Novell digest algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.51": { "d": "ikeHmacWithSHA1-RSA", "c": "Novell signature algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.52": { "d": "ikeHmacWithMD5-RSA", "c": "Novell signature algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.69": { "d": "rc2CbcPad", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.82": { "d": "sha-1", "c": "Novell digest algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.92": { "d": "rc2BSafe1Cbc", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.95": { "d": "md4", "c": "Novell digest algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.130": { "d": "md4Packet", "c": "Novell keyed hash", "w": false }, + "2.16.840.1.113719.1.2.8.131": { "d": "rsaEncryptionBsafe1", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.132": { "d": "nwPassword", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.2.8.133": { "d": "novellObfuscate-1", "c": "Novell encryption algorithm", "w": false }, + "2.16.840.1.113719.1.9": { "d": "pki", "c": "Novell", "w": false }, + "2.16.840.1.113719.1.9.4": { "d": "pkiAttributeType", "c": "Novell PKI", "w": false }, + "2.16.840.1.113719.1.9.4.1": { "d": "securityAttributes", "c": "Novell PKI attribute type", "w": false }, + "2.16.840.1.113719.1.9.4.2": { "d": "relianceLimit", "c": "Novell PKI attribute type", "w": false }, + "2.16.840.1.113730.1": { "d": "cert-extension", "c": "Netscape", "w": false }, + "2.16.840.1.113730.1.1": { "d": "netscape-cert-type", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.2": { "d": "netscape-base-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.3": { "d": "netscape-revocation-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.4": { "d": "netscape-ca-revocation-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.7": { "d": "netscape-cert-renewal-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.8": { "d": "netscape-ca-policy-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.9": { "d": "HomePage-url", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.10": { "d": "EntityLogo", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.11": { "d": "UserPicture", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.12": { "d": "netscape-ssl-server-name", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.1.13": { "d": "netscape-comment", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.2": { "d": "data-type", "c": "Netscape", "w": false }, + "2.16.840.1.113730.2.1": { "d": "dataGIF", "c": "Netscape data type", "w": false }, + "2.16.840.1.113730.2.2": { "d": "dataJPEG", "c": "Netscape data type", "w": false }, + "2.16.840.1.113730.2.3": { "d": "dataURL", "c": "Netscape data type", "w": false }, + "2.16.840.1.113730.2.4": { "d": "dataHTML", "c": "Netscape data type", "w": false }, + "2.16.840.1.113730.2.5": { "d": "certSequence", "c": "Netscape data type", "w": false }, + "2.16.840.1.113730.2.6": { "d": "certURL", "c": "Netscape certificate extension", "w": false }, + "2.16.840.1.113730.3": { "d": "directory", "c": "Netscape", "w": false }, + "2.16.840.1.113730.3.1": { "d": "ldapDefinitions", "c": "Netscape directory", "w": false }, + "2.16.840.1.113730.3.1.1": { "d": "carLicense", "c": "Netscape LDAP definitions", "w": false }, + "2.16.840.1.113730.3.1.2": { "d": "departmentNumber", "c": "Netscape LDAP definitions", "w": false }, + "2.16.840.1.113730.3.1.3": { "d": "employeeNumber", "c": "Netscape LDAP definitions", "w": false }, + "2.16.840.1.113730.3.1.4": { "d": "employeeType", "c": "Netscape LDAP definitions", "w": false }, + "2.16.840.1.113730.3.2.2": { "d": "inetOrgPerson", "c": "Netscape LDAP definitions", "w": false }, + "2.16.840.1.113730.4.1": { "d": "serverGatedCrypto", "c": "Netscape", "w": false }, + "2.16.840.1.113733.1.6.3": { "d": "verisignCZAG", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.6.6": { "d": "verisignInBox", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.6.11": { "d": "verisignOnsiteJurisdictionHash", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.6.13": { "d": "Unknown Verisign VPN extension", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.6.15": { "d": "verisignServerID", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.7.1.1": { "d": "verisignCertPolicies95Qualifier1", "c": "Verisign policy", "w": false }, + "2.16.840.1.113733.1.7.1.1.1": { "d": "verisignCPSv1notice", "c": "Verisign policy (obsolete)", "w": false }, + "2.16.840.1.113733.1.7.1.1.2": { "d": "verisignCPSv1nsi", "c": "Verisign policy (obsolete)", "w": false }, + "2.16.840.1.113733.1.7.23.6": { "d": "verisignEVPolicy", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.8.1": { "d": "verisignISSStrongCrypto", "c": "Verisign", "w": false }, + "2.16.840.1.113733.1": { "d": "pki", "c": "Verisign extension", "w": false }, + "2.16.840.1.113733.1.9": { "d": "pkcs7Attribute", "c": "Verisign PKI extension", "w": false }, + "2.16.840.1.113733.1.9.2": { "d": "messageType", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.3": { "d": "pkiStatus", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.4": { "d": "failInfo", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.5": { "d": "senderNonce", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.6": { "d": "recipientNonce", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.7": { "d": "transID", "c": "Verisign PKCS #7 attribute", "w": false }, + "2.16.840.1.113733.1.9.8": { "d": "extensionReq", "c": "Verisign PKCS #7 attribute. Use PKCS #9 extensionRequest instead", "w": true }, + "2.16.840.1.114412.1.3.0.1": { "d": "digiCertGlobalCAPolicy", "c": "Digicert CA policy", "w": false }, + "2.16.840.1.114412.1.3.0.2": { "d": "digiCertHighAssuranceEVCAPolicy", "c": "Digicert CA policy", "w": false }, + "2.16.840.1.114412.1.3.0.3": { "d": "digiCertGlobalRootCAPolicy", "c": "Digicert CA policy", "w": false }, + "2.16.840.1.114412.1.3.0.4": { "d": "digiCertAssuredIDRootCAPolicy", "c": "Digicert CA policy", "w": false }, + "2.23.42.0": { "d": "contentType", "c": "SET", "w": false }, + "2.23.42.0.0": { "d": "panData", "c": "SET contentType", "w": false }, + "2.23.42.0.1": { "d": "panToken", "c": "SET contentType", "w": false }, + "2.23.42.0.2": { "d": "panOnly", "c": "SET contentType", "w": false }, + "2.23.42.1": { "d": "msgExt", "c": "SET", "w": false }, + "2.23.42.2": { "d": "field", "c": "SET", "w": false }, + "2.23.42.2.0": { "d": "fullName", "c": "SET field", "w": false }, + "2.23.42.2.1": { "d": "givenName", "c": "SET field", "w": false }, + "2.23.42.2.2": { "d": "familyName", "c": "SET field", "w": false }, + "2.23.42.2.3": { "d": "birthFamilyName", "c": "SET field", "w": false }, + "2.23.42.2.4": { "d": "placeName", "c": "SET field", "w": false }, + "2.23.42.2.5": { "d": "identificationNumber", "c": "SET field", "w": false }, + "2.23.42.2.6": { "d": "month", "c": "SET field", "w": false }, + "2.23.42.2.7": { "d": "date", "c": "SET field", "w": false }, + "2.23.42.2.8": { "d": "address", "c": "SET field", "w": false }, + "2.23.42.2.9": { "d": "telephone", "c": "SET field", "w": false }, + "2.23.42.2.10": { "d": "amount", "c": "SET field", "w": false }, + "2.23.42.2.11": { "d": "accountNumber", "c": "SET field", "w": false }, + "2.23.42.2.12": { "d": "passPhrase", "c": "SET field", "w": false }, + "2.23.42.3": { "d": "attribute", "c": "SET", "w": false }, + "2.23.42.3.0": { "d": "cert", "c": "SET attribute", "w": false }, + "2.23.42.3.0.0": { "d": "rootKeyThumb", "c": "SET cert attribute", "w": false }, + "2.23.42.3.0.1": { "d": "additionalPolicy", "c": "SET cert attribute", "w": false }, + "2.23.42.4": { "d": "algorithm", "c": "SET", "w": false }, + "2.23.42.5": { "d": "policy", "c": "SET", "w": false }, + "2.23.42.5.0": { "d": "root", "c": "SET policy", "w": false }, + "2.23.42.6": { "d": "module", "c": "SET", "w": false }, + "2.23.42.7": { "d": "certExt", "c": "SET", "w": false }, + "2.23.42.7.0": { "d": "hashedRootKey", "c": "SET cert extension", "w": false }, + "2.23.42.7.1": { "d": "certificateType", "c": "SET cert extension", "w": false }, + "2.23.42.7.2": { "d": "merchantData", "c": "SET cert extension", "w": false }, + "2.23.42.7.3": { "d": "cardCertRequired", "c": "SET cert extension", "w": false }, + "2.23.42.7.4": { "d": "tunneling", "c": "SET cert extension", "w": false }, + "2.23.42.7.5": { "d": "setExtensions", "c": "SET cert extension", "w": false }, + "2.23.42.7.6": { "d": "setQualifier", "c": "SET cert extension", "w": false }, + "2.23.42.8": { "d": "brand", "c": "SET", "w": false }, + "2.23.42.8.1": { "d": "IATA-ATA", "c": "SET brand", "w": false }, + "2.23.42.8.4": { "d": "VISA", "c": "SET brand", "w": false }, + "2.23.42.8.5": { "d": "MasterCard", "c": "SET brand", "w": false }, + "2.23.42.8.30": { "d": "Diners", "c": "SET brand", "w": false }, + "2.23.42.8.34": { "d": "AmericanExpress", "c": "SET brand", "w": false }, + "2.23.42.8.6011": { "d": "Novus", "c": "SET brand", "w": false }, + "2.23.42.9": { "d": "vendor", "c": "SET", "w": false }, + "2.23.42.9.0": { "d": "GlobeSet", "c": "SET vendor", "w": false }, + "2.23.42.9.1": { "d": "IBM", "c": "SET vendor", "w": false }, + "2.23.42.9.2": { "d": "CyberCash", "c": "SET vendor", "w": false }, + "2.23.42.9.3": { "d": "Terisa", "c": "SET vendor", "w": false }, + "2.23.42.9.4": { "d": "RSADSI", "c": "SET vendor", "w": false }, + "2.23.42.9.5": { "d": "VeriFone", "c": "SET vendor", "w": false }, + "2.23.42.9.6": { "d": "TrinTech", "c": "SET vendor", "w": false }, + "2.23.42.9.7": { "d": "BankGate", "c": "SET vendor", "w": false }, + "2.23.42.9.8": { "d": "GTE", "c": "SET vendor", "w": false }, + "2.23.42.9.9": { "d": "CompuSource", "c": "SET vendor", "w": false }, + "2.23.42.9.10": { "d": "Griffin", "c": "SET vendor", "w": false }, + "2.23.42.9.11": { "d": "Certicom", "c": "SET vendor", "w": false }, + "2.23.42.9.12": { "d": "OSS", "c": "SET vendor", "w": false }, + "2.23.42.9.13": { "d": "TenthMountain", "c": "SET vendor", "w": false }, + "2.23.42.9.14": { "d": "Antares", "c": "SET vendor", "w": false }, + "2.23.42.9.15": { "d": "ECC", "c": "SET vendor", "w": false }, + "2.23.42.9.16": { "d": "Maithean", "c": "SET vendor", "w": false }, + "2.23.42.9.17": { "d": "Netscape", "c": "SET vendor", "w": false }, + "2.23.42.9.18": { "d": "Verisign", "c": "SET vendor", "w": false }, + "2.23.42.9.19": { "d": "BlueMoney", "c": "SET vendor", "w": false }, + "2.23.42.9.20": { "d": "Lacerte", "c": "SET vendor", "w": false }, + "2.23.42.9.21": { "d": "Fujitsu", "c": "SET vendor", "w": false }, + "2.23.42.9.22": { "d": "eLab", "c": "SET vendor", "w": false }, + "2.23.42.9.23": { "d": "Entrust", "c": "SET vendor", "w": false }, + "2.23.42.9.24": { "d": "VIAnet", "c": "SET vendor", "w": false }, + "2.23.42.9.25": { "d": "III", "c": "SET vendor", "w": false }, + "2.23.42.9.26": { "d": "OpenMarket", "c": "SET vendor", "w": false }, + "2.23.42.9.27": { "d": "Lexem", "c": "SET vendor", "w": false }, + "2.23.42.9.28": { "d": "Intertrader", "c": "SET vendor", "w": false }, + "2.23.42.9.29": { "d": "Persimmon", "c": "SET vendor", "w": false }, + "2.23.42.9.30": { "d": "NABLE", "c": "SET vendor", "w": false }, + "2.23.42.9.31": { "d": "espace-net", "c": "SET vendor", "w": false }, + "2.23.42.9.32": { "d": "Hitachi", "c": "SET vendor", "w": false }, + "2.23.42.9.33": { "d": "Microsoft", "c": "SET vendor", "w": false }, + "2.23.42.9.34": { "d": "NEC", "c": "SET vendor", "w": false }, + "2.23.42.9.35": { "d": "Mitsubishi", "c": "SET vendor", "w": false }, + "2.23.42.9.36": { "d": "NCR", "c": "SET vendor", "w": false }, + "2.23.42.9.37": { "d": "e-COMM", "c": "SET vendor", "w": false }, + "2.23.42.9.38": { "d": "Gemplus", "c": "SET vendor", "w": false }, + "2.23.42.10": { "d": "national", "c": "SET", "w": false }, + "2.23.42.10.392": { "d": "Japan", "c": "SET national", "w": false }, + "2.23.136.1.1.1": { "d": "mRTDSignatureData", "c": "ICAO MRTD", "w": false }, + "2.54.1775.2": { "d": "hashedRootKey", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.3": { "d": "certificateType", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.4": { "d": "merchantData", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.5": { "d": "cardCertRequired", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.6": { "d": "tunneling", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.7": { "d": "setQualifier", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "2.54.1775.99": { "d": "setData", "c": "SET. Deprecated, use (2 23 42 7 0) instead", "w": true }, + "1.3.6.1.4.1.6449.1.2.1.5.1": { "d": "AddTrust EV policy", "c": "AddTrust External CA Root", "w": false }, + "1.3.6.1.4.1.34697.2.1": { "d": "AffirmTrust EV policy", "c": "AffirmTrust Commercial", "w": false }, + "1.3.6.1.4.1.34697.2.2": { "d": "AffirmTrust EV policy", "c": "AffirmTrust Networking", "w": false }, + "1.3.6.1.4.1.34697.2.3": { "d": "AffirmTrust EV policy", "c": "AffirmTrust Premium", "w": false }, + "1.3.6.1.4.1.34697.2.4": { "d": "AffirmTrust EV policy", "c": "AffirmTrust Premium ECC", "w": false }, + "2.16.578.1.26.1.3.3": { "d": "BuyPass EV policy", "c": "BuyPass Class 3 EV", "w": false }, + "1.3.6.1.4.1.22234.2.5.2.3.1": { "d": "CertPlus EV policy", "c": "CertPlus Class 2 Primary CA (KEYNECTIS)", "w": false }, + "1.3.6.1.4.1.6334.1.100.1": { "d": "Cybertrust EV policy", "c": "Cybertrust Global Root", "w": false }, + "2.16.840.1.114412.2.1": { "d": "DigiCert EV policy", "c": "DigiCert High Assurance EV Root CA", "w": false }, + "2.16.528.1.1001.1.1.1.12.6.1.1.1": { "d": "DigiNotar EV policy", "c": "DigiNotar Root CA", "w": false }, + "2.16.840.1.114028.10.1.2": { "d": "Entrust EV policy", "c": "Entrust Net Secure Server Certification Authority", "w": false }, + "1.3.6.1.4.1.14370.1.6": { "d": "Equifax EV policy", "c": "Equifax Secure Certificate Authority (GeoTrust)", "w": false }, + "1.3.6.1.4.1.4146.1.1": { "d": "GlobalSign EV policy", "c": "GlobalSign", "w": false }, + "2.16.840.1.114413.1.7.23.3": { "d": "GoDaddy EV policy", "c": "GoDaddy Class 2 Certification Authority", "w": false }, + "1.3.6.1.4.1.14777.6.1.1": { "d": "Izenpe EV policy", "c": "Certificado de Servidor Seguro SSL EV", "w": false }, + "1.3.6.1.4.1.14777.6.1.2": { "d": "Izenpe EV policy", "c": "Certificado de Sede Electronica EV", "w": false }, + "1.3.6.1.4.1.782.1.2.1.8.1": { "d": "Network Solutions EV policy", "c": "Network Solutions Certificate Authority", "w": false }, + "1.3.6.1.4.1.8024.0.2.100.1.2": { "d": "QuoVadis EV policy", "c": "QuoVadis Root CA 2", "w": false }, + "1.2.392.200091.100.721.1": { "d": "SECOM EV policy", "c": "SECOM Trust Systems EV", "w": false }, + "2.16.840.1.114404.1.1.2.4.1": { "d": "SecureTrust EV policy", "c": "SecureTrust CA, SecureTrust Corporation", "w": false }, + "1.3.6.1.4.1.23223.1.1.1": { "d": "StartCom EV policy", "c": "StartCom Certification Authority", "w": false }, + "2.16.840.1.114414.1.7.23.3": { "d": "Starfield EV policy", "c": "Starfield Class 2 Certification Authority", "w": false }, + "2.16.756.1.89.1.2.1.1": { "d": "SwissSign EV policy", "c": "SwissSign Gold CA - G2", "w": false }, + "2.16.840.1.113733.1.7.48.1": { "d": "Thawte EV policy", "c": "Thawte Premium Server CA", "w": false }, + "2.16.840.1.114171.500.9": { "d": "Wells Fargo EV policy", "c": "Wells Fargo WellsSecure Public Root Certificate Authority", "w": false }, + "END": "" +}; diff --git a/libs/jsencrypt/lib/lib/jsbn/base64.d.ts b/libs/jsencrypt/lib/lib/jsbn/base64.d.ts new file mode 100644 index 0000000..b9e20fd --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/base64.d.ts @@ -0,0 +1,3 @@ +export declare function hex2b64(h: string): string; +export declare function b64tohex(s: string): string; +export declare function b64toBA(s: string): number[]; diff --git a/libs/jsencrypt/lib/lib/jsbn/base64.js b/libs/jsencrypt/lib/lib/jsbn/base64.js new file mode 100644 index 0000000..4024e00 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/base64.js @@ -0,0 +1,76 @@ +import { int2char } from "./util"; +var b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +var b64pad = "="; +export function hex2b64(h) { + var i; + var c; + var ret = ""; + for (i = 0; i + 3 <= h.length; i += 3) { + c = parseInt(h.substring(i, i + 3), 16); + ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63); + } + if (i + 1 == h.length) { + c = parseInt(h.substring(i, i + 1), 16); + ret += b64map.charAt(c << 2); + } + else if (i + 2 == h.length) { + c = parseInt(h.substring(i, i + 2), 16); + ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4); + } + while ((ret.length & 3) > 0) { + ret += b64pad; + } + return ret; +} +// convert a base64 string to hex +export function b64tohex(s) { + var ret = ""; + var i; + var k = 0; // b64 state, 0-3 + var slop = 0; + for (i = 0; i < s.length; ++i) { + if (s.charAt(i) == b64pad) { + break; + } + var v = b64map.indexOf(s.charAt(i)); + if (v < 0) { + continue; + } + if (k == 0) { + ret += int2char(v >> 2); + slop = v & 3; + k = 1; + } + else if (k == 1) { + ret += int2char((slop << 2) | (v >> 4)); + slop = v & 0xf; + k = 2; + } + else if (k == 2) { + ret += int2char(slop); + ret += int2char(v >> 2); + slop = v & 3; + k = 3; + } + else { + ret += int2char((slop << 2) | (v >> 4)); + ret += int2char(v & 0xf); + k = 0; + } + } + if (k == 1) { + ret += int2char(slop << 2); + } + return ret; +} +// convert a base64 string to a byte/number array +export function b64toBA(s) { + // piggyback on b64tohex for now, optimize later + var h = b64tohex(s); + var i; + var a = []; + for (i = 0; 2 * i < h.length; ++i) { + a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16); + } + return a; +} diff --git a/libs/jsencrypt/lib/lib/jsbn/jsbn.d.ts b/libs/jsencrypt/lib/lib/jsbn/jsbn.d.ts new file mode 100644 index 0000000..8087f1e --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/jsbn.d.ts @@ -0,0 +1,98 @@ +import { SecureRandom } from "./rng"; +export declare class BigInteger { + constructor(a: number | number[] | string, b?: number | SecureRandom, c?: number | SecureRandom); + toString(b: number): string; + protected negate(): BigInteger; + abs(): BigInteger; + compareTo(a: BigInteger): number; + bitLength(): number; + mod(a: BigInteger): BigInteger; + modPowInt(e: number, m: BigInteger): BigInteger; + protected clone(): BigInteger; + protected intValue(): number; + protected byteValue(): number; + protected shortValue(): number; + protected signum(): 0 | 1 | -1; + toByteArray(): number[]; + protected equals(a: BigInteger): boolean; + protected min(a: BigInteger): BigInteger; + protected max(a: BigInteger): BigInteger; + protected and(a: BigInteger): BigInteger; + protected or(a: BigInteger): BigInteger; + protected xor(a: BigInteger): BigInteger; + protected andNot(a: BigInteger): BigInteger; + protected not(): BigInteger; + protected shiftLeft(n: number): BigInteger; + protected shiftRight(n: number): BigInteger; + protected getLowestSetBit(): number; + protected bitCount(): number; + protected testBit(n: number): boolean; + protected setBit(n: number): BigInteger; + protected clearBit(n: number): BigInteger; + protected flipBit(n: number): BigInteger; + add(a: BigInteger): BigInteger; + subtract(a: BigInteger): BigInteger; + multiply(a: BigInteger): BigInteger; + divide(a: BigInteger): BigInteger; + protected remainder(a: BigInteger): BigInteger; + protected divideAndRemainder(a: BigInteger): BigInteger[]; + modPow(e: BigInteger, m: BigInteger): BigInteger; + modInverse(m: BigInteger): BigInteger; + protected pow(e: number): BigInteger; + gcd(a: BigInteger): BigInteger; + isProbablePrime(t: number): boolean; + copyTo(r: BigInteger): void; + fromInt(x: number): void; + protected fromString(s: string | number[], b: number): void; + clamp(): void; + dlShiftTo(n: number, r: BigInteger): void; + drShiftTo(n: number, r: BigInteger): void; + protected lShiftTo(n: number, r: BigInteger): void; + protected rShiftTo(n: number, r: BigInteger): void; + subTo(a: BigInteger, r: BigInteger): void; + multiplyTo(a: BigInteger, r: BigInteger): void; + squareTo(r: BigInteger): void; + divRemTo(m: BigInteger, q: BigInteger, r: BigInteger): void; + invDigit(): number; + protected isEven(): boolean; + protected exp(e: number, z: IReduction): BigInteger; + protected chunkSize(r: number): number; + protected toRadix(b: number): string; + fromRadix(s: string, b: number): void; + protected fromNumber(a: number, b: number | SecureRandom, c?: number | SecureRandom): void; + protected bitwiseTo(a: BigInteger, op: (a: number, b: number) => number, r: BigInteger): void; + protected changeBit(n: number, op: (a: number, b: number) => number): BigInteger; + protected addTo(a: BigInteger, r: BigInteger): void; + protected dMultiply(n: number): void; + dAddOffset(n: number, w: number): void; + multiplyLowerTo(a: BigInteger, n: number, r: BigInteger): void; + multiplyUpperTo(a: BigInteger, n: number, r: BigInteger): void; + protected modInt(n: number): number; + protected millerRabin(t: number): boolean; + protected square(): BigInteger; + gcda(a: BigInteger, callback: (x: BigInteger) => void): void; + fromNumberAsync(a: number, b: number | SecureRandom, c: number | SecureRandom, callback: () => void): void; + s: number; + t: number; + DB: number; + DM: number; + DV: number; + FV: number; + F1: number; + F2: number; + am: (i: number, x: number, w: BigInteger, j: number, c: number, n: number) => number; + [index: number]: number; + static ONE: BigInteger; + static ZERO: BigInteger; +} +export interface IReduction { + convert(x: BigInteger): BigInteger; + revert(x: BigInteger): BigInteger; + mulTo(x: BigInteger, y: BigInteger, r: BigInteger): void; + sqrTo(x: BigInteger, r: BigInteger): void; +} +export declare function nbi(): BigInteger; +export declare function parseBigInt(str: string, r: number): BigInteger; +export declare function intAt(s: string, i: number): number; +export declare function nbv(i: number): BigInteger; +export declare function nbits(x: number): number; diff --git a/libs/jsencrypt/lib/lib/jsbn/jsbn.js b/libs/jsencrypt/lib/lib/jsbn/jsbn.js new file mode 100644 index 0000000..a36e219 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/jsbn.js @@ -0,0 +1,1754 @@ +// Copyright (c) 2005 Tom Wu +// All Rights Reserved. +// See "LICENSE" for details. +// Basic JavaScript BN library - subset useful for RSA encryption. +import { cbit, int2char, lbit, op_and, op_andnot, op_or, op_xor } from "./util"; +// Bits per digit +var dbits; +// JavaScript engine analysis +var canary = 0xdeadbeefcafe; +var j_lm = ((canary & 0xffffff) == 0xefcafe); +//#region +var lowprimes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]; +var lplim = (1 << 26) / lowprimes[lowprimes.length - 1]; +//#endregion +// (public) Constructor +var BigInteger = /** @class */ (function () { + function BigInteger(a, b, c) { + if (a != null) { + if ("number" == typeof a) { + this.fromNumber(a, b, c); + } + else if (b == null && "string" != typeof a) { + this.fromString(a, 256); + } + else { + this.fromString(a, b); + } + } + } + //#region PUBLIC + // BigInteger.prototype.toString = bnToString; + // (public) return string representation in given radix + BigInteger.prototype.toString = function (b) { + if (this.s < 0) { + return "-" + this.negate().toString(b); + } + var k; + if (b == 16) { + k = 4; + } + else if (b == 8) { + k = 3; + } + else if (b == 2) { + k = 1; + } + else if (b == 32) { + k = 5; + } + else if (b == 4) { + k = 2; + } + else { + return this.toRadix(b); + } + var km = (1 << k) - 1; + var d; + var m = false; + var r = ""; + var i = this.t; + var p = this.DB - (i * this.DB) % k; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) > 0) { + m = true; + r = int2char(d); + } + while (i >= 0) { + if (p < k) { + d = (this[i] & ((1 << p) - 1)) << (k - p); + d |= this[--i] >> (p += this.DB - k); + } + else { + d = (this[i] >> (p -= k)) & km; + if (p <= 0) { + p += this.DB; + --i; + } + } + if (d > 0) { + m = true; + } + if (m) { + r += int2char(d); + } + } + } + return m ? r : "0"; + }; + // BigInteger.prototype.negate = bnNegate; + // (public) -this + BigInteger.prototype.negate = function () { + var r = nbi(); + BigInteger.ZERO.subTo(this, r); + return r; + }; + // BigInteger.prototype.abs = bnAbs; + // (public) |this| + BigInteger.prototype.abs = function () { + return (this.s < 0) ? this.negate() : this; + }; + // BigInteger.prototype.compareTo = bnCompareTo; + // (public) return + if this > a, - if this < a, 0 if equal + BigInteger.prototype.compareTo = function (a) { + var r = this.s - a.s; + if (r != 0) { + return r; + } + var i = this.t; + r = i - a.t; + if (r != 0) { + return (this.s < 0) ? -r : r; + } + while (--i >= 0) { + if ((r = this[i] - a[i]) != 0) { + return r; + } + } + return 0; + }; + // BigInteger.prototype.bitLength = bnBitLength; + // (public) return the number of bits in "this" + BigInteger.prototype.bitLength = function () { + if (this.t <= 0) { + return 0; + } + return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM)); + }; + // BigInteger.prototype.mod = bnMod; + // (public) this mod a + BigInteger.prototype.mod = function (a) { + var r = nbi(); + this.abs().divRemTo(a, null, r); + if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) { + a.subTo(r, r); + } + return r; + }; + // BigInteger.prototype.modPowInt = bnModPowInt; + // (public) this^e % m, 0 <= e < 2^32 + BigInteger.prototype.modPowInt = function (e, m) { + var z; + if (e < 256 || m.isEven()) { + z = new Classic(m); + } + else { + z = new Montgomery(m); + } + return this.exp(e, z); + }; + // BigInteger.prototype.clone = bnClone; + // (public) + BigInteger.prototype.clone = function () { + var r = nbi(); + this.copyTo(r); + return r; + }; + // BigInteger.prototype.intValue = bnIntValue; + // (public) return value as integer + BigInteger.prototype.intValue = function () { + if (this.s < 0) { + if (this.t == 1) { + return this[0] - this.DV; + } + else if (this.t == 0) { + return -1; + } + } + else if (this.t == 1) { + return this[0]; + } + else if (this.t == 0) { + return 0; + } + // assumes 16 < DB < 32 + return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0]; + }; + // BigInteger.prototype.byteValue = bnByteValue; + // (public) return value as byte + BigInteger.prototype.byteValue = function () { + return (this.t == 0) ? this.s : (this[0] << 24) >> 24; + }; + // BigInteger.prototype.shortValue = bnShortValue; + // (public) return value as short (assumes DB>=16) + BigInteger.prototype.shortValue = function () { + return (this.t == 0) ? this.s : (this[0] << 16) >> 16; + }; + // BigInteger.prototype.signum = bnSigNum; + // (public) 0 if this == 0, 1 if this > 0 + BigInteger.prototype.signum = function () { + if (this.s < 0) { + return -1; + } + else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) { + return 0; + } + else { + return 1; + } + }; + // BigInteger.prototype.toByteArray = bnToByteArray; + // (public) convert to bigendian byte array + BigInteger.prototype.toByteArray = function () { + var i = this.t; + var r = []; + r[0] = this.s; + var p = this.DB - (i * this.DB) % 8; + var d; + var k = 0; + if (i-- > 0) { + if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) { + r[k++] = d | (this.s << (this.DB - p)); + } + while (i >= 0) { + if (p < 8) { + d = (this[i] & ((1 << p) - 1)) << (8 - p); + d |= this[--i] >> (p += this.DB - 8); + } + else { + d = (this[i] >> (p -= 8)) & 0xff; + if (p <= 0) { + p += this.DB; + --i; + } + } + if ((d & 0x80) != 0) { + d |= -256; + } + if (k == 0 && (this.s & 0x80) != (d & 0x80)) { + ++k; + } + if (k > 0 || d != this.s) { + r[k++] = d; + } + } + } + return r; + }; + // BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.equals = function (a) { + return (this.compareTo(a) == 0); + }; + // BigInteger.prototype.min = bnMin; + BigInteger.prototype.min = function (a) { + return (this.compareTo(a) < 0) ? this : a; + }; + // BigInteger.prototype.max = bnMax; + BigInteger.prototype.max = function (a) { + return (this.compareTo(a) > 0) ? this : a; + }; + // BigInteger.prototype.and = bnAnd; + BigInteger.prototype.and = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_and, r); + return r; + }; + // BigInteger.prototype.or = bnOr; + BigInteger.prototype.or = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_or, r); + return r; + }; + // BigInteger.prototype.xor = bnXor; + BigInteger.prototype.xor = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_xor, r); + return r; + }; + // BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.andNot = function (a) { + var r = nbi(); + this.bitwiseTo(a, op_andnot, r); + return r; + }; + // BigInteger.prototype.not = bnNot; + // (public) ~this + BigInteger.prototype.not = function () { + var r = nbi(); + for (var i = 0; i < this.t; ++i) { + r[i] = this.DM & ~this[i]; + } + r.t = this.t; + r.s = ~this.s; + return r; + }; + // BigInteger.prototype.shiftLeft = bnShiftLeft; + // (public) this << n + BigInteger.prototype.shiftLeft = function (n) { + var r = nbi(); + if (n < 0) { + this.rShiftTo(-n, r); + } + else { + this.lShiftTo(n, r); + } + return r; + }; + // BigInteger.prototype.shiftRight = bnShiftRight; + // (public) this >> n + BigInteger.prototype.shiftRight = function (n) { + var r = nbi(); + if (n < 0) { + this.lShiftTo(-n, r); + } + else { + this.rShiftTo(n, r); + } + return r; + }; + // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + // (public) returns index of lowest 1-bit (or -1 if none) + BigInteger.prototype.getLowestSetBit = function () { + for (var i = 0; i < this.t; ++i) { + if (this[i] != 0) { + return i * this.DB + lbit(this[i]); + } + } + if (this.s < 0) { + return this.t * this.DB; + } + return -1; + }; + // BigInteger.prototype.bitCount = bnBitCount; + // (public) return number of set bits + BigInteger.prototype.bitCount = function () { + var r = 0; + var x = this.s & this.DM; + for (var i = 0; i < this.t; ++i) { + r += cbit(this[i] ^ x); + } + return r; + }; + // BigInteger.prototype.testBit = bnTestBit; + // (public) true iff nth bit is set + BigInteger.prototype.testBit = function (n) { + var j = Math.floor(n / this.DB); + if (j >= this.t) { + return (this.s != 0); + } + return ((this[j] & (1 << (n % this.DB))) != 0); + }; + // BigInteger.prototype.setBit = bnSetBit; + // (public) this | (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1], g2); + while (n <= km) { + g[n] = nbi(); + z.mulTo(g2, g[n - 2], g[n]); + n += 2; + } + } + var j = e.t - 1; + var w; + var is1 = true; + var r2 = nbi(); + var t; + i = nbits(e[j]) - 1; + while (j >= 0) { + if (i >= k1) { + w = (e[j] >> (i - k1)) & km; + } + else { + w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i); + if (j > 0) { + w |= e[j - 1] >> (this.DB + i - k1); + } + } + n = k; + while ((w & 1) == 0) { + w >>= 1; + --n; + } + if ((i -= n) < 0) { + i += this.DB; + --j; + } + if (is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while (n > 1) { + z.sqrTo(r, r2); + z.sqrTo(r2, r); + n -= 2; + } + if (n > 0) { + z.sqrTo(r, r2); + } + else { + t = r; + r = r2; + r2 = t; + } + z.mulTo(r2, g[w], r); + } + while (j >= 0 && (e[j] & (1 << i)) == 0) { + z.sqrTo(r, r2); + t = r; + r = r2; + r2 = t; + if (--i < 0) { + i = this.DB - 1; + --j; + } + } + } + return z.revert(r); + }; + // BigInteger.prototype.modInverse = bnModInverse; + // (public) 1/this % m (HAC 14.61) + BigInteger.prototype.modInverse = function (m) { + var ac = m.isEven(); + if ((this.isEven() && ac) || m.signum() == 0) { + return BigInteger.ZERO; + } + var u = m.clone(); + var v = this.clone(); + var a = nbv(1); + var b = nbv(0); + var c = nbv(0); + var d = nbv(1); + while (u.signum() != 0) { + while (u.isEven()) { + u.rShiftTo(1, u); + if (ac) { + if (!a.isEven() || !b.isEven()) { + a.addTo(this, a); + b.subTo(m, b); + } + a.rShiftTo(1, a); + } + else if (!b.isEven()) { + b.subTo(m, b); + } + b.rShiftTo(1, b); + } + while (v.isEven()) { + v.rShiftTo(1, v); + if (ac) { + if (!c.isEven() || !d.isEven()) { + c.addTo(this, c); + d.subTo(m, d); + } + c.rShiftTo(1, c); + } + else if (!d.isEven()) { + d.subTo(m, d); + } + d.rShiftTo(1, d); + } + if (u.compareTo(v) >= 0) { + u.subTo(v, u); + if (ac) { + a.subTo(c, a); + } + b.subTo(d, b); + } + else { + v.subTo(u, v); + if (ac) { + c.subTo(a, c); + } + d.subTo(b, d); + } + } + if (v.compareTo(BigInteger.ONE) != 0) { + return BigInteger.ZERO; + } + if (d.compareTo(m) >= 0) { + return d.subtract(m); + } + if (d.signum() < 0) { + d.addTo(m, d); + } + else { + return d; + } + if (d.signum() < 0) { + return d.add(m); + } + else { + return d; + } + }; + // BigInteger.prototype.pow = bnPow; + // (public) this^e + BigInteger.prototype.pow = function (e) { + return this.exp(e, new NullExp()); + }; + // BigInteger.prototype.gcd = bnGCD; + // (public) gcd(this,a) (HAC 14.54) + BigInteger.prototype.gcd = function (a) { + var x = (this.s < 0) ? this.negate() : this.clone(); + var y = (a.s < 0) ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { + var t = x; + x = y; + y = t; + } + var i = x.getLowestSetBit(); + var g = y.getLowestSetBit(); + if (g < 0) { + return x; + } + if (i < g) { + g = i; + } + if (g > 0) { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + while (x.signum() > 0) { + if ((i = x.getLowestSetBit()) > 0) { + x.rShiftTo(i, x); + } + if ((i = y.getLowestSetBit()) > 0) { + y.rShiftTo(i, y); + } + if (x.compareTo(y) >= 0) { + x.subTo(y, x); + x.rShiftTo(1, x); + } + else { + y.subTo(x, y); + y.rShiftTo(1, y); + } + } + if (g > 0) { + y.lShiftTo(g, y); + } + return y; + }; + // BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + // (public) test primality with certainty >= 1-.5^t + BigInteger.prototype.isProbablePrime = function (t) { + var i; + var x = this.abs(); + if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) { + for (i = 0; i < lowprimes.length; ++i) { + if (x[0] == lowprimes[i]) { + return true; + } + } + return false; + } + if (x.isEven()) { + return false; + } + i = 1; + while (i < lowprimes.length) { + var m = lowprimes[i]; + var j = i + 1; + while (j < lowprimes.length && m < lplim) { + m *= lowprimes[j++]; + } + m = x.modInt(m); + while (i < j) { + if (m % lowprimes[i++] == 0) { + return false; + } + } + } + return x.millerRabin(t); + }; + //#endregion PUBLIC + //#region PROTECTED + // BigInteger.prototype.copyTo = bnpCopyTo; + // (protected) copy this to r + BigInteger.prototype.copyTo = function (r) { + for (var i = this.t - 1; i >= 0; --i) { + r[i] = this[i]; + } + r.t = this.t; + r.s = this.s; + }; + // BigInteger.prototype.fromInt = bnpFromInt; + // (protected) set from integer value x, -DV <= x < DV + BigInteger.prototype.fromInt = function (x) { + this.t = 1; + this.s = (x < 0) ? -1 : 0; + if (x > 0) { + this[0] = x; + } + else if (x < -1) { + this[0] = x + this.DV; + } + else { + this.t = 0; + } + }; + // BigInteger.prototype.fromString = bnpFromString; + // (protected) set from string and radix + BigInteger.prototype.fromString = function (s, b) { + var k; + if (b == 16) { + k = 4; + } + else if (b == 8) { + k = 3; + } + else if (b == 256) { + k = 8; + /* byte array */ + } + else if (b == 2) { + k = 1; + } + else if (b == 32) { + k = 5; + } + else if (b == 4) { + k = 2; + } + else { + this.fromRadix(s, b); + return; + } + this.t = 0; + this.s = 0; + var i = s.length; + var mi = false; + var sh = 0; + while (--i >= 0) { + var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-") { + mi = true; + } + continue; + } + mi = false; + if (sh == 0) { + this[this.t++] = x; + } + else if (sh + k > this.DB) { + this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh; + this[this.t++] = (x >> (this.DB - sh)); + } + else { + this[this.t - 1] |= x << sh; + } + sh += k; + if (sh >= this.DB) { + sh -= this.DB; + } + } + if (k == 8 && ((+s[0]) & 0x80) != 0) { + this.s = -1; + if (sh > 0) { + this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh; + } + } + this.clamp(); + if (mi) { + BigInteger.ZERO.subTo(this, this); + } + }; + // BigInteger.prototype.clamp = bnpClamp; + // (protected) clamp off excess high words + BigInteger.prototype.clamp = function () { + var c = this.s & this.DM; + while (this.t > 0 && this[this.t - 1] == c) { + --this.t; + } + }; + // BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + // (protected) r = this << n*DB + BigInteger.prototype.dlShiftTo = function (n, r) { + var i; + for (i = this.t - 1; i >= 0; --i) { + r[i + n] = this[i]; + } + for (i = n - 1; i >= 0; --i) { + r[i] = 0; + } + r.t = this.t + n; + r.s = this.s; + }; + // BigInteger.prototype.drShiftTo = bnpDRShiftTo; + // (protected) r = this >> n*DB + BigInteger.prototype.drShiftTo = function (n, r) { + for (var i = n; i < this.t; ++i) { + r[i - n] = this[i]; + } + r.t = Math.max(this.t - n, 0); + r.s = this.s; + }; + // BigInteger.prototype.lShiftTo = bnpLShiftTo; + // (protected) r = this << n + BigInteger.prototype.lShiftTo = function (n, r) { + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << cbs) - 1; + var ds = Math.floor(n / this.DB); + var c = (this.s << bs) & this.DM; + for (var i = this.t - 1; i >= 0; --i) { + r[i + ds + 1] = (this[i] >> cbs) | c; + c = (this[i] & bm) << bs; + } + for (var i = ds - 1; i >= 0; --i) { + r[i] = 0; + } + r[ds] = c; + r.t = this.t + ds + 1; + r.s = this.s; + r.clamp(); + }; + // BigInteger.prototype.rShiftTo = bnpRShiftTo; + // (protected) r = this >> n + BigInteger.prototype.rShiftTo = function (n, r) { + r.s = this.s; + var ds = Math.floor(n / this.DB); + if (ds >= this.t) { + r.t = 0; + return; + } + var bs = n % this.DB; + var cbs = this.DB - bs; + var bm = (1 << bs) - 1; + r[0] = this[ds] >> bs; + for (var i = ds + 1; i < this.t; ++i) { + r[i - ds - 1] |= (this[i] & bm) << cbs; + r[i - ds] = this[i] >> bs; + } + if (bs > 0) { + r[this.t - ds - 1] |= (this.s & bm) << cbs; + } + r.t = this.t - ds; + r.clamp(); + }; + // BigInteger.prototype.subTo = bnpSubTo; + // (protected) r = this - a + BigInteger.prototype.subTo = function (a, r) { + var i = 0; + var c = 0; + var m = Math.min(a.t, this.t); + while (i < m) { + c += this[i] - a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + if (a.t < this.t) { + c -= a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while (i < a.t) { + c -= a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c < -1) { + r[i++] = this.DV + c; + } + else if (c > 0) { + r[i++] = c; + } + r.t = i; + r.clamp(); + }; + // BigInteger.prototype.multiplyTo = bnpMultiplyTo; + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyTo = function (a, r) { + var x = this.abs(); + var y = a.abs(); + var i = x.t; + r.t = i + y.t; + while (--i >= 0) { + r[i] = 0; + } + for (i = 0; i < y.t; ++i) { + r[i + x.t] = x.am(0, y[i], r, i, 0, x.t); + } + r.s = 0; + r.clamp(); + if (this.s != a.s) { + BigInteger.ZERO.subTo(r, r); + } + }; + // BigInteger.prototype.squareTo = bnpSquareTo; + // (protected) r = this^2, r != this (HAC 14.16) + BigInteger.prototype.squareTo = function (r) { + var x = this.abs(); + var i = r.t = 2 * x.t; + while (--i >= 0) { + r[i] = 0; + } + for (i = 0; i < x.t - 1; ++i) { + var c = x.am(i, x[i], r, 2 * i, 0, 1); + if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) { + r[i + x.t] -= x.DV; + r[i + x.t + 1] = 1; + } + } + if (r.t > 0) { + r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1); + } + r.s = 0; + r.clamp(); + }; + // BigInteger.prototype.divRemTo = bnpDivRemTo; + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + BigInteger.prototype.divRemTo = function (m, q, r) { + var pm = m.abs(); + if (pm.t <= 0) { + return; + } + var pt = this.abs(); + if (pt.t < pm.t) { + if (q != null) { + q.fromInt(0); + } + if (r != null) { + this.copyTo(r); + } + return; + } + if (r == null) { + r = nbi(); + } + var y = nbi(); + var ts = this.s; + var ms = m.s; + var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus + if (nsh > 0) { + pm.lShiftTo(nsh, y); + pt.lShiftTo(nsh, r); + } + else { + pm.copyTo(y); + pt.copyTo(r); + } + var ys = y.t; + var y0 = y[ys - 1]; + if (y0 == 0) { + return; + } + var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0); + var d1 = this.FV / yt; + var d2 = (1 << this.F1) / yt; + var e = 1 << this.F2; + var i = r.t; + var j = i - ys; + var t = (q == null) ? nbi() : q; + y.dlShiftTo(j, t); + if (r.compareTo(t) >= 0) { + r[r.t++] = 1; + r.subTo(t, r); + } + BigInteger.ONE.dlShiftTo(ys, t); + t.subTo(y, y); // "negative" y so we can replace sub with am later + while (y.t < ys) { + y[y.t++] = 0; + } + while (--j >= 0) { + // Estimate quotient digit + var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2); + if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out + y.dlShiftTo(j, t); + r.subTo(t, r); + while (r[i] < --qd) { + r.subTo(t, r); + } + } + } + if (q != null) { + r.drShiftTo(ys, q); + if (ts != ms) { + BigInteger.ZERO.subTo(q, q); + } + } + r.t = ys; + r.clamp(); + if (nsh > 0) { + r.rShiftTo(nsh, r); + } // Denormalize remainder + if (ts < 0) { + BigInteger.ZERO.subTo(r, r); + } + }; + // BigInteger.prototype.invDigit = bnpInvDigit; + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + BigInteger.prototype.invDigit = function () { + if (this.t < 1) { + return 0; + } + var x = this[0]; + if ((x & 1) == 0) { + return 0; + } + var y = x & 3; // y == 1/x mod 2^2 + y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4 + y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8 + y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y > 0) ? this.DV - y : -y; + }; + // BigInteger.prototype.isEven = bnpIsEven; + // (protected) true iff this is even + BigInteger.prototype.isEven = function () { + return ((this.t > 0) ? (this[0] & 1) : this.s) == 0; + }; + // BigInteger.prototype.exp = bnpExp; + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + BigInteger.prototype.exp = function (e, z) { + if (e > 0xffffffff || e < 1) { + return BigInteger.ONE; + } + var r = nbi(); + var r2 = nbi(); + var g = z.convert(this); + var i = nbits(e) - 1; + g.copyTo(r); + while (--i >= 0) { + z.sqrTo(r, r2); + if ((e & (1 << i)) > 0) { + z.mulTo(r2, g, r); + } + else { + var t = r; + r = r2; + r2 = t; + } + } + return z.revert(r); + }; + // BigInteger.prototype.chunkSize = bnpChunkSize; + // (protected) return x s.t. r^x < DV + BigInteger.prototype.chunkSize = function (r) { + return Math.floor(Math.LN2 * this.DB / Math.log(r)); + }; + // BigInteger.prototype.toRadix = bnpToRadix; + // (protected) convert to radix string + BigInteger.prototype.toRadix = function (b) { + if (b == null) { + b = 10; + } + if (this.signum() == 0 || b < 2 || b > 36) { + return "0"; + } + var cs = this.chunkSize(b); + var a = Math.pow(b, cs); + var d = nbv(a); + var y = nbi(); + var z = nbi(); + var r = ""; + this.divRemTo(d, y, z); + while (y.signum() > 0) { + r = (a + z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d, y, z); + } + return z.intValue().toString(b) + r; + }; + // BigInteger.prototype.fromRadix = bnpFromRadix; + // (protected) convert from radix string + BigInteger.prototype.fromRadix = function (s, b) { + this.fromInt(0); + if (b == null) { + b = 10; + } + var cs = this.chunkSize(b); + var d = Math.pow(b, cs); + var mi = false; + var j = 0; + var w = 0; + for (var i = 0; i < s.length; ++i) { + var x = intAt(s, i); + if (x < 0) { + if (s.charAt(i) == "-" && this.signum() == 0) { + mi = true; + } + continue; + } + w = b * w + x; + if (++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w, 0); + j = 0; + w = 0; + } + } + if (j > 0) { + this.dMultiply(Math.pow(b, j)); + this.dAddOffset(w, 0); + } + if (mi) { + BigInteger.ZERO.subTo(this, this); + } + }; + // BigInteger.prototype.fromNumber = bnpFromNumber; + // (protected) alternate constructor + BigInteger.prototype.fromNumber = function (a, b, c) { + if ("number" == typeof b) { + // new BigInteger(int,int,RNG) + if (a < 2) { + this.fromInt(1); + } + else { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) { + // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); + } + if (this.isEven()) { + this.dAddOffset(1, 0); + } // force odd + while (!this.isProbablePrime(b)) { + this.dAddOffset(2, 0); + if (this.bitLength() > a) { + this.subTo(BigInteger.ONE.shiftLeft(a - 1), this); + } + } + } + } + else { + // new BigInteger(int,RNG) + var x = []; + var t = a & 7; + x.length = (a >> 3) + 1; + b.nextBytes(x); + if (t > 0) { + x[0] &= ((1 << t) - 1); + } + else { + x[0] = 0; + } + this.fromString(x, 256); + } + }; + // BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + // (protected) r = this op a (bitwise) + BigInteger.prototype.bitwiseTo = function (a, op, r) { + var i; + var f; + var m = Math.min(a.t, this.t); + for (i = 0; i < m; ++i) { + r[i] = op(this[i], a[i]); + } + if (a.t < this.t) { + f = a.s & this.DM; + for (i = m; i < this.t; ++i) { + r[i] = op(this[i], f); + } + r.t = this.t; + } + else { + f = this.s & this.DM; + for (i = m; i < a.t; ++i) { + r[i] = op(f, a[i]); + } + r.t = a.t; + } + r.s = op(this.s, a.s); + r.clamp(); + }; + // BigInteger.prototype.changeBit = bnpChangeBit; + // (protected) this op (1<>= this.DB; + } + if (a.t < this.t) { + c += a.s; + while (i < this.t) { + c += this[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while (i < a.t) { + c += a[i]; + r[i++] = c & this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = (c < 0) ? -1 : 0; + if (c > 0) { + r[i++] = c; + } + else if (c < -1) { + r[i++] = this.DV + c; + } + r.t = i; + r.clamp(); + }; + // BigInteger.prototype.dMultiply = bnpDMultiply; + // (protected) this *= n, this >= 0, 1 < n < DV + BigInteger.prototype.dMultiply = function (n) { + this[this.t] = this.am(0, n - 1, this, 0, 0, this.t); + ++this.t; + this.clamp(); + }; + // BigInteger.prototype.dAddOffset = bnpDAddOffset; + // (protected) this += n << w words, this >= 0 + BigInteger.prototype.dAddOffset = function (n, w) { + if (n == 0) { + return; + } + while (this.t <= w) { + this[this.t++] = 0; + } + this[w] += n; + while (this[w] >= this.DV) { + this[w] -= this.DV; + if (++w >= this.t) { + this[this.t++] = 0; + } + ++this[w]; + } + }; + // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyLowerTo = function (a, n, r) { + var i = Math.min(this.t + a.t, n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while (i > 0) { + r[--i] = 0; + } + for (var j = r.t - this.t; i < j; ++i) { + r[i + this.t] = this.am(0, a[i], r, i, 0, this.t); + } + for (var j = Math.min(a.t, n); i < j; ++i) { + this.am(0, a[i], r, i, 0, n - i); + } + r.clamp(); + }; + // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + BigInteger.prototype.multiplyUpperTo = function (a, n, r) { + --n; + var i = r.t = this.t + a.t - n; + r.s = 0; // assumes a,this >= 0 + while (--i >= 0) { + r[i] = 0; + } + for (i = Math.max(n - this.t, 0); i < a.t; ++i) { + r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n); + } + r.clamp(); + r.drShiftTo(1, r); + }; + // BigInteger.prototype.modInt = bnpModInt; + // (protected) this % n, n < 2^26 + BigInteger.prototype.modInt = function (n) { + if (n <= 0) { + return 0; + } + var d = this.DV % n; + var r = (this.s < 0) ? n - 1 : 0; + if (this.t > 0) { + if (d == 0) { + r = this[0] % n; + } + else { + for (var i = this.t - 1; i >= 0; --i) { + r = (d * r + this[i]) % n; + } + } + } + return r; + }; + // BigInteger.prototype.millerRabin = bnpMillerRabin; + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + BigInteger.prototype.millerRabin = function (t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if (k <= 0) { + return false; + } + var r = n1.shiftRight(k); + t = (t + 1) >> 1; + if (t > lowprimes.length) { + t = lowprimes.length; + } + var a = nbi(); + for (var i = 0; i < t; ++i) { + // Pick bases at random, instead of starting at 2 + a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]); + var y = a.modPow(r, this); + if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while (j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2, this); + if (y.compareTo(BigInteger.ONE) == 0) { + return false; + } + } + if (y.compareTo(n1) != 0) { + return false; + } + } + } + return true; + }; + // BigInteger.prototype.square = bnSquare; + // (public) this^2 + BigInteger.prototype.square = function () { + var r = nbi(); + this.squareTo(r); + return r; + }; + //#region ASYNC + // Public API method + BigInteger.prototype.gcda = function (a, callback) { + var x = (this.s < 0) ? this.negate() : this.clone(); + var y = (a.s < 0) ? a.negate() : a.clone(); + if (x.compareTo(y) < 0) { + var t = x; + x = y; + y = t; + } + var i = x.getLowestSetBit(); + var g = y.getLowestSetBit(); + if (g < 0) { + callback(x); + return; + } + if (i < g) { + g = i; + } + if (g > 0) { + x.rShiftTo(g, x); + y.rShiftTo(g, y); + } + // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen. + var gcda1 = function () { + if ((i = x.getLowestSetBit()) > 0) { + x.rShiftTo(i, x); + } + if ((i = y.getLowestSetBit()) > 0) { + y.rShiftTo(i, y); + } + if (x.compareTo(y) >= 0) { + x.subTo(y, x); + x.rShiftTo(1, x); + } + else { + y.subTo(x, y); + y.rShiftTo(1, y); + } + if (!(x.signum() > 0)) { + if (g > 0) { + y.lShiftTo(g, y); + } + setTimeout(function () { callback(y); }, 0); // escape + } + else { + setTimeout(gcda1, 0); + } + }; + setTimeout(gcda1, 10); + }; + // (protected) alternate constructor + BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) { + if ("number" == typeof b) { + if (a < 2) { + this.fromInt(1); + } + else { + this.fromNumber(a, c); + if (!this.testBit(a - 1)) { + this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), op_or, this); + } + if (this.isEven()) { + this.dAddOffset(1, 0); + } + var bnp_1 = this; + var bnpfn1_1 = function () { + bnp_1.dAddOffset(2, 0); + if (bnp_1.bitLength() > a) { + bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1); + } + if (bnp_1.isProbablePrime(b)) { + setTimeout(function () { callback(); }, 0); // escape + } + else { + setTimeout(bnpfn1_1, 0); + } + }; + setTimeout(bnpfn1_1, 0); + } + } + else { + var x = []; + var t = a & 7; + x.length = (a >> 3) + 1; + b.nextBytes(x); + if (t > 0) { + x[0] &= ((1 << t) - 1); + } + else { + x[0] = 0; + } + this.fromString(x, 256); + } + }; + return BigInteger; +}()); +export { BigInteger }; +//#region REDUCERS +//#region NullExp +var NullExp = /** @class */ (function () { + function NullExp() { + } + // NullExp.prototype.convert = nNop; + NullExp.prototype.convert = function (x) { + return x; + }; + // NullExp.prototype.revert = nNop; + NullExp.prototype.revert = function (x) { + return x; + }; + // NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + }; + // NullExp.prototype.sqrTo = nSqrTo; + NullExp.prototype.sqrTo = function (x, r) { + x.squareTo(r); + }; + return NullExp; +}()); +// Modular reduction using "classic" algorithm +var Classic = /** @class */ (function () { + function Classic(m) { + this.m = m; + } + // Classic.prototype.convert = cConvert; + Classic.prototype.convert = function (x) { + if (x.s < 0 || x.compareTo(this.m) >= 0) { + return x.mod(this.m); + } + else { + return x; + } + }; + // Classic.prototype.revert = cRevert; + Classic.prototype.revert = function (x) { + return x; + }; + // Classic.prototype.reduce = cReduce; + Classic.prototype.reduce = function (x) { + x.divRemTo(this.m, null, x); + }; + // Classic.prototype.mulTo = cMulTo; + Classic.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Classic.prototype.sqrTo = cSqrTo; + Classic.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Classic; +}()); +//#endregion +//#region Montgomery +// Montgomery reduction +var Montgomery = /** @class */ (function () { + function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp & 0x7fff; + this.mph = this.mp >> 15; + this.um = (1 << (m.DB - 15)) - 1; + this.mt2 = 2 * m.t; + } + // Montgomery.prototype.convert = montConvert; + // xR mod m + Montgomery.prototype.convert = function (x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t, r); + r.divRemTo(this.m, null, r); + if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) { + this.m.subTo(r, r); + } + return r; + }; + // Montgomery.prototype.revert = montRevert; + // x/R mod m + Montgomery.prototype.revert = function (x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + }; + // Montgomery.prototype.reduce = montReduce; + // x = x/R mod m (HAC 14.32) + Montgomery.prototype.reduce = function (x) { + while (x.t <= this.mt2) { + // pad x so am has enough room later + x[x.t++] = 0; + } + for (var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i] & 0x7fff; + var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM; + // use am to combine the multiply-shift-add into one call + j = i + this.m.t; + x[j] += this.m.am(0, u0, x, i, 0, this.m.t); + // propagate carry + while (x[j] >= x.DV) { + x[j] -= x.DV; + x[++j]++; + } + } + x.clamp(); + x.drShiftTo(this.m.t, x); + if (x.compareTo(this.m) >= 0) { + x.subTo(this.m, x); + } + }; + // Montgomery.prototype.mulTo = montMulTo; + // r = "xy/R mod m"; x,y != r + Montgomery.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Montgomery.prototype.sqrTo = montSqrTo; + // r = "x^2/R mod m"; x != r + Montgomery.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Montgomery; +}()); +//#endregion Montgomery +//#region Barrett +// Barrett modular reduction +var Barrett = /** @class */ (function () { + function Barrett(m) { + this.m = m; + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2 * m.t, this.r2); + this.mu = this.r2.divide(m); + } + // Barrett.prototype.convert = barrettConvert; + Barrett.prototype.convert = function (x) { + if (x.s < 0 || x.t > 2 * this.m.t) { + return x.mod(this.m); + } + else if (x.compareTo(this.m) < 0) { + return x; + } + else { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + }; + // Barrett.prototype.revert = barrettRevert; + Barrett.prototype.revert = function (x) { + return x; + }; + // Barrett.prototype.reduce = barrettReduce; + // x = x mod m (HAC 14.42) + Barrett.prototype.reduce = function (x) { + x.drShiftTo(this.m.t - 1, this.r2); + if (x.t > this.m.t + 1) { + x.t = this.m.t + 1; + x.clamp(); + } + this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3); + this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); + while (x.compareTo(this.r2) < 0) { + x.dAddOffset(1, this.m.t + 1); + } + x.subTo(this.r2, x); + while (x.compareTo(this.m) >= 0) { + x.subTo(this.m, x); + } + }; + // Barrett.prototype.mulTo = barrettMulTo; + // r = x*y mod m; x,y != r + Barrett.prototype.mulTo = function (x, y, r) { + x.multiplyTo(y, r); + this.reduce(r); + }; + // Barrett.prototype.sqrTo = barrettSqrTo; + // r = x^2 mod m; x != r + Barrett.prototype.sqrTo = function (x, r) { + x.squareTo(r); + this.reduce(r); + }; + return Barrett; +}()); +//#endregion +//#endregion REDUCERS +// return new, unset BigInteger +export function nbi() { return new BigInteger(null); } +export function parseBigInt(str, r) { + return new BigInteger(str, r); +} +// am: Compute w_j += (x*this_i), propagate carries, +// c is initial carry, returns final carry. +// c < 3*dvalue, x < 2*dvalue, this_i < dvalue +// We need to select the fastest one that works in this environment. +var inBrowser = typeof navigator !== "undefined"; +if (inBrowser && j_lm && (navigator.appName == "Microsoft Internet Explorer")) { + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + BigInteger.prototype.am = function am2(i, x, w, j, c, n) { + var xl = x & 0x7fff; + var xh = x >> 15; + while (--n >= 0) { + var l = this[i] & 0x7fff; + var h = this[i++] >> 15; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff); + c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30); + w[j++] = l & 0x3fffffff; + } + return c; + }; + dbits = 30; +} +else if (inBrowser && j_lm && (navigator.appName != "Netscape")) { + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + BigInteger.prototype.am = function am1(i, x, w, j, c, n) { + while (--n >= 0) { + var v = x * this[i++] + w[j] + c; + c = Math.floor(v / 0x4000000); + w[j++] = v & 0x3ffffff; + } + return c; + }; + dbits = 26; +} +else { // Mozilla/Netscape seems to prefer am3 + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + BigInteger.prototype.am = function am3(i, x, w, j, c, n) { + var xl = x & 0x3fff; + var xh = x >> 14; + while (--n >= 0) { + var l = this[i] & 0x3fff; + var h = this[i++] >> 14; + var m = xh * l + h * xl; + l = xl * l + ((m & 0x3fff) << 14) + w[j] + c; + c = (l >> 28) + (m >> 14) + xh * h; + w[j++] = l & 0xfffffff; + } + return c; + }; + dbits = 28; +} +BigInteger.prototype.DB = dbits; +BigInteger.prototype.DM = ((1 << dbits) - 1); +BigInteger.prototype.DV = (1 << dbits); +var BI_FP = 52; +BigInteger.prototype.FV = Math.pow(2, BI_FP); +BigInteger.prototype.F1 = BI_FP - dbits; +BigInteger.prototype.F2 = 2 * dbits - BI_FP; +// Digit conversions +var BI_RC = []; +var rr; +var vv; +rr = "0".charCodeAt(0); +for (vv = 0; vv <= 9; ++vv) { + BI_RC[rr++] = vv; +} +rr = "a".charCodeAt(0); +for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; +} +rr = "A".charCodeAt(0); +for (vv = 10; vv < 36; ++vv) { + BI_RC[rr++] = vv; +} +export function intAt(s, i) { + var c = BI_RC[s.charCodeAt(i)]; + return (c == null) ? -1 : c; +} +// return bigint initialized to value +export function nbv(i) { + var r = nbi(); + r.fromInt(i); + return r; +} +// returns bit length of the integer x +export function nbits(x) { + var r = 1; + var t; + if ((t = x >>> 16) != 0) { + x = t; + r += 16; + } + if ((t = x >> 8) != 0) { + x = t; + r += 8; + } + if ((t = x >> 4) != 0) { + x = t; + r += 4; + } + if ((t = x >> 2) != 0) { + x = t; + r += 2; + } + if ((t = x >> 1) != 0) { + x = t; + r += 1; + } + return r; +} +// "constants" +BigInteger.ZERO = nbv(0); +BigInteger.ONE = nbv(1); diff --git a/libs/jsencrypt/lib/lib/jsbn/prng4.d.ts b/libs/jsencrypt/lib/lib/jsbn/prng4.d.ts new file mode 100644 index 0000000..f3ec870 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/prng4.d.ts @@ -0,0 +1,10 @@ +export declare class Arcfour { + constructor(); + init(key: number[]): void; + next(): number; + private i; + private j; + private S; +} +export declare function prng_newstate(): Arcfour; +export declare let rng_psize: number; diff --git a/libs/jsencrypt/lib/lib/jsbn/prng4.js b/libs/jsencrypt/lib/lib/jsbn/prng4.js new file mode 100644 index 0000000..80c4724 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/prng4.js @@ -0,0 +1,46 @@ +// prng4.js - uses Arcfour as a PRNG +var Arcfour = /** @class */ (function () { + function Arcfour() { + this.i = 0; + this.j = 0; + this.S = []; + } + // Arcfour.prototype.init = ARC4init; + // Initialize arcfour context from key, an array of ints, each from [0..255] + Arcfour.prototype.init = function (key) { + var i; + var j; + var t; + for (i = 0; i < 256; ++i) { + this.S[i] = i; + } + j = 0; + for (i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; + }; + // Arcfour.prototype.next = ARC4next; + Arcfour.prototype.next = function () { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; + }; + return Arcfour; +}()); +export { Arcfour }; +// Plug in your RNG constructor here +export function prng_newstate() { + return new Arcfour(); +} +// Pool size must be a multiple of 4 and greater than 32. +// An array of bytes the size of the pool will be passed to init() +export var rng_psize = 256; diff --git a/libs/jsencrypt/lib/lib/jsbn/rng.d.ts b/libs/jsencrypt/lib/lib/jsbn/rng.d.ts new file mode 100644 index 0000000..49ad80d --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/rng.d.ts @@ -0,0 +1,3 @@ +export declare class SecureRandom { + nextBytes(ba: number[]): void; +} diff --git a/libs/jsencrypt/lib/lib/jsbn/rng.js b/libs/jsencrypt/lib/lib/jsbn/rng.js new file mode 100644 index 0000000..65bd0df --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/rng.js @@ -0,0 +1,78 @@ +// Random number generator - requires a PRNG backend, e.g. prng4.js +import { prng_newstate, rng_psize } from "./prng4"; +var rng_state; +var rng_pool = null; +var rng_pptr; +// Initialize the pool with junk if needed. +if (rng_pool == null) { + rng_pool = []; + rng_pptr = 0; + var t = void 0; + if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) { + // Extract entropy (2048 bits) from RNG if available + var z = new Uint32Array(256); + window.crypto.getRandomValues(z); + for (t = 0; t < z.length; ++t) { + rng_pool[rng_pptr++] = z[t] & 255; + } + } + // Use mouse events for entropy, if we do not have enough entropy by the time + // we need it, entropy will be generated by Math.random. + var count = 0; + var onMouseMoveListener_1 = function (ev) { + count = count || 0; + if (count >= 256 || rng_pptr >= rng_psize) { + if (window.removeEventListener) { + window.removeEventListener("mousemove", onMouseMoveListener_1, false); + } + else if (window.detachEvent) { + window.detachEvent("onmousemove", onMouseMoveListener_1); + } + return; + } + try { + var mouseCoordinates = ev.x + ev.y; + rng_pool[rng_pptr++] = mouseCoordinates & 255; + count += 1; + } + catch (e) { + // Sometimes Firefox will deny permission to access event properties for some reason. Ignore. + } + }; + if (typeof window !== 'undefined') { + if (window.addEventListener) { + window.addEventListener("mousemove", onMouseMoveListener_1, false); + } + else if (window.attachEvent) { + window.attachEvent("onmousemove", onMouseMoveListener_1); + } + } +} +function rng_get_byte() { + if (rng_state == null) { + rng_state = prng_newstate(); + // At this point, we may not have collected enough entropy. If not, fall back to Math.random + while (rng_pptr < rng_psize) { + var random = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = random & 255; + } + rng_state.init(rng_pool); + for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) { + rng_pool[rng_pptr] = 0; + } + rng_pptr = 0; + } + // TODO: allow reseeding after first request + return rng_state.next(); +} +var SecureRandom = /** @class */ (function () { + function SecureRandom() { + } + SecureRandom.prototype.nextBytes = function (ba) { + for (var i = 0; i < ba.length; ++i) { + ba[i] = rng_get_byte(); + } + }; + return SecureRandom; +}()); +export { SecureRandom }; diff --git a/libs/jsencrypt/lib/lib/jsbn/rsa.d.ts b/libs/jsencrypt/lib/lib/jsbn/rsa.d.ts new file mode 100644 index 0000000..1285ad3 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/rsa.d.ts @@ -0,0 +1,23 @@ +import { BigInteger } from "./jsbn"; +export declare class RSAKey { + constructor(); + doPublic(x: BigInteger): BigInteger; + doPrivate(x: BigInteger): BigInteger; + setPublic(N: string, E: string): void; + encrypt(text: string): string; + setPrivate(N: string, E: string, D: string): void; + setPrivateEx(N: string, E: string, D: string, P: string, Q: string, DP: string, DQ: string, C: string): void; + generate(B: number, E: string): void; + decrypt(ctext: string): string; + generateAsync(B: number, E: string, callback: () => void): void; + sign(text: string, digestMethod: (str: string) => string, digestName: string): string; + verify(text: string, signature: string, digestMethod: (str: string) => string): boolean; + protected n: BigInteger; + protected e: number; + protected d: BigInteger; + protected p: BigInteger; + protected q: BigInteger; + protected dmp1: BigInteger; + protected dmq1: BigInteger; + protected coeff: BigInteger; +} diff --git a/libs/jsencrypt/lib/lib/jsbn/rsa.js b/libs/jsencrypt/lib/lib/jsbn/rsa.js new file mode 100644 index 0000000..b47d793 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/rsa.js @@ -0,0 +1,373 @@ +// Depends on jsbn.js and rng.js +// Version 1.1: support utf-8 encoding in pkcs1pad2 +// convert a (hex) string to a bignum object +import { BigInteger, nbi, parseBigInt } from "./jsbn"; +import { SecureRandom } from "./rng"; +// function linebrk(s,n) { +// var ret = ""; +// var i = 0; +// while(i + n < s.length) { +// ret += s.substring(i,i+n) + "\n"; +// i += n; +// } +// return ret + s.substring(i,s.length); +// } +// function byte2Hex(b) { +// if(b < 0x10) +// return "0" + b.toString(16); +// else +// return b.toString(16); +// } +function pkcs1pad1(s, n) { + if (n < s.length + 22) { + console.error("Message too long for RSA"); + return null; + } + var len = n - s.length - 6; + var filler = ""; + for (var f = 0; f < len; f += 2) { + filler += "ff"; + } + var m = "0001" + filler + "00" + s; + return parseBigInt(m, 16); +} +// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint +function pkcs1pad2(s, n) { + if (n < s.length + 11) { // TODO: fix for utf-8 + console.error("Message too long for RSA"); + return null; + } + var ba = []; + var i = s.length - 1; + while (i >= 0 && n > 0) { + var c = s.charCodeAt(i--); + if (c < 128) { // encode using utf-8 + ba[--n] = c; + } + else if ((c > 127) && (c < 2048)) { + ba[--n] = (c & 63) | 128; + ba[--n] = (c >> 6) | 192; + } + else { + ba[--n] = (c & 63) | 128; + ba[--n] = ((c >> 6) & 63) | 128; + ba[--n] = (c >> 12) | 224; + } + } + ba[--n] = 0; + var rng = new SecureRandom(); + var x = []; + while (n > 2) { // random non-zero pad + x[0] = 0; + while (x[0] == 0) { + rng.nextBytes(x); + } + ba[--n] = x[0]; + } + ba[--n] = 2; + ba[--n] = 0; + return new BigInteger(ba); +} +// "empty" RSA key constructor +var RSAKey = /** @class */ (function () { + function RSAKey() { + this.n = null; + this.e = 0; + this.d = null; + this.p = null; + this.q = null; + this.dmp1 = null; + this.dmq1 = null; + this.coeff = null; + } + //#region PROTECTED + // protected + // RSAKey.prototype.doPublic = RSADoPublic; + // Perform raw public operation on "x": return x^e (mod n) + RSAKey.prototype.doPublic = function (x) { + return x.modPowInt(this.e, this.n); + }; + // RSAKey.prototype.doPrivate = RSADoPrivate; + // Perform raw private operation on "x": return x^d (mod n) + RSAKey.prototype.doPrivate = function (x) { + if (this.p == null || this.q == null) { + return x.modPow(this.d, this.n); + } + // TODO: re-calculate any missing CRT params + var xp = x.mod(this.p).modPow(this.dmp1, this.p); + var xq = x.mod(this.q).modPow(this.dmq1, this.q); + while (xp.compareTo(xq) < 0) { + xp = xp.add(this.p); + } + return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq); + }; + //#endregion PROTECTED + //#region PUBLIC + // RSAKey.prototype.setPublic = RSASetPublic; + // Set the public key fields N and e from hex strings + RSAKey.prototype.setPublic = function (N, E) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + } + else { + console.error("Invalid RSA public key"); + } + }; + // RSAKey.prototype.encrypt = RSAEncrypt; + // Return the PKCS#1 RSA encryption of "text" as an even-length hex string + RSAKey.prototype.encrypt = function (text) { + var maxLength = (this.n.bitLength() + 7) >> 3; + var m = pkcs1pad2(text, maxLength); + if (m == null) { + return null; + } + var c = this.doPublic(m); + if (c == null) { + return null; + } + var h = c.toString(16); + var length = h.length; + // fix zero before result + for (var i = 0; i < maxLength * 2 - length; i++) { + h = "0" + h; + } + return h; + }; + // RSAKey.prototype.setPrivate = RSASetPrivate; + // Set the private key fields N, e, and d from hex strings + RSAKey.prototype.setPrivate = function (N, E, D) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + this.d = parseBigInt(D, 16); + } + else { + console.error("Invalid RSA private key"); + } + }; + // RSAKey.prototype.setPrivateEx = RSASetPrivateEx; + // Set the private key fields N, e, d and CRT params from hex strings + RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) { + if (N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N, 16); + this.e = parseInt(E, 16); + this.d = parseBigInt(D, 16); + this.p = parseBigInt(P, 16); + this.q = parseBigInt(Q, 16); + this.dmp1 = parseBigInt(DP, 16); + this.dmq1 = parseBigInt(DQ, 16); + this.coeff = parseBigInt(C, 16); + } + else { + console.error("Invalid RSA private key"); + } + }; + // RSAKey.prototype.generate = RSAGenerate; + // Generate a new random private key B bits long, using public expt E + RSAKey.prototype.generate = function (B, E) { + var rng = new SecureRandom(); + var qs = B >> 1; + this.e = parseInt(E, 16); + var ee = new BigInteger(E, 16); + for (;;) { + for (;;) { + this.p = new BigInteger(B - qs, 1, rng); + if (this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) { + break; + } + } + for (;;) { + this.q = new BigInteger(qs, 1, rng); + if (this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) { + break; + } + } + if (this.p.compareTo(this.q) <= 0) { + var t = this.p; + this.p = this.q; + this.q = t; + } + var p1 = this.p.subtract(BigInteger.ONE); + var q1 = this.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + this.n = this.p.multiply(this.q); + this.d = ee.modInverse(phi); + this.dmp1 = this.d.mod(p1); + this.dmq1 = this.d.mod(q1); + this.coeff = this.q.modInverse(this.p); + break; + } + } + }; + // RSAKey.prototype.decrypt = RSADecrypt; + // Return the PKCS#1 RSA decryption of "ctext". + // "ctext" is an even-length hex string and the output is a plain string. + RSAKey.prototype.decrypt = function (ctext) { + var c = parseBigInt(ctext, 16); + var m = this.doPrivate(c); + if (m == null) { + return null; + } + return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3); + }; + // Generate a new random private key B bits long, using public expt E + RSAKey.prototype.generateAsync = function (B, E, callback) { + var rng = new SecureRandom(); + var qs = B >> 1; + this.e = parseInt(E, 16); + var ee = new BigInteger(E, 16); + var rsa = this; + // These functions have non-descript names because they were originally for(;;) loops. + // I don't know about cryptography to give them better names than loop1-4. + var loop1 = function () { + var loop4 = function () { + if (rsa.p.compareTo(rsa.q) <= 0) { + var t = rsa.p; + rsa.p = rsa.q; + rsa.q = t; + } + var p1 = rsa.p.subtract(BigInteger.ONE); + var q1 = rsa.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if (phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + rsa.n = rsa.p.multiply(rsa.q); + rsa.d = ee.modInverse(phi); + rsa.dmp1 = rsa.d.mod(p1); + rsa.dmq1 = rsa.d.mod(q1); + rsa.coeff = rsa.q.modInverse(rsa.p); + setTimeout(function () { callback(); }, 0); // escape + } + else { + setTimeout(loop1, 0); + } + }; + var loop3 = function () { + rsa.q = nbi(); + rsa.q.fromNumberAsync(qs, 1, rng, function () { + rsa.q.subtract(BigInteger.ONE).gcda(ee, function (r) { + if (r.compareTo(BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) { + setTimeout(loop4, 0); + } + else { + setTimeout(loop3, 0); + } + }); + }); + }; + var loop2 = function () { + rsa.p = nbi(); + rsa.p.fromNumberAsync(B - qs, 1, rng, function () { + rsa.p.subtract(BigInteger.ONE).gcda(ee, function (r) { + if (r.compareTo(BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) { + setTimeout(loop3, 0); + } + else { + setTimeout(loop2, 0); + } + }); + }); + }; + setTimeout(loop2, 0); + }; + setTimeout(loop1, 0); + }; + RSAKey.prototype.sign = function (text, digestMethod, digestName) { + var header = getDigestHeader(digestName); + var digest = header + digestMethod(text).toString(); + var m = pkcs1pad1(digest, this.n.bitLength() / 4); + if (m == null) { + return null; + } + var c = this.doPrivate(m); + if (c == null) { + return null; + } + var h = c.toString(16); + if ((h.length & 1) == 0) { + return h; + } + else { + return "0" + h; + } + }; + RSAKey.prototype.verify = function (text, signature, digestMethod) { + var c = parseBigInt(signature, 16); + var m = this.doPublic(c); + if (m == null) { + return null; + } + var unpadded = m.toString(16).replace(/^1f+00/, ""); + var digest = removeDigestHeader(unpadded); + return digest == digestMethod(text).toString(); + }; + return RSAKey; +}()); +export { RSAKey }; +// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext +function pkcs1unpad2(d, n) { + var b = d.toByteArray(); + var i = 0; + while (i < b.length && b[i] == 0) { + ++i; + } + if (b.length - i != n - 1 || b[i] != 2) { + return null; + } + ++i; + while (b[i] != 0) { + if (++i >= b.length) { + return null; + } + } + var ret = ""; + while (++i < b.length) { + var c = b[i] & 255; + if (c < 128) { // utf-8 decode + ret += String.fromCharCode(c); + } + else if ((c > 191) && (c < 224)) { + ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63)); + ++i; + } + else { + ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63)); + i += 2; + } + } + return ret; +} +// https://tools.ietf.org/html/rfc3447#page-43 +var DIGEST_HEADERS = { + md2: "3020300c06082a864886f70d020205000410", + md5: "3020300c06082a864886f70d020505000410", + sha1: "3021300906052b0e03021a05000414", + sha224: "302d300d06096086480165030402040500041c", + sha256: "3031300d060960864801650304020105000420", + sha384: "3041300d060960864801650304020205000430", + sha512: "3051300d060960864801650304020305000440", + ripemd160: "3021300906052b2403020105000414" +}; +function getDigestHeader(name) { + return DIGEST_HEADERS[name] || ""; +} +function removeDigestHeader(str) { + for (var name_1 in DIGEST_HEADERS) { + if (DIGEST_HEADERS.hasOwnProperty(name_1)) { + var header = DIGEST_HEADERS[name_1]; + var len = header.length; + if (str.substr(0, len) == header) { + return str.substr(len); + } + } + } + return str; +} +// Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string +// function RSAEncryptB64(text) { +// var h = this.encrypt(text); +// if(h) return hex2b64(h); else return null; +// } +// public +// RSAKey.prototype.encrypt_b64 = RSAEncryptB64; diff --git a/libs/jsencrypt/lib/lib/jsbn/util.d.ts b/libs/jsencrypt/lib/lib/jsbn/util.d.ts new file mode 100644 index 0000000..57d0160 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/util.d.ts @@ -0,0 +1,7 @@ +export declare function int2char(n: number): string; +export declare function op_and(x: number, y: number): number; +export declare function op_or(x: number, y: number): number; +export declare function op_xor(x: number, y: number): number; +export declare function op_andnot(x: number, y: number): number; +export declare function lbit(x: number): number; +export declare function cbit(x: number): number; diff --git a/libs/jsencrypt/lib/lib/jsbn/util.js b/libs/jsencrypt/lib/lib/jsbn/util.js new file mode 100644 index 0000000..122ac2f --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsbn/util.js @@ -0,0 +1,58 @@ +var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz"; +export function int2char(n) { + return BI_RM.charAt(n); +} +//#region BIT_OPERATIONS +// (public) this & a +export function op_and(x, y) { + return x & y; +} +// (public) this | a +export function op_or(x, y) { + return x | y; +} +// (public) this ^ a +export function op_xor(x, y) { + return x ^ y; +} +// (public) this & ~a +export function op_andnot(x, y) { + return x & ~y; +} +// return index of lowest 1-bit in x, x < 2^31 +export function lbit(x) { + if (x == 0) { + return -1; + } + var r = 0; + if ((x & 0xffff) == 0) { + x >>= 16; + r += 16; + } + if ((x & 0xff) == 0) { + x >>= 8; + r += 8; + } + if ((x & 0xf) == 0) { + x >>= 4; + r += 4; + } + if ((x & 3) == 0) { + x >>= 2; + r += 2; + } + if ((x & 1) == 0) { + ++r; + } + return r; +} +// return number of 1 bits in x +export function cbit(x) { + var r = 0; + while (x != 0) { + x &= x - 1; + ++r; + } + return r; +} +//#endregion BIT_OPERATIONS diff --git a/libs/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js b/libs/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js new file mode 100644 index 0000000..51f7896 --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js @@ -0,0 +1,1593 @@ +/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license + */ +/* + * asn1.js - ASN.1 DER encoder classes + * + * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com) + * + * This software is licensed under the terms of the MIT License. + * https://kjur.github.io/jsrsasign/license + * + * The above copyright and license notice shall be + * included in all copies or substantial portions of the Software. + */ +import { BigInteger } from "../jsbn/jsbn"; +import { YAHOO } from "./yahoo"; +/** + * @fileOverview + * @name asn1-1.0.js + * @author Kenji Urushima kenji.urushima@gmail.com + * @version asn1 1.0.13 (2017-Jun-02) + * @since jsrsasign 2.1 + * @license MIT License + */ +/** + * kjur's class library name space + *

+ * This name space provides following name spaces: + *

    + *
  • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
  • + *
  • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
  • + *
  • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature + * class and utilities
  • + *
+ *

+ * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2. + * @name KJUR + * @namespace kjur's class library name space + */ +export var KJUR = {}; +/** + * kjur's ASN.1 class library name space + *

+ * This is ITU-T X.690 ASN.1 DER encoder class library and + * class structure and methods is very similar to + * org.bouncycastle.asn1 package of + * well known BouncyCaslte Cryptography Library. + *

PROVIDING ASN.1 PRIMITIVES

+ * Here are ASN.1 DER primitive classes. + *
    + *
  • 0x01 {@link KJUR.asn1.DERBoolean}
  • + *
  • 0x02 {@link KJUR.asn1.DERInteger}
  • + *
  • 0x03 {@link KJUR.asn1.DERBitString}
  • + *
  • 0x04 {@link KJUR.asn1.DEROctetString}
  • + *
  • 0x05 {@link KJUR.asn1.DERNull}
  • + *
  • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
  • + *
  • 0x0a {@link KJUR.asn1.DEREnumerated}
  • + *
  • 0x0c {@link KJUR.asn1.DERUTF8String}
  • + *
  • 0x12 {@link KJUR.asn1.DERNumericString}
  • + *
  • 0x13 {@link KJUR.asn1.DERPrintableString}
  • + *
  • 0x14 {@link KJUR.asn1.DERTeletexString}
  • + *
  • 0x16 {@link KJUR.asn1.DERIA5String}
  • + *
  • 0x17 {@link KJUR.asn1.DERUTCTime}
  • + *
  • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
  • + *
  • 0x30 {@link KJUR.asn1.DERSequence}
  • + *
  • 0x31 {@link KJUR.asn1.DERSet}
  • + *
+ *

OTHER ASN.1 CLASSES

+ *
    + *
  • {@link KJUR.asn1.ASN1Object}
  • + *
  • {@link KJUR.asn1.DERAbstractString}
  • + *
  • {@link KJUR.asn1.DERAbstractTime}
  • + *
  • {@link KJUR.asn1.DERAbstractStructured}
  • + *
  • {@link KJUR.asn1.DERTaggedObject}
  • + *
+ *

SUB NAME SPACES

+ *
    + *
  • {@link KJUR.asn1.cades} - CAdES long term signature format
  • + *
  • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
  • + *
  • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
  • + *
  • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
  • + *
  • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
  • + *
+ *

+ * NOTE: Please ignore method summary and document of this namespace. + * This caused by a bug of jsdoc2. + * @name KJUR.asn1 + * @namespace + */ +if (typeof KJUR.asn1 == "undefined" || !KJUR.asn1) + KJUR.asn1 = {}; +/** + * ASN1 utilities class + * @name KJUR.asn1.ASN1Util + * @class ASN1 utilities class + * @since asn1 1.0.2 + */ +KJUR.asn1.ASN1Util = new function () { + this.integerToByteHex = function (i) { + var h = i.toString(16); + if ((h.length % 2) == 1) + h = '0' + h; + return h; + }; + this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) { + var h = bigIntegerValue.toString(16); + if (h.substr(0, 1) != '-') { + if (h.length % 2 == 1) { + h = '0' + h; + } + else { + if (!h.match(/^[0-7]/)) { + h = '00' + h; + } + } + } + else { + var hPos = h.substr(1); + var xorLen = hPos.length; + if (xorLen % 2 == 1) { + xorLen += 1; + } + else { + if (!h.match(/^[0-7]/)) { + xorLen += 2; + } + } + var hMask = ''; + for (var i = 0; i < xorLen; i++) { + hMask += 'f'; + } + var biMask = new BigInteger(hMask, 16); + var biNeg = biMask.xor(bigIntegerValue).add(BigInteger.ONE); + h = biNeg.toString(16).replace(/^-/, ''); + } + return h; + }; + /** + * get PEM string from hexadecimal data and header string + * @name getPEMStringFromHex + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} dataHex hexadecimal string of PEM body + * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY') + * @return {String} PEM formatted string of input data + * @description + * This method converts a hexadecimal string to a PEM string with + * a specified header. Its line break will be CRLF("\r\n"). + * @example + * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY'); + * // value of pem will be: + * -----BEGIN PRIVATE KEY----- + * YWFh + * -----END PRIVATE KEY----- + */ + this.getPEMStringFromHex = function (dataHex, pemHeader) { + return hextopem(dataHex, pemHeader); + }; + /** + * generate ASN1Object specifed by JSON parameters + * @name newObject + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {Array} param JSON parameter to generate ASN1Object + * @return {KJUR.asn1.ASN1Object} generated object + * @since asn1 1.0.3 + * @description + * generate any ASN1Object specified by JSON param + * including ASN.1 primitive or structured. + * Generally 'param' can be described as follows: + *
+ * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER} + *
+ * 'TYPE-OF-ASN1OBJ' can be one of following symbols: + *
    + *
  • 'bool' - DERBoolean
  • + *
  • 'int' - DERInteger
  • + *
  • 'bitstr' - DERBitString
  • + *
  • 'octstr' - DEROctetString
  • + *
  • 'null' - DERNull
  • + *
  • 'oid' - DERObjectIdentifier
  • + *
  • 'enum' - DEREnumerated
  • + *
  • 'utf8str' - DERUTF8String
  • + *
  • 'numstr' - DERNumericString
  • + *
  • 'prnstr' - DERPrintableString
  • + *
  • 'telstr' - DERTeletexString
  • + *
  • 'ia5str' - DERIA5String
  • + *
  • 'utctime' - DERUTCTime
  • + *
  • 'gentime' - DERGeneralizedTime
  • + *
  • 'seq' - DERSequence
  • + *
  • 'set' - DERSet
  • + *
  • 'tag' - DERTaggedObject
  • + *
+ * @example + * newObject({'prnstr': 'aaa'}); + * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]}) + * // ASN.1 Tagged Object + * newObject({'tag': {'tag': 'a1', + * 'explicit': true, + * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}}); + * // more simple representation of ASN.1 Tagged Object + * newObject({'tag': ['a1', + * true, + * {'seq': [ + * {'int': 3}, + * {'prnstr': 'aaa'}]} + * ]}); + */ + this.newObject = function (param) { + var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject; + var keys = Object.keys(param); + if (keys.length != 1) + throw "key of param shall be only one."; + var key = keys[0]; + if (":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:".indexOf(":" + key + ":") == -1) + throw "undefined key: " + key; + if (key == "bool") + return new _DERBoolean(param[key]); + if (key == "int") + return new _DERInteger(param[key]); + if (key == "bitstr") + return new _DERBitString(param[key]); + if (key == "octstr") + return new _DEROctetString(param[key]); + if (key == "null") + return new _DERNull(param[key]); + if (key == "oid") + return new _DERObjectIdentifier(param[key]); + if (key == "enum") + return new _DEREnumerated(param[key]); + if (key == "utf8str") + return new _DERUTF8String(param[key]); + if (key == "numstr") + return new _DERNumericString(param[key]); + if (key == "prnstr") + return new _DERPrintableString(param[key]); + if (key == "telstr") + return new _DERTeletexString(param[key]); + if (key == "ia5str") + return new _DERIA5String(param[key]); + if (key == "utctime") + return new _DERUTCTime(param[key]); + if (key == "gentime") + return new _DERGeneralizedTime(param[key]); + if (key == "seq") { + var paramList = param[key]; + var a = []; + for (var i = 0; i < paramList.length; i++) { + var asn1Obj = _newObject(paramList[i]); + a.push(asn1Obj); + } + return new _DERSequence({ 'array': a }); + } + if (key == "set") { + var paramList = param[key]; + var a = []; + for (var i = 0; i < paramList.length; i++) { + var asn1Obj = _newObject(paramList[i]); + a.push(asn1Obj); + } + return new _DERSet({ 'array': a }); + } + if (key == "tag") { + var tagParam = param[key]; + if (Object.prototype.toString.call(tagParam) === '[object Array]' && + tagParam.length == 3) { + var obj = _newObject(tagParam[2]); + return new _DERTaggedObject({ tag: tagParam[0], + explicit: tagParam[1], + obj: obj }); + } + else { + var newParam = {}; + if (tagParam.explicit !== undefined) + newParam.explicit = tagParam.explicit; + if (tagParam.tag !== undefined) + newParam.tag = tagParam.tag; + if (tagParam.obj === undefined) + throw "obj shall be specified for 'tag'."; + newParam.obj = _newObject(tagParam.obj); + return new _DERTaggedObject(newParam); + } + } + }; + /** + * get encoded hexadecimal string of ASN1Object specifed by JSON parameters + * @name jsonToASN1HEX + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {Array} param JSON parameter to generate ASN1Object + * @return hexadecimal string of ASN1Object + * @since asn1 1.0.4 + * @description + * As for ASN.1 object representation of JSON object, + * please see {@link newObject}. + * @example + * jsonToASN1HEX({'prnstr': 'aaa'}); + */ + this.jsonToASN1HEX = function (param) { + var asn1Obj = this.newObject(param); + return asn1Obj.getEncodedHex(); + }; +}; +/** + * get dot noted oid number string from hexadecimal value of OID + * @name oidHexToInt + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} hex hexadecimal value of object identifier + * @return {String} dot noted string of object identifier + * @since jsrsasign 4.8.3 asn1 1.0.7 + * @description + * This static method converts from hexadecimal string representation of + * ASN.1 value of object identifier to oid number string. + * @example + * KJUR.asn1.ASN1Util.oidHexToInt('550406') → "2.5.4.6" + */ +KJUR.asn1.ASN1Util.oidHexToInt = function (hex) { + var s = ""; + var i01 = parseInt(hex.substr(0, 2), 16); + var i0 = Math.floor(i01 / 40); + var i1 = i01 % 40; + var s = i0 + "." + i1; + var binbuf = ""; + for (var i = 2; i < hex.length; i += 2) { + var value = parseInt(hex.substr(i, 2), 16); + var bin = ("00000000" + value.toString(2)).slice(-8); + binbuf = binbuf + bin.substr(1, 7); + if (bin.substr(0, 1) == "0") { + var bi = new BigInteger(binbuf, 2); + s = s + "." + bi.toString(10); + binbuf = ""; + } + } + ; + return s; +}; +/** + * get hexadecimal value of object identifier from dot noted oid value + * @name oidIntToHex + * @memberOf KJUR.asn1.ASN1Util + * @function + * @param {String} oidString dot noted string of object identifier + * @return {String} hexadecimal value of object identifier + * @since jsrsasign 4.8.3 asn1 1.0.7 + * @description + * This static method converts from object identifier value string. + * to hexadecimal string representation of it. + * @example + * KJUR.asn1.ASN1Util.oidIntToHex("2.5.4.6") → "550406" + */ +KJUR.asn1.ASN1Util.oidIntToHex = function (oidString) { + var itox = function (i) { + var h = i.toString(16); + if (h.length == 1) + h = '0' + h; + return h; + }; + var roidtox = function (roid) { + var h = ''; + var bi = new BigInteger(roid, 10); + var b = bi.toString(2); + var padLen = 7 - b.length % 7; + if (padLen == 7) + padLen = 0; + var bPad = ''; + for (var i = 0; i < padLen; i++) + bPad += '0'; + b = bPad + b; + for (var i = 0; i < b.length - 1; i += 7) { + var b8 = b.substr(i, 7); + if (i != b.length - 7) + b8 = '1' + b8; + h += itox(parseInt(b8, 2)); + } + return h; + }; + if (!oidString.match(/^[0-9.]+$/)) { + throw "malformed oid string: " + oidString; + } + var h = ''; + var a = oidString.split('.'); + var i0 = parseInt(a[0]) * 40 + parseInt(a[1]); + h += itox(i0); + a.splice(0, 2); + for (var i = 0; i < a.length; i++) { + h += roidtox(a[i]); + } + return h; +}; +// ******************************************************************** +// Abstract ASN.1 Classes +// ******************************************************************** +// ******************************************************************** +/** + * base class for ASN.1 DER encoder object + * @name KJUR.asn1.ASN1Object + * @class base class for ASN.1 DER encoder object + * @property {Boolean} isModified flag whether internal data was changed + * @property {String} hTLV hexadecimal string of ASN.1 TLV + * @property {String} hT hexadecimal string of ASN.1 TLV tag(T) + * @property {String} hL hexadecimal string of ASN.1 TLV length(L) + * @property {String} hV hexadecimal string of ASN.1 TLV value(V) + * @description + */ +KJUR.asn1.ASN1Object = function () { + var isModified = true; + var hTLV = null; + var hT = '00'; + var hL = '00'; + var hV = ''; + /** + * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V) + * @name getLengthHexFromValue + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV length(L) + */ + this.getLengthHexFromValue = function () { + if (typeof this.hV == "undefined" || this.hV == null) { + throw "this.hV is null or undefined."; + } + if (this.hV.length % 2 == 1) { + throw "value hex must be even length: n=" + hV.length + ",v=" + this.hV; + } + var n = this.hV.length / 2; + var hN = n.toString(16); + if (hN.length % 2 == 1) { + hN = "0" + hN; + } + if (n < 128) { + return hN; + } + else { + var hNlen = hN.length / 2; + if (hNlen > 15) { + throw "ASN.1 length too long to represent by 8x: n = " + n.toString(16); + } + var head = 128 + hNlen; + return head.toString(16) + hN; + } + }; + /** + * get hexadecimal string of ASN.1 TLV bytes + * @name getEncodedHex + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV + */ + this.getEncodedHex = function () { + if (this.hTLV == null || this.isModified) { + this.hV = this.getFreshValueHex(); + this.hL = this.getLengthHexFromValue(); + this.hTLV = this.hT + this.hL + this.hV; + this.isModified = false; + //alert("first time: " + this.hTLV); + } + return this.hTLV; + }; + /** + * get hexadecimal string of ASN.1 TLV value(V) bytes + * @name getValueHex + * @memberOf KJUR.asn1.ASN1Object# + * @function + * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes + */ + this.getValueHex = function () { + this.getEncodedHex(); + return this.hV; + }; + this.getFreshValueHex = function () { + return ''; + }; +}; +// == BEGIN DERAbstractString ================================================ +/** + * base class for ASN.1 DER string classes + * @name KJUR.asn1.DERAbstractString + * @class base class for ASN.1 DER string classes + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @property {String} s internal string of value + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ +KJUR.asn1.DERAbstractString = function (params) { + KJUR.asn1.DERAbstractString.superclass.constructor.call(this); + var s = null; + var hV = null; + /** + * get string value of this string object + * @name getString + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @return {String} string value of this string object + */ + this.getString = function () { + return this.s; + }; + /** + * set value by a string + * @name setString + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @param {String} newS value by a string to set + */ + this.setString = function (newS) { + this.hTLV = null; + this.isModified = true; + this.s = newS; + this.hV = stohex(this.s); + }; + /** + * set value by a hexadecimal string + * @name setStringHex + * @memberOf KJUR.asn1.DERAbstractString# + * @function + * @param {String} newHexString value by a hexadecimal string to set + */ + this.setStringHex = function (newHexString) { + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = newHexString; + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params == "string") { + this.setString(params); + } + else if (typeof params['str'] != "undefined") { + this.setString(params['str']); + } + else if (typeof params['hex'] != "undefined") { + this.setStringHex(params['hex']); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object); +// == END DERAbstractString ================================================ +// == BEGIN DERAbstractTime ================================================== +/** + * base class for ASN.1 DER Generalized/UTCTime class + * @name KJUR.asn1.DERAbstractTime + * @class base class for ASN.1 DER Generalized/UTCTime class + * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'}) + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ +KJUR.asn1.DERAbstractTime = function (params) { + KJUR.asn1.DERAbstractTime.superclass.constructor.call(this); + var s = null; + var date = null; + // --- PRIVATE METHODS -------------------- + this.localDateToUTC = function (d) { + utc = d.getTime() + (d.getTimezoneOffset() * 60000); + var utcDate = new Date(utc); + return utcDate; + }; + /* + * format date string by Data object + * @name formatDate + * @memberOf KJUR.asn1.AbstractTime; + * @param {Date} dateObject + * @param {string} type 'utc' or 'gen' + * @param {boolean} withMillis flag for with millisections or not + * @description + * 'withMillis' flag is supported from asn1 1.0.6. + */ + this.formatDate = function (dateObject, type, withMillis) { + var pad = this.zeroPadding; + var d = this.localDateToUTC(dateObject); + var year = String(d.getFullYear()); + if (type == 'utc') + year = year.substr(2, 2); + var month = pad(String(d.getMonth() + 1), 2); + var day = pad(String(d.getDate()), 2); + var hour = pad(String(d.getHours()), 2); + var min = pad(String(d.getMinutes()), 2); + var sec = pad(String(d.getSeconds()), 2); + var s = year + month + day + hour + min + sec; + if (withMillis === true) { + var millis = d.getMilliseconds(); + if (millis != 0) { + var sMillis = pad(String(millis), 3); + sMillis = sMillis.replace(/[0]+$/, ""); + s = s + "." + sMillis; + } + } + return s + "Z"; + }; + this.zeroPadding = function (s, len) { + if (s.length >= len) + return s; + return new Array(len - s.length + 1).join('0') + s; + }; + // --- PUBLIC METHODS -------------------- + /** + * get string value of this string object + * @name getString + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @return {String} string value of this time object + */ + this.getString = function () { + return this.s; + }; + /** + * set value by a string + * @name setString + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @param {String} newS value by a string to set such like "130430235959Z" + */ + this.setString = function (newS) { + this.hTLV = null; + this.isModified = true; + this.s = newS; + this.hV = stohex(newS); + }; + /** + * set value by a Date object + * @name setByDateValue + * @memberOf KJUR.asn1.DERAbstractTime# + * @function + * @param {Integer} year year of date (ex. 2013) + * @param {Integer} month month of date between 1 and 12 (ex. 12) + * @param {Integer} day day of month + * @param {Integer} hour hours of date + * @param {Integer} min minutes of date + * @param {Integer} sec seconds of date + */ + this.setByDateValue = function (year, month, day, hour, min, sec) { + var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0)); + this.setByDate(dateObject); + }; + this.getFreshValueHex = function () { + return this.hV; + }; +}; +YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object); +// == END DERAbstractTime ================================================== +// == BEGIN DERAbstractStructured ============================================ +/** + * base class for ASN.1 DER structured class + * @name KJUR.asn1.DERAbstractStructured + * @class base class for ASN.1 DER structured class + * @property {Array} asn1Array internal array of ASN1Object + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ +KJUR.asn1.DERAbstractStructured = function (params) { + KJUR.asn1.DERAbstractString.superclass.constructor.call(this); + var asn1Array = null; + /** + * set value by array of ASN1Object + * @name setByASN1ObjectArray + * @memberOf KJUR.asn1.DERAbstractStructured# + * @function + * @param {array} asn1ObjectArray array of ASN1Object to set + */ + this.setByASN1ObjectArray = function (asn1ObjectArray) { + this.hTLV = null; + this.isModified = true; + this.asn1Array = asn1ObjectArray; + }; + /** + * append an ASN1Object to internal array + * @name appendASN1Object + * @memberOf KJUR.asn1.DERAbstractStructured# + * @function + * @param {ASN1Object} asn1Object to add + */ + this.appendASN1Object = function (asn1Object) { + this.hTLV = null; + this.isModified = true; + this.asn1Array.push(asn1Object); + }; + this.asn1Array = new Array(); + if (typeof params != "undefined") { + if (typeof params['array'] != "undefined") { + this.asn1Array = params['array']; + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object); +// ******************************************************************** +// ASN.1 Object Classes +// ******************************************************************** +// ******************************************************************** +/** + * class for ASN.1 DER Boolean + * @name KJUR.asn1.DERBoolean + * @class class for ASN.1 DER Boolean + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ +KJUR.asn1.DERBoolean = function () { + KJUR.asn1.DERBoolean.superclass.constructor.call(this); + this.hT = "01"; + this.hTLV = "0101ff"; +}; +YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER Integer + * @name KJUR.asn1.DERInteger + * @class class for ASN.1 DER Integer + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • int - specify initial ASN.1 value(V) by integer value
  • + *
  • bigint - specify initial ASN.1 value(V) by BigInteger object
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ +KJUR.asn1.DERInteger = function (params) { + KJUR.asn1.DERInteger.superclass.constructor.call(this); + this.hT = "02"; + /** + * set value by Tom Wu's BigInteger object + * @name setByBigInteger + * @memberOf KJUR.asn1.DERInteger# + * @function + * @param {BigInteger} bigIntegerValue to set + */ + this.setByBigInteger = function (bigIntegerValue) { + this.hTLV = null; + this.isModified = true; + this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue); + }; + /** + * set value by integer value + * @name setByInteger + * @memberOf KJUR.asn1.DERInteger + * @function + * @param {Integer} integer value to set + */ + this.setByInteger = function (intValue) { + var bi = new BigInteger(String(intValue), 10); + this.setByBigInteger(bi); + }; + /** + * set value by integer value + * @name setValueHex + * @memberOf KJUR.asn1.DERInteger# + * @function + * @param {String} hexadecimal string of integer value + * @description + *
+ * NOTE: Value shall be represented by minimum octet length of + * two's complement representation. + * @example + * new KJUR.asn1.DERInteger(123); + * new KJUR.asn1.DERInteger({'int': 123}); + * new KJUR.asn1.DERInteger({'hex': '1fad'}); + */ + this.setValueHex = function (newHexString) { + this.hV = newHexString; + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params['bigint'] != "undefined") { + this.setByBigInteger(params['bigint']); + } + else if (typeof params['int'] != "undefined") { + this.setByInteger(params['int']); + } + else if (typeof params == "number") { + this.setByInteger(params); + } + else if (typeof params['hex'] != "undefined") { + this.setValueHex(params['hex']); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER encoded BitString primitive + * @name KJUR.asn1.DERBitString + * @class class for ASN.1 DER encoded BitString primitive + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • bin - specify binary string (ex. '10111')
  • + *
  • array - specify array of boolean (ex. [true,false,true,true])
  • + *
  • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
  • + *
  • obj - specify {@link KJUR.asn1.ASN1Util.newObject} + * argument for "BitString encapsulates" structure.
  • + *
+ * NOTE1: 'params' can be omitted.
+ * NOTE2: 'obj' parameter have been supported since + * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
+ * @example + * // default constructor + * o = new KJUR.asn1.DERBitString(); + * // initialize with binary string + * o = new KJUR.asn1.DERBitString({bin: "1011"}); + * // initialize with boolean array + * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]}); + * // initialize with hexadecimal string (04 is unused bits) + * o = new KJUR.asn1.DEROctetString({hex: "04bac0"}); + * // initialize with ASN1Util.newObject argument for encapsulated + * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}}); + * // above generates a ASN.1 data like this: + * // BIT STRING, encapsulates { + * // SEQUENCE { + * // INTEGER 3 + * // PrintableString 'aaa' + * // } + * // } + */ +KJUR.asn1.DERBitString = function (params) { + if (params !== undefined && typeof params.obj !== "undefined") { + var o = KJUR.asn1.ASN1Util.newObject(params.obj); + params.hex = "00" + o.getEncodedHex(); + } + KJUR.asn1.DERBitString.superclass.constructor.call(this); + this.hT = "03"; + /** + * set ASN.1 value(V) by a hexadecimal string including unused bits + * @name setHexValueIncludingUnusedBits + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {String} newHexStringIncludingUnusedBits + */ + this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) { + this.hTLV = null; + this.isModified = true; + this.hV = newHexStringIncludingUnusedBits; + }; + /** + * set ASN.1 value(V) by unused bit and hexadecimal string of value + * @name setUnusedBitsAndHexValue + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {Integer} unusedBits + * @param {String} hValue + */ + this.setUnusedBitsAndHexValue = function (unusedBits, hValue) { + if (unusedBits < 0 || 7 < unusedBits) { + throw "unused bits shall be from 0 to 7: u = " + unusedBits; + } + var hUnusedBits = "0" + unusedBits; + this.hTLV = null; + this.isModified = true; + this.hV = hUnusedBits + hValue; + }; + /** + * set ASN.1 DER BitString by binary string
+ * @name setByBinaryString + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {String} binaryString binary value string (i.e. '10111') + * @description + * Its unused bits will be calculated automatically by length of + * 'binaryValue'.
+ * NOTE: Trailing zeros '0' will be ignored. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.setByBooleanArray("01011"); + */ + this.setByBinaryString = function (binaryString) { + binaryString = binaryString.replace(/0+$/, ''); + var unusedBits = 8 - binaryString.length % 8; + if (unusedBits == 8) + unusedBits = 0; + for (var i = 0; i <= unusedBits; i++) { + binaryString += '0'; + } + var h = ''; + for (var i = 0; i < binaryString.length - 1; i += 8) { + var b = binaryString.substr(i, 8); + var x = parseInt(b, 2).toString(16); + if (x.length == 1) + x = '0' + x; + h += x; + } + this.hTLV = null; + this.isModified = true; + this.hV = '0' + unusedBits + h; + }; + /** + * set ASN.1 TLV value(V) by an array of boolean
+ * @name setByBooleanArray + * @memberOf KJUR.asn1.DERBitString# + * @function + * @param {array} booleanArray array of boolean (ex. [true, false, true]) + * @description + * NOTE: Trailing falses will be ignored in the ASN.1 DER Object. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.setByBooleanArray([false, true, false, true, true]); + */ + this.setByBooleanArray = function (booleanArray) { + var s = ''; + for (var i = 0; i < booleanArray.length; i++) { + if (booleanArray[i] == true) { + s += '1'; + } + else { + s += '0'; + } + } + this.setByBinaryString(s); + }; + /** + * generate an array of falses with specified length
+ * @name newFalseArray + * @memberOf KJUR.asn1.DERBitString + * @function + * @param {Integer} nLength length of array to generate + * @return {array} array of boolean falses + * @description + * This static method may be useful to initialize boolean array. + * @example + * o = new KJUR.asn1.DERBitString(); + * o.newFalseArray(3) → [false, false, false] + */ + this.newFalseArray = function (nLength) { + var a = new Array(nLength); + for (var i = 0; i < nLength; i++) { + a[i] = false; + } + return a; + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params == "string" && params.toLowerCase().match(/^[0-9a-f]+$/)) { + this.setHexValueIncludingUnusedBits(params); + } + else if (typeof params['hex'] != "undefined") { + this.setHexValueIncludingUnusedBits(params['hex']); + } + else if (typeof params['bin'] != "undefined") { + this.setByBinaryString(params['bin']); + } + else if (typeof params['array'] != "undefined") { + this.setByBooleanArray(params['array']); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER OctetString
+ * @name KJUR.asn1.DEROctetString + * @class class for ASN.1 DER OctetString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * This class provides ASN.1 OctetString simple type.
+ * Supported "params" attributes are: + *
    + *
  • str - to set a string as a value
  • + *
  • hex - to set a hexadecimal string as a value
  • + *
  • obj - to set a encapsulated ASN.1 value by JSON object + * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
  • + *
+ * NOTE: A parameter 'obj' have been supported + * for "OCTET STRING, encapsulates" structure. + * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25). + * @see KJUR.asn1.DERAbstractString - superclass + * @example + * // default constructor + * o = new KJUR.asn1.DEROctetString(); + * // initialize with string + * o = new KJUR.asn1.DEROctetString({str: "aaa"}); + * // initialize with hexadecimal string + * o = new KJUR.asn1.DEROctetString({hex: "616161"}); + * // initialize with ASN1Util.newObject argument + * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}}); + * // above generates a ASN.1 data like this: + * // OCTET STRING, encapsulates { + * // SEQUENCE { + * // INTEGER 3 + * // PrintableString 'aaa' + * // } + * // } + */ +KJUR.asn1.DEROctetString = function (params) { + if (params !== undefined && typeof params.obj !== "undefined") { + var o = KJUR.asn1.ASN1Util.newObject(params.obj); + params.hex = o.getEncodedHex(); + } + KJUR.asn1.DEROctetString.superclass.constructor.call(this, params); + this.hT = "04"; +}; +YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER Null + * @name KJUR.asn1.DERNull + * @class class for ASN.1 DER Null + * @extends KJUR.asn1.ASN1Object + * @description + * @see KJUR.asn1.ASN1Object - superclass + */ +KJUR.asn1.DERNull = function () { + KJUR.asn1.DERNull.superclass.constructor.call(this); + this.hT = "05"; + this.hTLV = "0500"; +}; +YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER ObjectIdentifier + * @name KJUR.asn1.DERObjectIdentifier + * @class class for ASN.1 DER ObjectIdentifier + * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'}) + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + */ +KJUR.asn1.DERObjectIdentifier = function (params) { + var itox = function (i) { + var h = i.toString(16); + if (h.length == 1) + h = '0' + h; + return h; + }; + var roidtox = function (roid) { + var h = ''; + var bi = new BigInteger(roid, 10); + var b = bi.toString(2); + var padLen = 7 - b.length % 7; + if (padLen == 7) + padLen = 0; + var bPad = ''; + for (var i = 0; i < padLen; i++) + bPad += '0'; + b = bPad + b; + for (var i = 0; i < b.length - 1; i += 7) { + var b8 = b.substr(i, 7); + if (i != b.length - 7) + b8 = '1' + b8; + h += itox(parseInt(b8, 2)); + } + return h; + }; + KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this); + this.hT = "06"; + /** + * set value by a hexadecimal string + * @name setValueHex + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} newHexString hexadecimal value of OID bytes + */ + this.setValueHex = function (newHexString) { + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = newHexString; + }; + /** + * set value by a OID string
+ * @name setValueOidString + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} oidString OID string (ex. 2.5.4.13) + * @example + * o = new KJUR.asn1.DERObjectIdentifier(); + * o.setValueOidString("2.5.4.13"); + */ + this.setValueOidString = function (oidString) { + if (!oidString.match(/^[0-9.]+$/)) { + throw "malformed oid string: " + oidString; + } + var h = ''; + var a = oidString.split('.'); + var i0 = parseInt(a[0]) * 40 + parseInt(a[1]); + h += itox(i0); + a.splice(0, 2); + for (var i = 0; i < a.length; i++) { + h += roidtox(a[i]); + } + this.hTLV = null; + this.isModified = true; + this.s = null; + this.hV = h; + }; + /** + * set value by a OID name + * @name setValueName + * @memberOf KJUR.asn1.DERObjectIdentifier# + * @function + * @param {String} oidName OID name (ex. 'serverAuth') + * @since 1.0.1 + * @description + * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'. + * Otherwise raise error. + * @example + * o = new KJUR.asn1.DERObjectIdentifier(); + * o.setValueName("serverAuth"); + */ + this.setValueName = function (oidName) { + var oid = KJUR.asn1.x509.OID.name2oid(oidName); + if (oid !== '') { + this.setValueOidString(oid); + } + else { + throw "DERObjectIdentifier oidName undefined: " + oidName; + } + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (params !== undefined) { + if (typeof params === "string") { + if (params.match(/^[0-2].[0-9.]+$/)) { + this.setValueOidString(params); + } + else { + this.setValueName(params); + } + } + else if (params.oid !== undefined) { + this.setValueOidString(params.oid); + } + else if (params.hex !== undefined) { + this.setValueHex(params.hex); + } + else if (params.name !== undefined) { + this.setValueName(params.name); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER Enumerated + * @name KJUR.asn1.DEREnumerated + * @class class for ASN.1 DER Enumerated + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • int - specify initial ASN.1 value(V) by integer value
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
+ * NOTE: 'params' can be omitted. + * @example + * new KJUR.asn1.DEREnumerated(123); + * new KJUR.asn1.DEREnumerated({int: 123}); + * new KJUR.asn1.DEREnumerated({hex: '1fad'}); + */ +KJUR.asn1.DEREnumerated = function (params) { + KJUR.asn1.DEREnumerated.superclass.constructor.call(this); + this.hT = "0a"; + /** + * set value by Tom Wu's BigInteger object + * @name setByBigInteger + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {BigInteger} bigIntegerValue to set + */ + this.setByBigInteger = function (bigIntegerValue) { + this.hTLV = null; + this.isModified = true; + this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue); + }; + /** + * set value by integer value + * @name setByInteger + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {Integer} integer value to set + */ + this.setByInteger = function (intValue) { + var bi = new BigInteger(String(intValue), 10); + this.setByBigInteger(bi); + }; + /** + * set value by integer value + * @name setValueHex + * @memberOf KJUR.asn1.DEREnumerated# + * @function + * @param {String} hexadecimal string of integer value + * @description + *
+ * NOTE: Value shall be represented by minimum octet length of + * two's complement representation. + */ + this.setValueHex = function (newHexString) { + this.hV = newHexString; + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params['int'] != "undefined") { + this.setByInteger(params['int']); + } + else if (typeof params == "number") { + this.setByInteger(params); + } + else if (typeof params['hex'] != "undefined") { + this.setValueHex(params['hex']); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object); +// ******************************************************************** +/** + * class for ASN.1 DER UTF8String + * @name KJUR.asn1.DERUTF8String + * @class class for ASN.1 DER UTF8String + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ +KJUR.asn1.DERUTF8String = function (params) { + KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params); + this.hT = "0c"; +}; +YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER NumericString + * @name KJUR.asn1.DERNumericString + * @class class for ASN.1 DER NumericString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ +KJUR.asn1.DERNumericString = function (params) { + KJUR.asn1.DERNumericString.superclass.constructor.call(this, params); + this.hT = "12"; +}; +YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER PrintableString + * @name KJUR.asn1.DERPrintableString + * @class class for ASN.1 DER PrintableString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ +KJUR.asn1.DERPrintableString = function (params) { + KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params); + this.hT = "13"; +}; +YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER TeletexString + * @name KJUR.asn1.DERTeletexString + * @class class for ASN.1 DER TeletexString + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ +KJUR.asn1.DERTeletexString = function (params) { + KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params); + this.hT = "14"; +}; +YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER IA5String + * @name KJUR.asn1.DERIA5String + * @class class for ASN.1 DER IA5String + * @param {Array} params associative array of parameters (ex. {'str': 'aaa'}) + * @extends KJUR.asn1.DERAbstractString + * @description + * @see KJUR.asn1.DERAbstractString - superclass + */ +KJUR.asn1.DERIA5String = function (params) { + KJUR.asn1.DERIA5String.superclass.constructor.call(this, params); + this.hT = "16"; +}; +YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString); +// ******************************************************************** +/** + * class for ASN.1 DER UTCTime + * @name KJUR.asn1.DERUTCTime + * @class class for ASN.1 DER UTCTime + * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'}) + * @extends KJUR.asn1.DERAbstractTime + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
  • date - specify Date object.
  • + *
+ * NOTE: 'params' can be omitted. + *

EXAMPLES

+ * @example + * d1 = new KJUR.asn1.DERUTCTime(); + * d1.setString('130430125959Z'); + * + * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'}); + * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))}); + * d4 = new KJUR.asn1.DERUTCTime('130430125959Z'); + */ +KJUR.asn1.DERUTCTime = function (params) { + KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params); + this.hT = "17"; + /** + * set value by a Date object
+ * @name setByDate + * @memberOf KJUR.asn1.DERUTCTime# + * @function + * @param {Date} dateObject Date object to set ASN.1 value(V) + * @example + * o = new KJUR.asn1.DERUTCTime(); + * o.setByDate(new Date("2016/12/31")); + */ + this.setByDate = function (dateObject) { + this.hTLV = null; + this.isModified = true; + this.date = dateObject; + this.s = this.formatDate(this.date, 'utc'); + this.hV = stohex(this.s); + }; + this.getFreshValueHex = function () { + if (typeof this.date == "undefined" && typeof this.s == "undefined") { + this.date = new Date(); + this.s = this.formatDate(this.date, 'utc'); + this.hV = stohex(this.s); + } + return this.hV; + }; + if (params !== undefined) { + if (params.str !== undefined) { + this.setString(params.str); + } + else if (typeof params == "string" && params.match(/^[0-9]{12}Z$/)) { + this.setString(params); + } + else if (params.hex !== undefined) { + this.setStringHex(params.hex); + } + else if (params.date !== undefined) { + this.setByDate(params.date); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime); +// ******************************************************************** +/** + * class for ASN.1 DER GeneralizedTime + * @name KJUR.asn1.DERGeneralizedTime + * @class class for ASN.1 DER GeneralizedTime + * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'}) + * @property {Boolean} withMillis flag to show milliseconds or not + * @extends KJUR.asn1.DERAbstractTime + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
  • + *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • + *
  • date - specify Date object.
  • + *
  • millis - specify flag to show milliseconds (from 1.0.6)
  • + *
+ * NOTE1: 'params' can be omitted. + * NOTE2: 'withMillis' property is supported from asn1 1.0.6. + */ +KJUR.asn1.DERGeneralizedTime = function (params) { + KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params); + this.hT = "18"; + this.withMillis = false; + /** + * set value by a Date object + * @name setByDate + * @memberOf KJUR.asn1.DERGeneralizedTime# + * @function + * @param {Date} dateObject Date object to set ASN.1 value(V) + * @example + * When you specify UTC time, use 'Date.UTC' method like this:
+ * o1 = new DERUTCTime(); + * o1.setByDate(date); + * + * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59 + */ + this.setByDate = function (dateObject) { + this.hTLV = null; + this.isModified = true; + this.date = dateObject; + this.s = this.formatDate(this.date, 'gen', this.withMillis); + this.hV = stohex(this.s); + }; + this.getFreshValueHex = function () { + if (this.date === undefined && this.s === undefined) { + this.date = new Date(); + this.s = this.formatDate(this.date, 'gen', this.withMillis); + this.hV = stohex(this.s); + } + return this.hV; + }; + if (params !== undefined) { + if (params.str !== undefined) { + this.setString(params.str); + } + else if (typeof params == "string" && params.match(/^[0-9]{14}Z$/)) { + this.setString(params); + } + else if (params.hex !== undefined) { + this.setStringHex(params.hex); + } + else if (params.date !== undefined) { + this.setByDate(params.date); + } + if (params.millis === true) { + this.withMillis = true; + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime); +// ******************************************************************** +/** + * class for ASN.1 DER Sequence + * @name KJUR.asn1.DERSequence + * @class class for ASN.1 DER Sequence + * @extends KJUR.asn1.DERAbstractStructured + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • array - specify array of ASN1Object to set elements of content
  • + *
+ * NOTE: 'params' can be omitted. + */ +KJUR.asn1.DERSequence = function (params) { + KJUR.asn1.DERSequence.superclass.constructor.call(this, params); + this.hT = "30"; + this.getFreshValueHex = function () { + var h = ''; + for (var i = 0; i < this.asn1Array.length; i++) { + var asn1Obj = this.asn1Array[i]; + h += asn1Obj.getEncodedHex(); + } + this.hV = h; + return this.hV; + }; +}; +YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured); +// ******************************************************************** +/** + * class for ASN.1 DER Set + * @name KJUR.asn1.DERSet + * @class class for ASN.1 DER Set + * @extends KJUR.asn1.DERAbstractStructured + * @description + *
+ * As for argument 'params' for constructor, you can specify one of + * following properties: + *
    + *
  • array - specify array of ASN1Object to set elements of content
  • + *
  • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
  • + *
+ * NOTE1: 'params' can be omitted.
+ * NOTE2: sortflag is supported since 1.0.5. + */ +KJUR.asn1.DERSet = function (params) { + KJUR.asn1.DERSet.superclass.constructor.call(this, params); + this.hT = "31"; + this.sortFlag = true; // item shall be sorted only in ASN.1 DER + this.getFreshValueHex = function () { + var a = new Array(); + for (var i = 0; i < this.asn1Array.length; i++) { + var asn1Obj = this.asn1Array[i]; + a.push(asn1Obj.getEncodedHex()); + } + if (this.sortFlag == true) + a.sort(); + this.hV = a.join(''); + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params.sortflag != "undefined" && + params.sortflag == false) + this.sortFlag = false; + } +}; +YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured); +// ******************************************************************** +/** + * class for ASN.1 DER TaggedObject + * @name KJUR.asn1.DERTaggedObject + * @class class for ASN.1 DER TaggedObject + * @extends KJUR.asn1.ASN1Object + * @description + *
+ * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object. + * For example, if you find '[1]' tag in a ASN.1 dump, + * 'tagNoHex' will be 'a1'. + *
+ * As for optional argument 'params' for constructor, you can specify *ANY* of + * following properties: + *
    + *
  • explicit - specify true if this is explicit tag otherwise false + * (default is 'true').
  • + *
  • tag - specify tag (default is 'a0' which means [0])
  • + *
  • obj - specify ASN1Object which is tagged
  • + *
+ * @example + * d1 = new KJUR.asn1.DERUTF8String({'str':'a'}); + * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1}); + * hex = d2.getEncodedHex(); + */ +KJUR.asn1.DERTaggedObject = function (params) { + KJUR.asn1.DERTaggedObject.superclass.constructor.call(this); + this.hT = "a0"; + this.hV = ''; + this.isExplicit = true; + this.asn1Object = null; + /** + * set value by an ASN1Object + * @name setString + * @memberOf KJUR.asn1.DERTaggedObject# + * @function + * @param {Boolean} isExplicitFlag flag for explicit/implicit tag + * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag + * @param {ASN1Object} asn1Object ASN.1 to encapsulate + */ + this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) { + this.hT = tagNoHex; + this.isExplicit = isExplicitFlag; + this.asn1Object = asn1Object; + if (this.isExplicit) { + this.hV = this.asn1Object.getEncodedHex(); + this.hTLV = null; + this.isModified = true; + } + else { + this.hV = null; + this.hTLV = asn1Object.getEncodedHex(); + this.hTLV = this.hTLV.replace(/^../, tagNoHex); + this.isModified = false; + } + }; + this.getFreshValueHex = function () { + return this.hV; + }; + if (typeof params != "undefined") { + if (typeof params['tag'] != "undefined") { + this.hT = params['tag']; + } + if (typeof params['explicit'] != "undefined") { + this.isExplicit = params['explicit']; + } + if (typeof params['obj'] != "undefined") { + this.asn1Object = params['obj']; + this.setASN1Object(this.isExplicit, this.hT, this.asn1Object); + } + } +}; +YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object); diff --git a/libs/jsencrypt/lib/lib/jsrsasign/yahoo.js b/libs/jsencrypt/lib/lib/jsrsasign/yahoo.js new file mode 100644 index 0000000..aa0d9aa --- /dev/null +++ b/libs/jsencrypt/lib/lib/jsrsasign/yahoo.js @@ -0,0 +1,69 @@ +/*! +Copyright (c) 2011, Yahoo! Inc. All rights reserved. +Code licensed under the BSD License: +http://developer.yahoo.com/yui/license.html +version: 2.9.0 +*/ +export var YAHOO = {}; +YAHOO.lang = { + /** + * Utility to set up the prototype, constructor and superclass properties to + * support an inheritance strategy that can chain constructors and methods. + * Static members will not be inherited. + * + * @method extend + * @static + * @param {Function} subc the object to modify + * @param {Function} superc the object to inherit + * @param {Object} overrides additional properties/methods to add to the + * subclass prototype. These will override the + * matching items obtained from the superclass + * if present. + */ + extend: function (subc, superc, overrides) { + if (!superc || !subc) { + throw new Error("YAHOO.lang.extend failed, please check that " + + "all dependencies are included."); + } + var F = function () { }; + F.prototype = superc.prototype; + subc.prototype = new F(); + subc.prototype.constructor = subc; + subc.superclass = superc.prototype; + if (superc.prototype.constructor == Object.prototype.constructor) { + superc.prototype.constructor = superc; + } + if (overrides) { + var i; + for (i in overrides) { + subc.prototype[i] = overrides[i]; + } + /* + * IE will not enumerate native functions in a derived object even if the + * function was overridden. This is a workaround for specific functions + * we care about on the Object prototype. + * @property _IEEnumFix + * @param {Function} r the object to receive the augmentation + * @param {Function} s the object that supplies the properties to augment + * @static + * @private + */ + var _IEEnumFix = function () { }, ADD = ["toString", "valueOf"]; + try { + if (/MSIE/.test(navigator.userAgent)) { + _IEEnumFix = function (r, s) { + for (i = 0; i < ADD.length; i = i + 1) { + var fname = ADD[i], f = s[fname]; + if (typeof f === 'function' && f != Object.prototype[fname]) { + r[fname] = f; + } + } + }; + } + } + catch (ex) { } + ; + _IEEnumFix(subc.prototype, overrides); + } + } +}; diff --git a/libs/jsencrypt/lib/version.json b/libs/jsencrypt/lib/version.json new file mode 100644 index 0000000..00ae474 --- /dev/null +++ b/libs/jsencrypt/lib/version.json @@ -0,0 +1 @@ +{"version": "3.3.0"} \ No newline at end of file diff --git a/pages/index/index.js b/pages/index/index.js index fbae979..5661ccb 100644 --- a/pages/index/index.js +++ b/pages/index/index.js @@ -1,10 +1,10 @@ // index.js // 获取应用实例 const app = getApp() -import {getIntelligentMessage,getToken,getStaffbasicinfo,clearMessage} from "../../utils/api" +import api, {getIntelligentMessage,getToken,getStaffbasicinfo,clearMessage} from "../../utils/api" Page({ data: { - selectList:['全部信息','居民信息采集','房屋信息采集','社区满意度自查'], + selectList:['全部消息','居民信息采集','房屋信息采集','社区满意度自查'], selectValue:0, pageSize:10, pageNo:1, @@ -26,7 +26,9 @@ Page({ await this.getStaffbasicinfo() }, onShow(){ - }, + + this.getIntelligentMessage() +}, onPullDownRefresh() { this.setData({ pageNo:1, @@ -139,5 +141,31 @@ onScrollToLower(e){ }).catch(err=>{ console.log(err); }) + }, + toDetail(e){ + console.log(e); + this.clearOneMessage(e.currentTarget.dataset.item.id) + if(e.currentTarget.dataset.item.msgType == 'resident_base_info'){ + wx.navigateTo({ + url: `/subpages/addResi/pages/addResi/addResi?type=edit&resiId=${e.currentTarget.dataset.item.targetId}`, + }) + }else{ + wx.navigateTo({ + url: `/subpages/addhouse/pages/addhouse/addhouse?type=edit&houseId=${e.currentTarget.dataset.item.targetId}`, + }) + } + this.setData({ + [`tableData[${e.currentTarget.dataset.index}].readFlag`]:'1' + }) + }, + clearOneMessage(id){ + let parm= { + msgId:id + } + api.clearOneMessage(parm).then(res=>{ + console.log(res); + }).catch(err=>{ + console.log(err); + }) } }) diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 3e2920b..b923b71 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -13,7 +13,7 @@ - {{selectValue == 1?'居民信息采集':selectValue == 2?'房屋信息采集':selectValue == 3?'社区满意度自查':'全部信息'}} + {{selectValue == 1?'居民信息采集':selectValue == 2?'房屋信息采集':selectValue == 3?'社区满意度自查':'全部消息'}} @@ -22,7 +22,7 @@ - + {{item.createdByName}} {{item.content}} {{item.readFlag != '1'?'未读':'已读'}} diff --git a/project.private.config.json b/project.private.config.json index 78a0c74..c8d6053 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -8,6 +8,13 @@ "condition": { "miniprogram": { "list": [ + { + "name": "修改密码", + "pathName": "subpages/settings/pages/changePassword/changePassword", + "query": "", + "launchMode": "default", + "scene": null + }, { "name": "回访记录详情", "pathName": "subpages/communitySelfInsp/pages/followUpDetail/followUpDetail", diff --git a/subpages/addResi/pages/addResi/addResi.js b/subpages/addResi/pages/addResi/addResi.js index 6882941..75d9df9 100644 --- a/subpages/addResi/pages/addResi/addResi.js +++ b/subpages/addResi/pages/addResi/addResi.js @@ -158,49 +158,56 @@ Page({ getResiDetail: async function() { try { let res = await api.getResiDetail(this.data.resiId); - const {birthday,gender,idNum,mobile,name,nation,houseInfo,categoryInfo,genderName} = res.data; - let result = this.data.residentCategory.filter(item => categoryInfo[item.value] === 1) + const { + birthday, + gender, + idNum, + mobile, + name, + nation, + houseInfo = {}, // 为houseInfo提供一个默认值 + categoryInfo, + genderName + } = res.data; + + let result = this.data.residentCategory.filter(item => categoryInfo[item.value] === 1); let residentCategorySty = result.map(item => item.title); let categoryInfoArr = result.map(item => item.value); + wx.showLoading({ - title: '加载中...', - }) - await this.setDataAsync({ - 'form.name':name, - 'form.birthday':birthday, - 'form.gender':gender, - 'form.idNum':idNum, - 'form.mobile':mobile, - 'form.nation':nation, - 'form.gridId' :houseInfo.gridId, - 'form.gridName' :houseInfo.gridName, - 'form.villageId' :houseInfo.villageId, - 'form.buildId' :houseInfo.buildId, - 'form.unitId' :houseInfo.unitId, - 'form.homeId' :houseInfo.homeId, - 'form.houseMergeId':houseInfo.mergeId, - genderName, - categoryInfo:categoryInfoArr, - residentCategorySty, + title: '加载中...', }); - setTimeout(()=>{ - this.bindPickerChangeGrid(); - },1000) - setTimeout(()=>{ - this.bindPickerChangevillageId(); - },1500) - setTimeout(()=>{ - this.bindPickerChangebuilding() - },2000) - setTimeout(()=>{ - this.bindPickerChangeUnit() - },2500) - setTimeout(()=>{ - this.bindPickerChangeHouse() - wx.hideLoading() - },3000) - - } catch(err) { + + this.setDataAsync({ + 'form.name': name, + 'form.birthday': birthday, + 'form.gender': gender, + 'form.idNum': idNum, + 'form.mobile': mobile, + 'form.nation': nation, + 'form.gridId': houseInfo?.gridId || '', // 使用了可选链 + 'form.gridName': houseInfo?.gridName || '', // 使用了可选链 + 'form.villageId': houseInfo?.villageId || '', // 使用了可选链 + 'form.buildId': houseInfo?.buildId || '', // 使用了可选链 + 'form.unitId': houseInfo?.unitId || '', // 使用了可选链 + 'form.homeId': houseInfo?.homeId || '', // 使用了可选链 + 'form.houseMergeId': houseInfo?.mergeId || '', // 使用了可选链 + genderName, + categoryInfo: categoryInfoArr, + residentCategorySty, + }); + await this.delay(1000) + await this.bindPickerChangeGrid(); + await this.delay(400) + await this.bindPickerChangevillageId(); + await this.delay(400) + await this.bindPickerChangebuilding(); + await this.delay(400) + await this.bindPickerChangeUnit(); + await this.delay(400) + await this.bindPickerChangeHouse(); + wx.hideLoading(); + } catch (err) { console.log(err); } }, @@ -208,6 +215,9 @@ Page({ return new Promise((resolve) => { this.setData(data, resolve); }); + }, + delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); }, // 居住信息详情 getResidentResideInfo(){ @@ -242,8 +252,6 @@ Page({ // 获取婚姻信息 getFamilyInfoDetailById(){ api.getFamilyInfoDetailById(this.data.resiId).then(res=>{ - console.log(this.data.marriageList); - console.log(res); this.setData({ 'form.familyInfoDto':res.data, marriageName:this.data.marriageList.filter(item=>item.value ==res.data.marriage)[0].label @@ -385,166 +393,176 @@ Page({ onShareAppMessage() { }, // 获取网格列表 - bindPickerChangeGrid(e){ - if (this.data.isFirstLoadGrid) { - // 编辑回填逻辑 - const id = this.data.form.gridId; - console.log(id); - console.log(this.data.gridList); - const temp = this.data.gridList.filter(item => item.value == id); - console.log(temp); - let gridName = '' - if(temp.length != 0){ - gridName = temp[0].label - }else{ - this.showToast('网格信息有误') - return + async bindPickerChangeGrid() { + return new Promise(async (resolve, reject) => { + if (this.data.isFirstLoadGrid) { + // 编辑回填逻辑 + const id = this.data.form.gridId; + const temp = this.data.gridList.filter(item => item.value == id); + let gridName = '' + if(temp.length != 0){ + gridName = temp[0].label + }else{ + this.showToast('网格信息有误') + return + } + this.setData({ + 'form.gridName': gridName, + "form.gridId": id + }); + this.getQuartersOptions(id); + this.setData({ + isFirstLoadGrid: false + }); + } else { + // 正常修改逻辑 + const selectedIndex = e.detail.value; + const selectedVillage = this.data.gridList[selectedIndex]; + this.setData({ + 'form.gridName': selectedVillage.label, + "form.gridId": selectedVillage.value, + 'form.villageId':'', + 'form.buildId':'', + 'form.unitId':'', + 'form.homeId':'', + villageName:'', + villageList:[], + buildingName:'', + buildingList:[], + unitName:'', + unitList:[], + houseName:'', + houseList:[], + }); + + this.getQuartersOptions(selectedVillage.value); } - this.setData({ - 'form.gridName': gridName, - "form.gridId": id - }); - this.getQuartersOptions(id); - this.setData({ - isFirstLoadGrid: false - }); - } else { - // 正常修改逻辑 - const selectedIndex = e.detail.value; - const selectedVillage = this.data.gridList[selectedIndex]; - this.setData({ - 'form.gridName': selectedVillage.label, - "form.gridId": selectedVillage.value, - 'form.villageId':'', - 'form.buildId':'', - 'form.unitId':'', - 'form.homeId':'', - villageName:'', - villageList:[], - buildingName:'', - buildingList:[], - unitName:'', - unitList:[], - houseName:'', - houseList:[], - }); - - this.getQuartersOptions(selectedVillage.value); - } + resolve(); + }); }, bindPickerChangevillageId(e) { - if (this.data.isFirstLoadVillage) { - // 编辑回填逻辑 - const id = this.data.form.villageId; - const temp = this.data.villageList.filter(item => item.value == id); - let villageName = '' - if(temp.length != 0){ - villageName = temp[0].label - }else{ - this.showToast('小区信息有误') - return - } - this.setData({ - villageName: villageName, - "form.villageId": id - }); - this.getBuildingoption(id); - this.setData({ - isFirstLoadVillage: false - }); - console.log(this.data.villageList,'小区'); - } else { - // 正常修改逻辑 - const selectedIndex = e.detail.value; - const selectedVillage = this.data.villageList[selectedIndex]; - - this.setData({ - villageName: selectedVillage.label, - "form.villageId": selectedVillage.value, - 'form.buildId':'', - 'form.unitId':'', - 'form.homeId':'', - buildingName:'', - buildingList:[], - unitName:'', - unitList:[], - houseName:'', - houseList:[], - }); - - this.getBuildingoption(selectedVillage.value); - } + return new Promise((resolve, reject) => { + if (this.data.isFirstLoadVillage) { + // 编辑回填逻辑 + const id = this.data.form.villageId; + const temp = this.data.villageList.filter(item => item.value == id); + let villageName = '' + if(temp.length != 0){ + villageName = temp[0].label + }else{ + this.showToast('小区信息有误') + return + } + this.setData({ + villageName: villageName, + "form.villageId": id + }); + this.getBuildingoption(id); + this.setData({ + isFirstLoadVillage: false + }); + console.log(this.data.villageList,'小区'); + } else { + // 正常修改逻辑 + const selectedIndex = e.detail.value; + const selectedVillage = this.data.villageList[selectedIndex]; + + this.setData({ + villageName: selectedVillage.label, + "form.villageId": selectedVillage.value, + 'form.buildId':'', + 'form.unitId':'', + 'form.homeId':'', + buildingName:'', + buildingList:[], + unitName:'', + unitList:[], + houseName:'', + houseList:[], + }); + + this.getBuildingoption(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangebuilding(e){ - if (this.data.isFirstLoadBuilding) { - const id = this.data.form.buildId; - const temp = this.data.buildingList.filter(item => item.value == id); - let buildingName = '' - if(temp.length != 0){ - buildingName = temp[0].label - }else{ - this.showToast('小区信息有误') - return - } - this.setData({ - buildingName: buildingName, - "form.buildId": id - }); - this.getUnitoption(id); - this.setData({ - isFirstLoadBuilding: false - }); - } else { - const selectedIndex = e.detail.value; - const selectedVillage = this.data.buildingList[selectedIndex]; - this.setData({ - buildingName: selectedVillage.label, - "form.buildId": selectedVillage.value, - 'form.unitId':'', - 'form.homeId':'', - unitName:'', - unitList:[], - houseName:'', - houseList:[], - }); - this.getUnitoption(selectedVillage.value); - } + return new Promise((resolve, reject) => { + if (this.data.isFirstLoadBuilding) { + const id = this.data.form.buildId; + const temp = this.data.buildingList.filter(item => item.value == id); + let buildingName = '' + if(temp.length != 0){ + buildingName = temp[0].label + }else{ + this.showToast('小区信息有误') + return + } + this.setData({ + buildingName: buildingName, + "form.buildId": id + }); + this.getUnitoption(id); + this.setData({ + isFirstLoadBuilding: false + }); + } else { + const selectedIndex = e.detail.value; + const selectedVillage = this.data.buildingList[selectedIndex]; + this.setData({ + buildingName: selectedVillage.label, + "form.buildId": selectedVillage.value, + 'form.unitId':'', + 'form.homeId':'', + unitName:'', + unitList:[], + houseName:'', + houseList:[], + }); + this.getUnitoption(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangeUnit(e){ - if (this.data.isFirstLoadUnit) { - const id = this.data.form.unitId; - const temp = this.data.unitList.filter(item => item.value == id); - let unitName = '' - if(temp.length != 0){ - unitName = temp[0].label - }else{ - this.showToast('楼栋信息有误') - return - } - this.setData({ - unitName: unitName, - "form.unitId": id, - }); - this.getHouseoption(id); - this.setData({ - isFirstLoadunit: false - }); - } else { - const selectedIndex = e.detail.value; - const selectedVillage = this.data.unitList[selectedIndex]; - this.setData({ - unitName: selectedVillage.label, - "form.unitId": selectedVillage.value, - 'form.homeId':'', - houseName:'', - houseList:[], - }); - this.getHouseoption(selectedVillage.value); - } + return new Promise((resolve, reject) => { + if (this.data.isFirstLoadUnit) { + const id = this.data.form.unitId; + const temp = this.data.unitList.filter(item => item.value == id); + let unitName = '' + if(temp.length != 0){ + unitName = temp[0].label + }else{ + this.showToast('楼栋信息有误') + return + } + this.setData({ + unitName: unitName, + "form.unitId": id, + }); + this.getHouseoption(id); + this.setData({ + isFirstLoadunit: false + }); + } else { + const selectedIndex = e.detail.value; + const selectedVillage = this.data.unitList[selectedIndex]; + this.setData({ + unitName: selectedVillage.label, + "form.unitId": selectedVillage.value, + 'form.homeId':'', + houseName:'', + houseList:[], + }); + this.getHouseoption(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangeHouse(e){ - if (this.data.isFirstLoadHouse) { + return new Promise((resolve, reject) => { + if (this.data.isFirstLoadHouse) { const id = this.data.form.homeId; const temp = this.data.houseList.filter(item => item.value == id); let houseName = '' @@ -569,6 +587,8 @@ Page({ "form.homeId": selectedVillage.value }); } + resolve(); + }); }, bindNameInput(e){ this.setData({ @@ -726,11 +746,11 @@ Page({ return } const parm = {...this.data.form} + console.log(this.data.formType); if(this.data.formType == 'edit'){ parm.resiId = this.data.resiId try { const res = await api.resiEdit(parm) - console.log(res.code); if(res.code === 0){ wx.showToast({ title: '编辑成功', diff --git a/subpages/addhouse/pages/addhouse/addhouse.js b/subpages/addhouse/pages/addhouse/addhouse.js index a98e041..daa51eb 100644 --- a/subpages/addhouse/pages/addhouse/addhouse.js +++ b/subpages/addhouse/pages/addhouse/addhouse.js @@ -130,24 +130,22 @@ Page({ 'form.sysCoding':res.data.ownerIdCard, gridId:res.data.gridId }); - setTimeout(()=>{ - this.bindPickerChangeGrid(); - },1000) - setTimeout(()=>{ - this.bindPickerChangeneighborHoodId(); - },1500) - setTimeout(()=>{ - this.bindPickerChangebuilding() - },2000) - setTimeout(()=>{ - this.bindPickerChangeUnit() - wx.hideLoading() - },2500) - + await this.delay(1000) + await this.bindPickerChangeGrid(); + await this.delay(400) + await this.bindPickerChangeneighborHoodId(); + await this.delay(400) + await this.bindPickerChangebuilding(); + await this.delay(400) + await this.bindPickerChangeUnit(); + wx.hideLoading() } catch(err) { console.log(err); } }, + delay(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + }, setDataAsync: function(data) { return new Promise((resolve) => { this.setData(data, resolve); @@ -259,133 +257,145 @@ Page({ }, // 获取网格列表 bindPickerChangeGrid(e){ - if (this.data.isFirstLoadGrid) { - // 编辑回填逻辑 - const id = this.data.gridId; - const gridName = this.data.gridList.filter(item => item.value == id)[0].label; - this.setData({ - gridName: gridName, - gridId: id - }); - this.getQuartersOptions(id); - this.setData({ - isFirstLoadGrid: false - }); - } else { - // 正常修改逻辑 - const selectedIndex = e.detail.value; - const selectedVillage = this.data.gridList[selectedIndex]; - this.setData({ - gridName:selectedVillage.label, - gridId:selectedVillage.value, - 'form.neighborHoodId':'', - 'form.buildingId':'', - 'form.buildingUnitId':'', - 'form.doorName':'', - 'form.coding':'', - neighborHoodIdName:'', - neighborHoodIdList:[], - buildingName:'', - buildingList:[], - unitName:'', - unitList:[], - doorName:'', - houseList:[], - }); - this.getQuartersOptions(selectedVillage.value); - } + return new Promise(async (resolve, reject) => { + if (this.data.isFirstLoadGrid) { + // 编辑回填逻辑 + const id = this.data.gridId; + const gridName = this.data.gridList.filter(item => item.value == id)[0].label; + this.setData({ + gridName: gridName, + gridId: id + }); + this.getQuartersOptions(id); + this.setData({ + isFirstLoadGrid: false + }); + } else { + // 正常修改逻辑 + const selectedIndex = e.detail.value; + const selectedVillage = this.data.gridList[selectedIndex]; + this.setData({ + gridName:selectedVillage.label, + gridId:selectedVillage.value, + 'form.neighborHoodId':'', + 'form.buildingId':'', + 'form.buildingUnitId':'', + 'form.doorName':'', + 'form.coding':'', + neighborHoodIdName:'', + neighborHoodIdList:[], + buildingName:'', + buildingList:[], + unitName:'', + unitList:[], + doorName:'', + houseList:[], + }); + this.getQuartersOptions(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangeneighborHoodId(e) { - if (this.data.isFirstLoadVillage) { - // 编辑回填逻辑 - const id = this.data.form.neighborHoodId; - const neighborHoodIdName = this.data.neighborHoodIdList.filter(item => item.value == id)[0].label; - this.setData({ - neighborHoodIdName: neighborHoodIdName, - "form.neighborHoodId": id - }); - this.getBuildingoption(id); - this.setData({ - isFirstLoadVillage: false - }); - } else { - // 正常修改逻辑 - const selectedIndex = e.detail.value; - const selectedVillage = this.data.neighborHoodIdList[selectedIndex]; - - this.setData({ - neighborHoodIdName: selectedVillage.label, - "form.neighborHoodId": selectedVillage.value, - 'form.buildingId':'', - 'form.buildingUnitId':'', - 'form.doorName':'', - 'form.coding':'', - buildingName:'', - buildingList:[], - unitName:'', - unitList:[], - doorName:'', - houseList:[], - }); - - this.getBuildingoption(selectedVillage.value); - } + return new Promise(async (resolve, reject) => { + if (this.data.isFirstLoadVillage) { + // 编辑回填逻辑 + const id = this.data.form.neighborHoodId; + const neighborHoodIdName = this.data.neighborHoodIdList.filter(item => item.value == id)[0].label; + this.setData({ + neighborHoodIdName: neighborHoodIdName, + "form.neighborHoodId": id + }); + this.getBuildingoption(id); + this.setData({ + isFirstLoadVillage: false + }); + } else { + // 正常修改逻辑 + const selectedIndex = e.detail.value; + const selectedVillage = this.data.neighborHoodIdList[selectedIndex]; + + this.setData({ + neighborHoodIdName: selectedVillage.label, + "form.neighborHoodId": selectedVillage.value, + 'form.buildingId':'', + 'form.buildingUnitId':'', + 'form.doorName':'', + 'form.coding':'', + buildingName:'', + buildingList:[], + unitName:'', + unitList:[], + doorName:'', + houseList:[], + }); + + this.getBuildingoption(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangebuilding(e){ - if (this.data.isFirstLoadBuilding) { - const id = this.data.form.buildingId; - const buildingName = this.data.buildingList.filter(item => item.value == id)[0].label; - this.setData({ - buildingName: buildingName, - "form.buildingId": id - }); - this.getUnitoption(id); - this.setData({ - isFirstLoadBuilding: false - }); - } else { - const selectedIndex = e.detail.value; - const selectedVillage = this.data.buildingList[selectedIndex]; - this.setData({ - buildingName: selectedVillage.label, - "form.buildingId": selectedVillage.value, - 'form.buildingUnitId':'', - 'form.doorName':'', - 'form.coding':'', - unitName:'', - unitList:[], - doorName:'', - houseList:[], - }); - this.getUnitoption(selectedVillage.value); - } + return new Promise(async (resolve, reject) => { + if (this.data.isFirstLoadBuilding) { + const id = this.data.form.buildingId; + const buildingName = this.data.buildingList.filter(item => item.value == id)[0].label; + this.setData({ + buildingName: buildingName, + "form.buildingId": id + }); + this.getUnitoption(id); + this.setData({ + isFirstLoadBuilding: false + }); + } else { + const selectedIndex = e.detail.value; + const selectedVillage = this.data.buildingList[selectedIndex]; + this.setData({ + buildingName: selectedVillage.label, + "form.buildingId": selectedVillage.value, + 'form.buildingUnitId':'', + 'form.doorName':'', + 'form.coding':'', + unitName:'', + unitList:[], + doorName:'', + houseList:[], + }); + this.getUnitoption(selectedVillage.value); + } + resolve(); + }); }, bindPickerChangeUnit(e){ - if (this.data.isFirstLoadUnit) { - const id = this.data.form.buildingUnitId; - const unitName = this.data.unitList.filter(item => item.value == id)[0].label; - this.setData({ - unitName: unitName, - "form.buildingUnitId": id, - - }); - this.getHouseoption(id); - this.setData({ - isFirstLoadunit: false - }); - } else { - const selectedIndex = e.detail.value; - const selectedVillage = this.data.unitList[selectedIndex]; - this.setData({ - unitName: selectedVillage.label, - "form.buildingUnitId": selectedVillage.value, - 'form.doorName':'', - 'form.coding':'', - doorName:'', - }); - this.getHouseoption(selectedVillage.value); - } + return new Promise(async (resolve, reject) => { + if (this.data.isFirstLoadUnit) { + const id = this.data.form.buildingUnitId; + const unitName = this.data.unitList.filter(item => item.value == id)[0].label; + this.setData({ + unitName: unitName, + "form.buildingUnitId": id, + + }); + this.getHouseoption(id); + this.setData({ + isFirstLoadunit: false + }); + } else { + const selectedIndex = e.detail.value; + const selectedVillage = this.data.unitList[selectedIndex]; + this.setData({ + unitName: selectedVillage.label, + "form.buildingUnitId": selectedVillage.value, + 'form.doorName':'', + 'form.coding':'', + doorName:'', + }); + this.getHouseoption(selectedVillage.value); + } + resolve(); + }); }, // bindPickerChangeHouse(e){ // if (this.data.isFirstLoadHouse) { diff --git a/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js b/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js index 71ec9c3..08298fb 100644 --- a/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js +++ b/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.js @@ -40,7 +40,9 @@ Page({ navigationHeight: app.globalData.deviceInfo.navigationHeight, formType:options.type }) - this.getFollowUpDetail(temp.id) + if(this.data.formType == 'edit'){ + this.getFollowUpDetail(temp.id) + } if(options.type == 'add'){ this.setData({ resiInfo:temp, diff --git a/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml b/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml index fee6508..db0c95f 100644 --- a/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml +++ b/subpages/communitySelfInsp/pages/followUpDetail/followUpDetail.wxml @@ -10,7 +10,7 @@ {{resiInfo.reporterName}} {{resiInfo.reporterMobile}} - 不满意原因:{{item.reason}} + 不满意原因1:{{item.reason}} 不满意类别:{{item.categoryName}} @@ -19,7 +19,7 @@ - 不满意原因:{{resiInfo.reason?resiInfo.reason:'--'}} + 不满意原因2:{{resiInfo.reason?resiInfo.reason:'--'}} diff --git a/subpages/settings/pages/changePassword/changePassword.js b/subpages/settings/pages/changePassword/changePassword.js new file mode 100644 index 0000000..dda8ed3 --- /dev/null +++ b/subpages/settings/pages/changePassword/changePassword.js @@ -0,0 +1,163 @@ +// subpages/settings/pages/changePassword/changePassword.js +import {encryptedData} from "../../../../utils/index" +import api from "../../../../utils/api" +Page({ + + /** + * 页面的初始数据 + */ + data: { + pubKey:'', + oldPassword:"", + newPassword:"", + confirmPassword:"" + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + this.getPubKey() + }, + getPubKey(){ + api.getPubKey().then(res=>{ + this.setData({ + pubKey:res.data + }) + }).catch(err=>{ + + }) + }, + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + }, + changeOldPassword(e){ + this.setData({ + oldPassword:e.detail.value + }) + }, + changeNewPassword(e){ + this.setData({ + newPassword:e.detail.value + }) + }, + changeConfirmPassword(e){ + this.setData({ + confirmPassword:e.detail.value + }) + }, + validateComplexity(pwd) { + let regex = new RegExp("(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,20}"); + if (!regex.test(pwd)) return false; + return true; + }, + handelSubmit(e){ + if(!this.data.oldPassword){ + wx.showToast({ + title: '原密码不能为空', + icon:"none" + }) + return + } + if(!this.data.newPassword){ + wx.showToast({ + title: '新密码不能为空', + icon:"none" + }) + return + } + if(!this.data.confirmPassword){ + wx.showToast({ + title: '确认密码不能为空', + icon:"none" + }) + return + } + if(!this.data.confirmPassword === this.data.newPassword){ + wx.showToast({ + title: '两次密码不一致', + icon:"none" + }) + return + } + if (!this.validateComplexity(this.data.newPassword)) { + wx.showToast({ + title: '密码必须8-20个字符,而且同时包含大小写字母和数字', + icon:"none", + duration:5000 + }) + return + }; + + let obj={ + oldPassword: encryptedData(this.data.pubKey, this.data.oldPassword), + newPassword: encryptedData(this.data.pubKey, this.data.newPassword), + confirmNewPassword: encryptedData(this.data.pubKey,this.data.confirmPassword), + } + api.changePassword(obj).then(res=>{ + console.log(res); + if(res.code == 0){ + wx.showToast({ + title: '修改成功', + duration:3000, + success:function(){ + setTimeout(()=>{ + wx.reLaunch({ + url: '/pages/login/login', + }) + },3000) + } + }) + } + }).catch(err=>{ + console.log(err); + }) + + } + +}) \ No newline at end of file diff --git a/subpages/settings/pages/changePassword/changePassword.json b/subpages/settings/pages/changePassword/changePassword.json new file mode 100644 index 0000000..d6d6f53 --- /dev/null +++ b/subpages/settings/pages/changePassword/changePassword.json @@ -0,0 +1,4 @@ +{ + "usingComponents": {}, + "navigationBarTitleText": "修改密码" +} \ No newline at end of file diff --git a/subpages/settings/pages/changePassword/changePassword.wxml b/subpages/settings/pages/changePassword/changePassword.wxml new file mode 100644 index 0000000..75b3fae --- /dev/null +++ b/subpages/settings/pages/changePassword/changePassword.wxml @@ -0,0 +1,23 @@ + + + + 原密码 + + + + + + 新密码 + + + + + + 确认密码 + + + + + + + diff --git a/subpages/settings/pages/changePassword/changePassword.wxss b/subpages/settings/pages/changePassword/changePassword.wxss new file mode 100644 index 0000000..90bc884 --- /dev/null +++ b/subpages/settings/pages/changePassword/changePassword.wxss @@ -0,0 +1,50 @@ +/* subpages/settings/pages/changePassword/changePassword.wxss */ +page{ + padding:20rpx; + box-sizing: border-box; + overflow: hidden; + background-color: #f7f7f7; +} +.card{ + background-color: #fff; + border-radius: 20rpx; +} +.card .item{ + display: flex; + padding: 10rpx 30rpx; + height: 100rpx; + align-items: center; + position: relative; +} +.card .item::before{ + content: ""; + position: absolute; + left: 30rpx; + right: 30rpx; + bottom: 0; + border-bottom: 2rpx solid #EAEAEA; +} + +.no-pseudo::before { + display: none; +} +.card .item .label{ + width:150rpx ; + font-size: 32rpx; + font-family: PingFang SC; + font-weight: 500; + color: #333333; +} +button{ + background: linear-gradient(to right, #82b4fd, #3e93fe); + font-size: 33rpx; + width: 600rpx !important; + height: 84rpx; + text-align: center; + color: #fff; + border-radius: 84rpx; + position: fixed; + bottom: 100rpx; + left: 50%; + transform: translateX(-300rpx); +} \ No newline at end of file diff --git a/subpages/settings/pages/index/index.js b/subpages/settings/pages/index/index.js index 500c79f..ed40612 100644 --- a/subpages/settings/pages/index/index.js +++ b/subpages/settings/pages/index/index.js @@ -85,5 +85,10 @@ Page({ } }) + }, + toChangePassword(){ + wx.navigateTo({ + url: '/subpages/settings/pages/changePassword/changePassword', + }) } }) \ No newline at end of file diff --git a/subpages/settings/pages/index/index.wxml b/subpages/settings/pages/index/index.wxml index 24d15bf..5aa5afe 100644 --- a/subpages/settings/pages/index/index.wxml +++ b/subpages/settings/pages/index/index.wxml @@ -12,7 +12,7 @@ - + 修改密码 diff --git a/utils/api.js b/utils/api.js index c139c6e..d2bdb7e 100644 --- a/utils/api.js +++ b/utils/api.js @@ -41,12 +41,27 @@ module.exports = { getDemandoption, addMeasure, getFollowUpDetail, - clockRecords + clockRecords, + clearOneMessage, + getPubKey, + changePassword +} + +// 获取公钥 +function getPubKey () { + return fly.post(`auth/govweb/getKey`) +} +function changePassword (parm) { + return fly.post(`epmetuser/customerstaff/changePassword`,parm) } // 消息列表 function getIntelligentMessage(param){ return fly.get(`message/intelligentMessage/page`,param) } + +function clearOneMessage (parm) { + return fly.post(`message/intelligentMessage/msg/clearOne/?msgId=${parm.msgId}`) + } function clearMessage () { return fly.post('message/intelligentMessage/msg/clear') } diff --git a/utils/config.js b/utils/config.js index 0820c06..ea6f599 100644 --- a/utils/config.js +++ b/utils/config.js @@ -1,6 +1,5 @@ module.exports = { BASEURL: BASEURL, - WEBROOT: WEBROOT, Token: getToken, userId: "" }; @@ -9,10 +8,7 @@ module.exports = { return 'https://epmet-preview.elinkservice.cn/api/' // 演示环境 // return 'http://192.168.1.144/api/' //测试环境 } - - function WEBROOT() { - return 'https://lyljdgs.qingdaoshibei.cn/app/mobileapp/qlsb/index.aspx' - } + function getToken() { return wx.getStorageSync("token"); diff --git a/utils/index.js b/utils/index.js new file mode 100644 index 0000000..c370b49 --- /dev/null +++ b/utils/index.js @@ -0,0 +1,11 @@ +const JSEncrypt = require('../libs/jsencrypt/lib/index').default; + +export function encryptedData(key, data) { + // 新建JSEncrypt对象 + let encryptor = new JSEncrypt(); + // 设置公钥 + encryptor.setPublicKey(key); + // 加密数据 + return encryptor.encrypt(data); +} + diff --git a/utils/util.js b/utils/util.js index 8c28615..bad397c 100644 --- a/utils/util.js +++ b/utils/util.js @@ -18,7 +18,6 @@ const formatTime = date => { let newContent= html.replace(/\