CyberChef/src/js/operations/PublicKey.js

1053 lines
43 KiB
JavaScript
Raw Normal View History

2016-11-28 11:42:58 +01:00
/* globals X509, KJUR, ASN1HEX, KEYUTIL, BigInteger */
/**
* Public Key operations.
*
* @author n1474335 [n1474335@gmail.com]
* @copyright Crown Copyright 2016
* @license Apache-2.0
*
* @namespace
*/
var PublicKey = {
/**
* @constant
* @default
*/
X509_INPUT_FORMAT: ["PEM", "DER Hex", "Base64", "Raw"],
/**
* Parse X.509 certificate operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_parse_x509: function (input, args) {
var cert = new X509(),
input_format = args[0];
if (!input.length) {
return "No input";
}
switch (input_format) {
case "DER Hex":
input = input.replace(/\s/g, "");
cert.hex = input;
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(input, "CERTIFICATE");
break;
case "PEM":
cert.hex = X509.pemToHex(input);
cert.pem = input;
break;
case "Base64":
cert.hex = Utils.to_hex(Utils.from_base64(input, null, "byte_array"), "");
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
break;
case "Raw":
cert.hex = Utils.to_hex(Utils.str_to_byte_array(input), "");
cert.pem = KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
break;
default:
throw "Undefined input format";
}
var version = ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 0, 0]),
sn = cert.getSerialNumberHex(),
algorithm = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 2, 0]))),
issuer = cert.getIssuerString(),
not_before = cert.getNotBefore(),
not_after = cert.getNotAfter(),
subject = cert.getSubjectString(),
pk_algorithm = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 6, 0, 0]))),
pk = X509.getPublicKeyFromCertPEM(cert.pem),
pk_fields = [],
pk_str = "",
cert_sig_alg = KJUR.asn1.x509.OID.oid2name(KJUR.asn1.ASN1Util.oidHexToInt(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [1, 0]))),
cert_sig = ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [2]).substr(2),
sig_str = "",
extensions = ASN1HEX.dump(ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 7]));
// Public Key fields
if (pk.type == "EC") { // ECDSA
pk_fields.push({
key: "Curve Name",
value: pk.curveName
});
pk_fields.push({
key: "Length",
value: (((new BigInteger(pk.pubKeyHex, 16)).bitLength()-3) /2) + " bits"
});
pk_fields.push({
key: "pub",
value: PublicKey._format_byte_str(pk.pubKeyHex, 16, 18)
});
} else if (pk.type == "DSA") { // DSA
pk_fields.push({
key: "pub",
value: PublicKey._format_byte_str(pk.y.toString(16), 16, 18)
});
pk_fields.push({
key: "P",
value: PublicKey._format_byte_str(pk.p.toString(16), 16, 18)
});
pk_fields.push({
key: "Q",
value: PublicKey._format_byte_str(pk.q.toString(16), 16, 18)
});
pk_fields.push({
key: "G",
value: PublicKey._format_byte_str(pk.g.toString(16), 16, 18)
});
} else if (pk.e) { // RSA
pk_fields.push({
key: "Length",
value: pk.n.bitLength() + " bits"
});
pk_fields.push({
key: "Modulus",
value: PublicKey._format_byte_str(pk.n.toString(16), 16, 18)
});
pk_fields.push({
key: "Exponent",
value: pk.e + " (0x" + pk.e.toString(16) + ")"
});
} else {
pk_fields.push({
key: "Error",
value: "Unknown Public Key type"
});
}
// Signature fields
if (ASN1HEX.dump(cert_sig).indexOf("SEQUENCE") === 0) { // DSA or ECDSA
sig_str = " r: " + PublicKey._format_byte_str(ASN1HEX.getDecendantHexVByNthList(cert_sig, 0, [0]), 16, 18) + "\n" +
" s: " + PublicKey._format_byte_str(ASN1HEX.getDecendantHexVByNthList(cert_sig, 0, [1]), 16, 18) + "\n";
} else { // RSA
sig_str = " Signature: " + PublicKey._format_byte_str(cert_sig, 16, 18) + "\n";
}
// Format Public Key fields
for (var i = 0; i < pk_fields.length; i++) {
pk_str += " " + pk_fields[i].key + ":" +
Utils.pad_left(
pk_fields[i].value + "\n",
18 - (pk_fields[i].key.length + 3) + pk_fields[i].value.length + 1,
" "
);
}
var issuer_str = PublicKey._format_dn_str(issuer, 2),
nb_date = PublicKey._format_date(not_before),
na_date = PublicKey._format_date(not_after),
subject_str = PublicKey._format_dn_str(subject, 2),
cert_sig_str = PublicKey._format_byte_str(cert_sig, 16, 18);
var output = "Version: " + (parseInt(version, 16) + 1) + " (0x" + version + ")\n" +
"Serial number: " + new BigInteger(sn, 16).toString() + " (0x" + sn + ")\n" +
"Algorithm ID: " + algorithm + "\n" +
"Validity\n" +
" Not Before: " + nb_date + " (dd-mm-yy hh:mm:ss) (" + not_before + ")\n" +
" Not After: " + na_date + " (dd-mm-yy hh:mm:ss) (" + not_after + ")\n" +
"Issuer\n" +
issuer_str +
"Subject\n" +
subject_str +
"Public Key\n" +
" Algorithm: " + pk_algorithm + "\n" +
pk_str +
"Certificate Signature\n" +
" Algorithm: " + cert_sig_alg + "\n" +
sig_str +
"\nExtensions (parsed ASN.1)\n" +
extensions;
return output;
},
/**
* PEM to Hex operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_pem_to_hex: function(input, args) {
if (input.indexOf("-----BEGIN") < 0) {
// Add header so that the KEYUTIL function works
input = "-----BEGIN CERTIFICATE-----" + input;
}
if (input.indexOf("-----END") < 0) {
// Add footer so that the KEYUTIL function works
input = input + "-----END CERTIFICATE-----";
}
return KEYUTIL.getHexFromPEM(input);
},
/**
* @constant
* @default
*/
PEM_HEADER_STRING: "CERTIFICATE",
/**
* Hex to PEM operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_hex_to_pem: function(input, args) {
return KJUR.asn1.ASN1Util.getPEMStringFromHex(input.replace(/\s/g, ""), args[0]);
},
/**
* Hex to Object Identifier operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_hex_to_object_identifier: function(input, args) {
return KJUR.asn1.ASN1Util.oidHexToInt(input.replace(/\s/g, ""));
},
/**
* Object Identifier to Hex operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_object_identifier_to_hex: function(input, args) {
return KJUR.asn1.ASN1Util.oidIntToHex(input);
},
/**
* @constant
* @default
*/
ASN1_TRUNCATE_LENGTH: 32,
/**
* Parse ASN.1 hex string operation.
*
* @param {string} input
* @param {Object[]} args
* @returns {string}
*/
run_parse_asn1_hex_string: function(input, args) {
var truncate_len = args[1],
index = args[0];
return ASN1HEX.dump(input.replace(/\s/g, ""), {
"ommit_long_octet": truncate_len
}, index);
},
/**
* Formats Distinguished Name (DN) strings.
*
* @private
* @param {string} dn_str
* @param {number} indent
* @returns {string}
*/
_format_dn_str: function(dn_str, indent) {
var output = "",
fields = dn_str.split(",/|"),
max_key_len = 0,
key,
value,
str;
for (var i = 0; i < fields.length; i++) {
if (!fields[i].length) continue;
key = fields[i].split("=")[0];
max_key_len = key.length > max_key_len ? key.length : max_key_len;
}
for (i = 0; i < fields.length; i++) {
if (!fields[i].length) continue;
key = fields[i].split("=")[0];
value = fields[i].split("=")[1];
str = Utils.pad_right(key, max_key_len) + " = " + value + "\n";
output += Utils.pad_left(str, indent + str.length, " ");
}
return output;
},
/**
* Formats byte strings by adding line breaks and delimiters.
*
* @private
* @param {string} byte_str
* @param {number} length - Line width
* @param {number} indent
* @returns {string}
*/
_format_byte_str: function(byte_str, length, indent) {
byte_str = Utils.to_hex(Utils.from_hex(byte_str), ":");
length = length * 3;
var output = "";
for (var i = 0; i < byte_str.length; i += length) {
var str = byte_str.slice(i, i + length) + "\n";
if (i === 0) {
output += str;
} else {
output += Utils.pad_left(str, indent + str.length, " ");
}
}
return output.slice(0, output.length-1);
},
/**
* Formats dates.
*
* @private
* @param {string} date_str
* @returns {string}
*/
_format_date: function(date_str) {
return date_str[4] + date_str[5] + "/" +
date_str[2] + date_str[3] + "/" +
date_str[0] + date_str[1] + " " +
date_str[6] + date_str[7] + ":" +
date_str[8] + date_str[9] + ":" +
date_str[10] + date_str[11];
},
};
/**
* Overwrite X509.hex2dn function so as to join RDNs with a string which can be split on without
* causing problems later (I hope).
*
* @param {string} hDN - Hex DN string
* @returns {string}
*/
X509.hex2dn = function(hDN) {
var s = "";
var a = ASN1HEX.getPosArrayOfChildren_AtObj(hDN, 0);
for (var i = 0; i < a.length; i++) {
var hRDN = ASN1HEX.getHexOfTLV_AtObj(hDN, a[i]);
s = s + ",/|" + X509.hex2rdn(hRDN);
}
return s;
};
/**
* Overwrite DN attribute lookup in jsrasign library with a much more complete version from
* https://github.com/nfephp-org/nfephp/blob/master/libs/Common/Certificate/Oids.php
*
* Various duplicates commented out.
*
* @constant
*/
X509.DN_ATTRHEX = {
'0603550403' : 'commonName',
'0603550404' : 'surname',
'0603550406' : 'countryName',
'0603550407' : 'localityName',
'0603550408' : 'stateOrProvinceName',
'0603550409' : 'streetAddress',
'060355040a' : 'organizationName',
'060355040b' : 'organizationalUnitName',
'060355040c' : 'title',
'0603550414' : 'telephoneNumber',
'060355042a' : 'givenName',
// '0603551d0e' : 'id-ce-subjectKeyIdentifier',
// '0603551d0f' : 'id-ce-keyUsage',
// '0603551d11' : 'id-ce-subjectAltName',
// '0603551d13' : 'id-ce-basicConstraints',
// '0603551d14' : 'id-ce-cRLNumber',
// '0603551d1f' : 'id-ce-CRLDistributionPoints',
// '0603551d20' : 'id-ce-certificatePolicies',
// '0603551d23' : 'id-ce-authorityKeyIdentifier',
// '0603551d25' : 'id-ce-extKeyUsage',
// '06032a864886f70d010901' : 'Email',
// '06032a864886f70d010101' : 'RSAEncryption',
// '06032a864886f70d010102' : 'md2WithRSAEncryption',
// '06032a864886f70d010104' : 'md5withRSAEncryption',
// '06032a864886f70d010105' : 'SHA-1WithRSAEncryption',
// '06032a8648ce380403' : 'id-dsa-with-sha-1',
// '06032b06010505070302' : 'id_kp_clientAuth',
// '06032b06010505070304' : 'id_kp_securityemail',
'06032b06010505070201' : 'id_certificatePolicies',
'06036086480186f8420101' : 'netscape-cert-type',
'06036086480186f8420102' : 'netscape-base-url',
'06036086480186f8420103' : 'netscape-revocation-url',
'06036086480186f8420104' : 'netscape-ca-revocation-url',
'06036086480186f8420107' : 'netscape-cert-renewal-url',
'06036086480186f8420108' : 'netscape-ca-policy-url',
'06036086480186f842010c' : 'netscape-ssl-server-name',
'06036086480186f842010d' : 'netscape-comment',
'0603604c010201' : 'A1',
'0603604c010203' : 'A3',
'0603604c01020110' : 'Certification Practice Statement pointer',
'0603604c010301' : 'Dados do cert parte 1',
'0603604c010305' : 'Dados do cert parte 2',
'0603604c010306' : 'Dados do cert parte 3',
'06030992268993f22c640119' : 'domainComponent',
'06032a24a0f2a07d01010a' : 'Signet pilot',
'06032a24a0f2a07d01010b' : 'Signet intraNet',
'06032a24a0f2a07d010102' : 'Signet personal',
'06032a24a0f2a07d010114' : 'Signet securityPolicy',
'06032a24a0f2a07d010103' : 'Signet business',
'06032a24a0f2a07d010104' : 'Signet legal',
'06032a24a497a35301640101' : 'Certificates Australia policyIdentifier',
'06032a85702201' : 'seis-cp',
'06032a8570220101' : 'SEIS certificatePolicy-s10',
'06032a85702202' : 'SEIS pe',
'06032a85702203' : 'SEIS at',
'06032a8570220301' : 'SEIS at-personalIdentifier',
'06032a8648ce380201' : 'holdinstruction-none',
'06032a8648ce380202' : 'holdinstruction-callissuer',
'06032a8648ce380203' : 'holdinstruction-reject',
'06032a8648ce380401' : 'dsa',
'06032a8648ce380403' : 'dsaWithSha1',
'06032a8648ce3d01' : 'fieldType',
'06032a8648ce3d0101' : 'prime-field',
'06032a8648ce3d0102' : 'characteristic-two-field',
'06032a8648ce3d010201' : 'ecPublicKey',
'06032a8648ce3d010203' : 'characteristic-two-basis',
'06032a8648ce3d01020301' : 'onBasis',
'06032a8648ce3d01020302' : 'tpBasis',
'06032a8648ce3d01020303' : 'ppBasis',
'06032a8648ce3d02' : 'publicKeyType',
'06032a8648ce3d0201' : 'ecPublicKey',
'06032a8648ce3e0201' : 'dhPublicNumber',
'06032a864886f67d07' : 'nsn',
'06032a864886f67d0741' : 'nsn-ce',
'06032a864886f67d074100' : 'entrustVersInfo',
'06032a864886f67d0742' : 'nsn-alg',
'06032a864886f67d07420a' : 'cast5CBC',
'06032a864886f67d07420b' : 'cast5MAC',
'06032a864886f67d07420c' : 'pbeWithMD5AndCAST5-CBC',
'06032a864886f67d07420d' : 'passwordBasedMac',
'06032a864886f67d074203' : 'cast3CBC',
'06032a864886f67d0743' : 'nsn-oc',
'06032a864886f67d074300' : 'entrustUser',
'06032a864886f67d0744' : 'nsn-at',
'06032a864886f67d074400' : 'entrustCAInfo',
'06032a864886f67d07440a' : 'attributeCertificate',
'06032a864886f70d0101' : 'pkcs-1',
'06032a864886f70d010101' : 'rsaEncryption',
'06032a864886f70d010102' : 'md2withRSAEncryption',
'06032a864886f70d010103' : 'md4withRSAEncryption',
'06032a864886f70d010104' : 'md5withRSAEncryption',
'06032a864886f70d010105' : 'sha1withRSAEncryption',
'06032a864886f70d010106' : 'rsaOAEPEncryptionSET',
'06032a864886f70d010910020b' : 'SMIMEEncryptionKeyPreference',
'06032a864886f70d010c' : 'pkcs-12',
'06032a864886f70d010c01' : 'pkcs-12-PbeIds',
'06032a864886f70d010c0101' : 'pbeWithSHAAnd128BitRC4',
'06032a864886f70d010c0102' : 'pbeWithSHAAnd40BitRC4',
'06032a864886f70d010c0103' : 'pbeWithSHAAnd3-KeyTripleDES-CBC',
'06032a864886f70d010c0104' : 'pbeWithSHAAnd2-KeyTripleDES-CBC',
'06032a864886f70d010c0105' : 'pbeWithSHAAnd128BitRC2-CBC',
'06032a864886f70d010c0106' : 'pbeWithSHAAnd40BitRC2-CBC',
'06032a864886f70d010c0a' : 'pkcs-12Version1',
'06032a864886f70d010c0a01' : 'pkcs-12BadIds',
'06032a864886f70d010c0a0101' : 'pkcs-12-keyBag',
'06032a864886f70d010c0a0102' : 'pkcs-12-pkcs-8ShroudedKeyBag',
'06032a864886f70d010c0a0103' : 'pkcs-12-certBag',
'06032a864886f70d010c0a0104' : 'pkcs-12-crlBag',
'06032a864886f70d010c0a0105' : 'pkcs-12-secretBag',
'06032a864886f70d010c0a0106' : 'pkcs-12-safeContentsBag',
'06032a864886f70d010c02' : 'pkcs-12-ESPVKID',
'06032a864886f70d010c0201' : 'pkcs-12-PKCS8KeyShrouding',
'06032a864886f70d010c03' : 'pkcs-12-BagIds',
'06032a864886f70d010c0301' : 'pkcs-12-keyBagId',
'06032a864886f70d010c0302' : 'pkcs-12-certAndCRLBagId',
'06032a864886f70d010c0303' : 'pkcs-12-secretBagId',
'06032a864886f70d010c0304' : 'pkcs-12-safeContentsId',
'06032a864886f70d010c0305' : 'pkcs-12-pkcs-8ShroudedKeyBagId',
'06032a864886f70d010c04' : 'pkcs-12-CertBagID',
'06032a864886f70d010c0401' : 'pkcs-12-X509CertCRLBagID',
'06032a864886f70d010c0402' : 'pkcs-12-SDSICertBagID',
'06032a864886f70d010c05' : 'pkcs-12-OID',
'06032a864886f70d010c0501' : 'pkcs-12-PBEID',
'06032a864886f70d010c050101' : 'pkcs-12-PBEWithSha1And128BitRC4',
'06032a864886f70d010c050102' : 'pkcs-12-PBEWithSha1And40BitRC4',
'06032a864886f70d010c050103' : 'pkcs-12-PBEWithSha1AndTripleDESCBC',
'06032a864886f70d010c050104' : 'pkcs-12-PBEWithSha1And128BitRC2CBC',
'06032a864886f70d010c050105' : 'pkcs-12-PBEWithSha1And40BitRC2CBC',
'06032a864886f70d010c050106' : 'pkcs-12-PBEWithSha1AndRC4',
'06032a864886f70d010c050107' : 'pkcs-12-PBEWithSha1AndRC2CBC',
'06032a864886f70d010c0502' : 'pkcs-12-EnvelopingID',
'06032a864886f70d010c050201' : 'pkcs-12-RSAEncryptionWith128BitRC4',
'06032a864886f70d010c050202' : 'pkcs-12-RSAEncryptionWith40BitRC4',
'06032a864886f70d010c050203' : 'pkcs-12-RSAEncryptionWithTripleDES',
'06032a864886f70d010c0503' : 'pkcs-12-SignatureID',
'06032a864886f70d010c050301' : 'pkcs-12-RSASignatureWithSHA1Digest',
'06032a864886f70d0103' : 'pkcs-3',
'06032a864886f70d010301' : 'dhKeyAgreement',
'06032a864886f70d0105' : 'pkcs-5',
'06032a864886f70d010501' : 'pbeWithMD2AndDES-CBC',
'06032a864886f70d01050a' : 'pbeWithSHAAndDES-CBC',
'06032a864886f70d010503' : 'pbeWithMD5AndDES-CBC',
'06032a864886f70d010504' : 'pbeWithMD2AndRC2-CBC',
'06032a864886f70d010506' : 'pbeWithMD5AndRC2-CBC',
'06032a864886f70d010509' : 'pbeWithMD5AndXOR',
'06032a864886f70d0107' : 'pkcs-7',
'06032a864886f70d010701' : 'data',
'06032a864886f70d010702' : 'signedData',
'06032a864886f70d010703' : 'envelopedData',
'06032a864886f70d010704' : 'signedAndEnvelopedData',
'06032a864886f70d010705' : 'digestData',
'06032a864886f70d010706' : 'encryptedData',
'06032a864886f70d010707' : 'dataWithAttributes',
'06032a864886f70d010708' : 'encryptedPrivateKeyInfo',
'06032a864886f70d0109' : 'pkcs-9',
'06032a864886f70d010901' : 'emailAddress',
'06032a864886f70d01090a' : 'issuerAndSerialNumber',
'06032a864886f70d01090b' : 'passwordCheck',
'06032a864886f70d01090c' : 'publicKey',
'06032a864886f70d01090d' : 'signingDescription',
'06032a864886f70d01090e' : 'extensionReq',
'06032a864886f70d01090f' : 'sMIMECapabilities',
'06032a864886f70d01090f01' : 'preferSignedData',
'06032a864886f70d01090f02' : 'canNotDecryptAny',
'06032a864886f70d01090f03' : 'receiptRequest',
'06032a864886f70d01090f04' : 'receipt',
'06032a864886f70d01090f05' : 'contentHints',
'06032a864886f70d01090f06' : 'mlExpansionHistory',
'06032a864886f70d010910' : 'id-sMIME',
'06032a864886f70d01091000' : 'id-mod',
'06032a864886f70d0109100001' : 'id-mod-cms',
'06032a864886f70d0109100002' : 'id-mod-ess',
'06032a864886f70d01091001' : 'id-ct',
'06032a864886f70d0109100101' : 'id-ct-receipt',
'06032a864886f70d01091002' : 'id-aa',
'06032a864886f70d0109100201' : 'id-aa-receiptRequest',
'06032a864886f70d0109100202' : 'id-aa-securityLabel',
'06032a864886f70d0109100203' : 'id-aa-mlExpandHistory',
'06032a864886f70d0109100204' : 'id-aa-contentHint',
'06032a864886f70d010902' : 'unstructuredName',
'06032a864886f70d010914' : 'friendlyName',
'06032a864886f70d010915' : 'localKeyID',
'06032a864886f70d010916' : 'certTypes',
'06032a864886f70d01091601' : 'x509Certificate',
'06032a864886f70d01091602' : 'sdsiCertificate',
'06032a864886f70d010917' : 'crlTypes',
'06032a864886f70d01091701' : 'x509Crl',
'06032a864886f70d010903' : 'contentType',
'06032a864886f70d010904' : 'messageDigest',
'06032a864886f70d010905' : 'signingTime',
'06032a864886f70d010906' : 'countersignature',
'06032a864886f70d010907' : 'challengePassword',
'06032a864886f70d010908' : 'unstructuredAddress',
'06032a864886f70d010909' : 'extendedCertificateAttributes',
'06032a864886f70d02' : 'digestAlgorithm',
'06032a864886f70d0202' : 'md2',
'06032a864886f70d0204' : 'md4',
'06032a864886f70d0205' : 'md5',
'06032a864886f70d03' : 'encryptionAlgorithm',
'06032a864886f70d030a' : 'desCDMF',
'06032a864886f70d0302' : 'rc2CBC',
'06032a864886f70d0303' : 'rc2ECB',
'06032a864886f70d0304' : 'rc4',
'06032a864886f70d0305' : 'rc4WithMAC',
'06032a864886f70d0306' : 'DESX-CBC',
'06032a864886f70d0307' : 'DES-EDE3-CBC',
'06032a864886f70d0308' : 'RC5CBC',
'06032a864886f70d0309' : 'RC5-CBCPad',
'06032a864886f7140403' : 'microsoftExcel',
'06032a864886f7140404' : 'titledWithOID',
'06032a864886f7140405' : 'microsoftPowerPoint',
'06032b81051086480954' : 'x9-84',
'06032b8105108648095400' : 'x9-84-Module',
'06032b810510864809540001' : 'x9-84-Biometrics',
'06032b810510864809540002' : 'x9-84-CMS',
'06032b810510864809540003' : 'x9-84-Identifiers',
'06032b8105108648095401' : 'biometric',
'06032b810510864809540100' : 'id-unknown-Type',
'06032b810510864809540101' : 'id-body-Odor',
'06032b81051086480954010a' : 'id-palm',
'06032b81051086480954010b' : 'id-retina',
'06032b81051086480954010c' : 'id-signature',
'06032b81051086480954010d' : 'id-speech-Pattern',
'06032b81051086480954010e' : 'id-thermal-Image',
'06032b81051086480954010f' : 'id-vein-Pattern',
'06032b810510864809540110' : 'id-thermal-Face-Image',
'06032b810510864809540111' : 'id-thermal-Hand-Image',
'06032b810510864809540112' : 'id-lip-Movement',
'06032b810510864809540113' : 'id-gait',
'06032b810510864809540102' : 'id-dna',
'06032b810510864809540103' : 'id-ear-Shape',
'06032b810510864809540104' : 'id-facial-Features',
'06032b810510864809540105' : 'id-finger-Image',
'06032b810510864809540106' : 'id-finger-Geometry',
'06032b810510864809540107' : 'id-hand-Geometry',
'06032b810510864809540108' : 'id-iris-Features',
'06032b810510864809540109' : 'id-keystroke-Dynamics',
'06032b8105108648095402' : 'processing-algorithm',
'06032b8105108648095403' : 'matching-method',
'06032b8105108648095404' : 'format-Owner',
'06032b810510864809540400' : 'cbeff-Owner',
'06032b810510864809540401' : 'ibia-Owner',
'06032b81051086480954040101' : 'id-ibia-SAFLINK',
'06032b8105108648095404010a' : 'id-ibia-SecuGen',
'06032b8105108648095404010b' : 'id-ibia-PreciseBiometric',
'06032b8105108648095404010c' : 'id-ibia-Identix',
'06032b8105108648095404010d' : 'id-ibia-DERMALOG',
'06032b8105108648095404010e' : 'id-ibia-LOGICO',
'06032b8105108648095404010f' : 'id-ibia-NIST',
'06032b81051086480954040110' : 'id-ibia-A3Vision',
'06032b81051086480954040111' : 'id-ibia-NEC',
'06032b81051086480954040112' : 'id-ibia-STMicroelectronics',
'06032b81051086480954040102' : 'id-ibia-Bioscrypt',
'06032b81051086480954040103' : 'id-ibia-Visionics',
'06032b81051086480954040104' : 'id-ibia-InfineonTechnologiesAG',
'06032b81051086480954040105' : 'id-ibia-IridianTechnologies',
'06032b81051086480954040106' : 'id-ibia-Veridicom',
'06032b81051086480954040107' : 'id-ibia-CyberSIGN',
'06032b81051086480954040108' : 'id-ibia-eCryp.',
'06032b81051086480954040109' : 'id-ibia-FingerprintCardsAB',
'06032b810510864809540402' : 'x9-Owner',
'06032b0e021a05' : 'sha',
'06032b0e03020101' : 'rsa',
'06032b0e03020a' : 'desMAC',
'06032b0e03020b' : 'rsaSignature',
'06032b0e03020c' : 'dsa',
'06032b0e03020d' : 'dsaWithSHA',
'06032b0e03020e' : 'mdc2WithRSASignature',
'06032b0e03020f' : 'shaWithRSASignature',
'06032b0e030210' : 'dhWithCommonModulus',
'06032b0e030211' : 'desEDE',
'06032b0e030212' : 'sha',
'06032b0e030213' : 'mdc-2',
'06032b0e030202' : 'md4WitRSA',
'06032b0e03020201' : 'sqmod-N',
'06032b0e030214' : 'dsaCommon',
'06032b0e030215' : 'dsaCommonWithSHA',
'06032b0e030216' : 'rsaKeyTransport',
'06032b0e030217' : 'keyed-hash-seal',
'06032b0e030218' : 'md2WithRSASignature',
'06032b0e030219' : 'md5WithRSASignature',
'06032b0e03021a' : 'sha1',
'06032b0e03021b' : 'dsaWithSHA1',
'06032b0e03021c' : 'dsaWithCommonSHA1',
'06032b0e03021d' : 'sha-1WithRSAEncryption',
'06032b0e030203' : 'md5WithRSA',
'06032b0e03020301' : 'sqmod-NwithRSA',
'06032b0e030204' : 'md4WithRSAEncryption',
'06032b0e030206' : 'desECB',
'06032b0e030207' : 'desCBC',
'06032b0e030208' : 'desOFB',
'06032b0e030209' : 'desCFB',
'06032b0e030301' : 'simple-strong-auth-mechanism',
'06032b0e07020101' : 'ElGamal',
'06032b0e07020301' : 'md2WithRSA',
'06032b0e07020302' : 'md2WithElGamal',
'06032b2403' : 'algorithm',
'06032b240301' : 'encryptionAlgorithm',
'06032b24030101' : 'des',
'06032b240301010101' : 'desECBPad',
'06032b24030101010101' : 'desECBPadISO',
'06032b240301010201' : 'desCBCPad',
'06032b24030101020101' : 'desCBCPadISO',
'06032b24030102' : 'idea',
'06032b2403010201' : 'ideaECB',
'06032b240301020101' : 'ideaECBPad',
'06032b24030102010101' : 'ideaECBPadISO',
'06032b2403010202' : 'ideaCBC',
'06032b240301020201' : 'ideaCBCPad',
'06032b24030102020101' : 'ideaCBCPadISO',
'06032b2403010203' : 'ideaOFB',
'06032b2403010204' : 'ideaCFB',
'06032b24030103' : 'des-3',
'06032b240301030101' : 'des-3ECBPad',
'06032b24030103010101' : 'des-3ECBPadISO',
'06032b240301030201' : 'des-3CBCPad',
'06032b24030103020101' : 'des-3CBCPadISO',
'06032b240302' : 'hashAlgorithm',
'06032b24030201' : 'ripemd160',
'06032b24030202' : 'ripemd128',
'06032b24030203' : 'ripemd256',
'06032b24030204' : 'mdc2singleLength',
'06032b24030205' : 'mdc2doubleLength',
'06032b240303' : 'signatureAlgorithm',
'06032b24030301' : 'rsa',
'06032b2403030101' : 'rsaMitSHA-1',
'06032b2403030102' : 'rsaMitRIPEMD160',
'06032b24030302' : 'ellipticCurve',
'06032b240304' : 'signatureScheme',
'06032b24030401' : 'iso9796-1',
'06032b2403040201' : 'iso9796-2',
'06032b2403040202' : 'iso9796-2rsa',
'06032b2404' : 'attribute',
'06032b2405' : 'policy',
'06032b2406' : 'api',
'06032b240601' : 'manufacturerSpecific',
'06032b240602' : 'functionalitySpecific',
'06032b2407' : 'api',
'06032b240701' : 'keyAgreement',
'06032b240702' : 'keyTransport',
'06032b06010401927c0a0101' : 'UNINETT policyIdentifier',
'06032b0601040195180a' : 'ICE-TEL policyIdentifier',
'06032b0601040197552001' : 'cryptlibEnvelope',
'06032b0601040197552002' : 'cryptlibPrivateKey',
'060a2b060104018237' : 'Microsoft OID',
'060a2b0601040182370a' : 'Crypto 2.0',
'060a2b0601040182370a01' : 'certTrustList',
'060a2b0601040182370a0101' : 'szOID_SORTED_CTL',
'060a2b0601040182370a0a' : 'Microsoft CMC OIDs',
'060a2b0601040182370a0a01' : 'szOID_CMC_ADD_ATTRIBUTES',
'060a2b0601040182370a0b' : 'Microsoft certificate property OIDs',
'060a2b0601040182370a0b01' : 'szOID_CERT_PROP_ID_PREFIX',
'060a2b0601040182370a0c' : 'CryptUI',
'060a2b0601040182370a0c01' : 'szOID_ANY_APPLICATION_POLICY',
'060a2b0601040182370a02' : 'nextUpdateLocation',
'060a2b0601040182370a0301' : 'certTrustListSigning',
'060a2b0601040182370a030a' : 'szOID_KP_QUALIFIED_SUBORDINATION',
'060a2b0601040182370a030b' : 'szOID_KP_KEY_RECOVERY',
'060a2b0601040182370a030c' : 'szOID_KP_DOCUMENT_SIGNING',
'060a2b0601040182370a0302' : 'timeStampSigning',
'060a2b0601040182370a0303' : 'serverGatedCrypto',
'060a2b0601040182370a030301' : 'szOID_SERIALIZED',
'060a2b0601040182370a0304' : 'encryptedFileSystem',
'060a2b0601040182370a030401' : 'szOID_EFS_RECOVERY',
'060a2b0601040182370a0305' : 'szOID_WHQL_CRYPTO',
'060a2b0601040182370a0306' : 'szOID_NT5_CRYPTO',
'060a2b0601040182370a0307' : 'szOID_OEM_WHQL_CRYPTO',
'060a2b0601040182370a0308' : 'szOID_EMBEDDED_NT_CRYPTO',
'060a2b0601040182370a0309' : 'szOID_ROOT_LIST_SIGNER',
'060a2b0601040182370a0401' : 'yesnoTrustAttr',
'060a2b0601040182370a0501' : 'szOID_DRM',
'060a2b0601040182370a0502' : 'szOID_DRM_INDIVIDUALIZATION',
'060a2b0601040182370a0601' : 'szOID_LICENSES',
'060a2b0601040182370a0602' : 'szOID_LICENSE_SERVER',
'060a2b0601040182370a07' : 'szOID_MICROSOFT_RDN_PREFIX',
'060a2b0601040182370a0701' : 'szOID_KEYID_RDN',
'060a2b0601040182370a0801' : 'szOID_REMOVE_CERTIFICATE',
'060a2b0601040182370a0901' : 'szOID_CROSS_CERT_DIST_POINTS',
'060a2b0601040182370c' : 'Catalog',
'060a2b0601040182370c0101' : 'szOID_CATALOG_LIST',
'060a2b0601040182370c0102' : 'szOID_CATALOG_LIST_MEMBER',
'060a2b0601040182370c0201' : 'CAT_NAMEVALUE_OBJID',
'060a2b0601040182370c0202' : 'CAT_MEMBERINFO_OBJID',
'060a2b0601040182370d' : 'Microsoft PKCS10 OIDs',
'060a2b0601040182370d01' : 'szOID_RENEWAL_CERTIFICATE',
'060a2b0601040182370d0201' : 'szOID_ENROLLMENT_NAME_VALUE_PAIR',
'060a2b0601040182370d0202' : 'szOID_ENROLLMENT_CSP_PROVIDER',
'060a2b0601040182370d0203' : 'OS Version',
'060a2b0601040182370f' : 'Microsoft Java',
'060a2b06010401823710' : 'Microsoft Outlook/Exchange',
'060a2b0601040182371004' : 'Outlook Express',
'060a2b06010401823711' : 'Microsoft PKCS12 attributes',
'060a2b0601040182371101' : 'szOID_LOCAL_MACHINE_KEYSET',
'060a2b06010401823712' : 'Microsoft Hydra',
'060a2b06010401823713' : 'Microsoft ISPU Test',
'060a2b06010401823702' : 'Authenticode',
'060a2b06010401823702010a' : 'spcAgencyInfo',
'060a2b06010401823702010b' : 'spcStatementType',
'060a2b06010401823702010c' : 'spcSpOpusInfo',
'060a2b06010401823702010e' : 'certExtensions',
'060a2b06010401823702010f' : 'spcPelmageData',
'060a2b060104018237020112' : 'SPC_RAW_FILE_DATA_OBJID',
'060a2b060104018237020113' : 'SPC_STRUCTURED_STORAGE_DATA_OBJID',
'060a2b060104018237020114' : 'spcLink',
'060a2b060104018237020115' : 'individualCodeSigning',
'060a2b060104018237020116' : 'commercialCodeSigning',
'060a2b060104018237020119' : 'spcLink',
'060a2b06010401823702011a' : 'spcMinimalCriteriaInfo',
'060a2b06010401823702011b' : 'spcFinancialCriteriaInfo',
'060a2b06010401823702011c' : 'spcLink',
'060a2b06010401823702011d' : 'SPC_HASH_INFO_OBJID',
'060a2b06010401823702011e' : 'SPC_SIPINFO_OBJID',
'060a2b060104018237020104' : 'spcIndirectDataContext',
'060a2b0601040182370202' : 'CTL for Software Publishers Trusted CAs',
'060a2b060104018237020201' : 'szOID_TRUSTED_CODESIGNING_CA_LIST',
'060a2b060104018237020202' : 'szOID_TRUSTED_CLIENT_AUTH_CA_LIST',
'060a2b060104018237020203' : 'szOID_TRUSTED_SERVER_AUTH_CA_LIST',
'060a2b06010401823714' : 'Microsoft Enrollment Infrastructure',
'060a2b0601040182371401' : 'szOID_AUTO_ENROLL_CTL_USAGE',
'060a2b0601040182371402' : 'szOID_ENROLL_CERTTYPE_EXTENSION',
'060a2b060104018237140201' : 'szOID_ENROLLMENT_AGENT',
'060a2b060104018237140202' : 'szOID_KP_SMARTCARD_LOGON',
'060a2b060104018237140203' : 'szOID_NT_PRINCIPAL_NAME',
'060a2b0601040182371403' : 'szOID_CERT_MANIFOLD',
'06092b06010401823715' : 'Microsoft CertSrv Infrastructure',
'06092b0601040182371501' : 'szOID_CERTSRV_CA_VERSION',
'06092b0601040182371514' : 'Client Information',
'060a2b06010401823719' : 'Microsoft Directory Service',
'060a2b0601040182371901' : 'szOID_NTDS_REPLICATION',
'060a2b06010401823703' : 'Time Stamping',
'060a2b060104018237030201' : 'SPC_TIME_STAMP_REQUEST_OBJID',
'060a2b0601040182371e' : 'IIS',
'060a2b0601040182371f' : 'Windows updates and service packs',
'060a2b0601040182371f01' : 'szOID_PRODUCT_UPDATE',
'060a2b06010401823704' : 'Permissions',
'060a2b06010401823728' : 'Fonts',
'060a2b06010401823729' : 'Microsoft Licensing and Registration',
'060a2b0601040182372a' : 'Microsoft Corporate PKI (ITG)',
'060a2b06010401823758' : 'CAPICOM',
'060a2b0601040182375801' : 'szOID_CAPICOM_VERSION',
'060a2b0601040182375802' : 'szOID_CAPICOM_ATTRIBUTE',
'060a2b060104018237580201' : 'szOID_CAPICOM_DOCUMENT_NAME',
'060a2b060104018237580202' : 'szOID_CAPICOM_DOCUMENT_DESCRIPTION',
'060a2b0601040182375803' : 'szOID_CAPICOM_ENCRYPTED_DATA',
'060a2b060104018237580301' : 'szOID_CAPICOM_ENCRYPTED_CONTENT',
'06032b0601050507' : 'pkix',
'06032b060105050701' : 'privateExtension',
'06032b06010505070101' : 'authorityInfoAccess',
'06032b06010505070c02' : 'CMC Data',
'06032b060105050702' : 'policyQualifierIds',
// '06032b06010505070201' : 'cps',
'06032b06010505070202' : 'unotice',
'06032b060105050703' : 'keyPurpose',
'06032b06010505070301' : 'serverAuth',
'06032b06010505070302' : 'clientAuth',
'06032b06010505070303' : 'codeSigning',
'06032b06010505070304' : 'emailProtection',
'06032b06010505070305' : 'ipsecEndSystem',
'06032b06010505070306' : 'ipsecTunnel',
'06032b06010505070307' : 'ipsecUser',
'06032b06010505070308' : 'timeStamping',
'06032b060105050704' : 'cmpInformationTypes',
'06032b06010505070401' : 'caProtEncCert',
'06032b06010505070402' : 'signKeyPairTypes',
'06032b06010505070403' : 'encKeyPairTypes',
'06032b06010505070404' : 'preferredSymmAlg',
'06032b06010505070405' : 'caKeyUpdateInfo',
'06032b06010505070406' : 'currentCRL',
'06032b06010505073001' : 'ocsp',
'06032b06010505073002' : 'caIssuers',
'06032b06010505080101' : 'HMAC-MD5',
'06032b06010505080102' : 'HMAC-SHA',
'060360864801650201010a' : 'mosaicKeyManagementAlgorithm',
'060360864801650201010b' : 'sdnsKMandSigAlgorithm',
'060360864801650201010c' : 'mosaicKMandSigAlgorithm',
'060360864801650201010d' : 'SuiteASignatureAlgorithm',
'060360864801650201010e' : 'SuiteAConfidentialityAlgorithm',
'060360864801650201010f' : 'SuiteAIntegrityAlgorithm',
'06036086480186f84201' : 'cert-extension',
// '06036086480186f8420101' : 'netscape-cert-type',
'06036086480186f842010a' : 'EntityLogo',
'06036086480186f842010b' : 'UserPicture',
// '06036086480186f842010c' : 'netscape-ssl-server-name',
// '06036086480186f842010d' : 'netscape-comment',
// '06036086480186f8420102' : 'netscape-base-url',
// '06036086480186f8420103' : 'netscape-revocation-url',
// '06036086480186f8420104' : 'netscape-ca-revocation-url',
// '06036086480186f8420107' : 'netscape-cert-renewal-url',
// '06036086480186f8420108' : 'netscape-ca-policy-url',
'06036086480186f8420109' : 'HomePage-url',
'06036086480186f84202' : 'data-type',
'06036086480186f8420201' : 'GIF',
'06036086480186f8420202' : 'JPEG',
'06036086480186f8420203' : 'URL',
'06036086480186f8420204' : 'HTML',
'06036086480186f8420205' : 'netscape-cert-sequence',
'06036086480186f8420206' : 'netscape-cert-url',
'06036086480186f84203' : 'directory',
'06036086480186f8420401' : 'serverGatedCrypto',
'06036086480186f845010603' : 'Unknown Verisign extension',
'06036086480186f845010606' : 'Unknown Verisign extension',
'06036086480186f84501070101' : 'Verisign certificatePolicy',
'06036086480186f8450107010101' : 'Unknown Verisign policy qualifier',
'06036086480186f8450107010102' : 'Unknown Verisign policy qualifier',
'0603678105' : 'TCPA',
'060367810501' : 'tcpa_specVersion',
'060367810502' : 'tcpa_attribute',
'06036781050201' : 'tcpa_at_tpmManufacturer',
'0603678105020a' : 'tcpa_at_securityQualities',
'0603678105020b' : 'tcpa_at_tpmProtectionProfile',
'0603678105020c' : 'tcpa_at_tpmSecurityTarget',
'0603678105020d' : 'tcpa_at_foundationProtectionProfile',
'0603678105020e' : 'tcpa_at_foundationSecurityTarget',
'0603678105020f' : 'tcpa_at_tpmIdLabel',
'06036781050202' : 'tcpa_at_tpmModel',
'06036781050203' : 'tcpa_at_tpmVersion',
'06036781050204' : 'tcpa_at_platformManufacturer',
'06036781050205' : 'tcpa_at_platformModel',
'06036781050206' : 'tcpa_at_platformVersion',
'06036781050207' : 'tcpa_at_componentManufacturer',
'06036781050208' : 'tcpa_at_componentModel',
'06036781050209' : 'tcpa_at_componentVersion',
'060367810503' : 'tcpa_protocol',
'06036781050301' : 'tcpa_prtt_tpmIdProtocol',
'0603672a00' : 'contentType',
'0603672a0000' : 'PANData',
'0603672a0001' : 'PANToken',
'0603672a0002' : 'PANOnly',
'0603672a01' : 'msgExt',
'0603672a0a' : 'national',
'0603672a0a8140' : 'Japan',
'0603672a02' : 'field',
'0603672a0200' : 'fullName',
'0603672a0201' : 'givenName',
'0603672a020a' : 'amount',
'0603672a0202' : 'familyName',
'0603672a0203' : 'birthFamilyName',
'0603672a0204' : 'placeName',
'0603672a0205' : 'identificationNumber',
'0603672a0206' : 'month',
'0603672a0207' : 'date',
'0603672a02070b' : 'accountNumber',
'0603672a02070c' : 'passPhrase',
'0603672a0208' : 'address',
'0603672a0209' : 'telephone',
'0603672a03' : 'attribute',
'0603672a0300' : 'cert',
'0603672a030000' : 'rootKeyThumb',
'0603672a030001' : 'additionalPolicy',
'0603672a04' : 'algorithm',
'0603672a05' : 'policy',
'0603672a0500' : 'root',
'0603672a06' : 'module',
'0603672a07' : 'certExt',
'0603672a0700' : 'hashedRootKey',
'0603672a0701' : 'certificateType',
'0603672a0702' : 'merchantData',
'0603672a0703' : 'cardCertRequired',
'0603672a0704' : 'tunneling',
'0603672a0705' : 'setExtensions',
'0603672a0706' : 'setQualifier',
'0603672a08' : 'brand',
'0603672a0801' : 'IATA-ATA',
'0603672a081e' : 'Diners',
'0603672a0822' : 'AmericanExpress',
'0603672a0804' : 'VISA',
'0603672a0805' : 'MasterCard',
'0603672a08ae7b' : 'Novus',
'0603672a09' : 'vendor',
'0603672a0900' : 'GlobeSet',
'0603672a0901' : 'IBM',
'0603672a090a' : 'Griffin',
'0603672a090b' : 'Certicom',
'0603672a090c' : 'OSS',
'0603672a090d' : 'TenthMountain',
'0603672a090e' : 'Antares',
'0603672a090f' : 'ECC',
'0603672a0910' : 'Maithean',
'0603672a0911' : 'Netscape',
'0603672a0912' : 'Verisign',
'0603672a0913' : 'BlueMoney',
'0603672a0902' : 'CyberCash',
'0603672a0914' : 'Lacerte',
'0603672a0915' : 'Fujitsu',
'0603672a0916' : 'eLab',
'0603672a0917' : 'Entrust',
'0603672a0918' : 'VIAnet',
'0603672a0919' : 'III',
'0603672a091a' : 'OpenMarket',
'0603672a091b' : 'Lexem',
'0603672a091c' : 'Intertrader',
'0603672a091d' : 'Persimmon',
'0603672a0903' : 'Terisa',
'0603672a091e' : 'NABLE',
'0603672a091f' : 'espace-net',
'0603672a0920' : 'Hitachi',
'0603672a0921' : 'Microsoft',
'0603672a0922' : 'NEC',
'0603672a0923' : 'Mitsubishi',
'0603672a0924' : 'NCR',
'0603672a0925' : 'e-COMM',
'0603672a0926' : 'Gemplus',
'0603672a0904' : 'RSADSI',
'0603672a0905' : 'VeriFone',
'0603672a0906' : 'TrinTech',
'0603672a0907' : 'BankGate',
'0603672a0908' : 'GTE',
'0603672a0909' : 'CompuSource',
'0603551d01' : 'authorityKeyIdentifier',
'0603551d0a' : 'basicConstraints',
'0603551d0b' : 'nameConstraints',
'0603551d0c' : 'policyConstraints',
'0603551d0d' : 'basicConstraints',
'0603551d0e' : 'subjectKeyIdentifier',
'0603551d0f' : 'keyUsage',
'0603551d10' : 'privateKeyUsagePeriod',
'0603551d11' : 'subjectAltName',
'0603551d12' : 'issuerAltName',
'0603551d13' : 'basicConstraints',
'0603551d02' : 'keyAttributes',
'0603551d14' : 'cRLNumber',
'0603551d15' : 'cRLReason',
'0603551d16' : 'expirationDate',
'0603551d17' : 'instructionCode',
'0603551d18' : 'invalidityDate',
'0603551d1a' : 'issuingDistributionPoint',
'0603551d1b' : 'deltaCRLIndicator',
'0603551d1c' : 'issuingDistributionPoint',
'0603551d1d' : 'certificateIssuer',
'0603551d03' : 'certificatePolicies',
'0603551d1e' : 'nameConstraints',
'0603551d1f' : 'cRLDistributionPoints',
'0603551d20' : 'certificatePolicies',
'0603551d21' : 'policyMappings',
'0603551d22' : 'policyConstraints',
'0603551d23' : 'authorityKeyIdentifier',
'0603551d24' : 'policyConstraints',
'0603551d25' : 'extKeyUsage',
'0603551d04' : 'keyUsageRestriction',
'0603551d05' : 'policyMapping',
'0603551d06' : 'subtreesConstraint',
'0603551d07' : 'subjectAltName',
'0603551d08' : 'issuerAltName',
'0603551d09' : 'subjectDirectoryAttributes',
'0603550400' : 'objectClass',
'0603550401' : 'aliasObjectName',
// '060355040c' : 'title',
'060355040d' : 'description',
'060355040e' : 'searchGuide',
'060355040f' : 'businessCategory',
'0603550410' : 'postalAddress',
'0603550411' : 'postalCode',
'0603550412' : 'postOfficeBox',
'0603550413' : 'physicalDeliveryOfficeName',
'0603550402' : 'knowledgeInformation',
// '0603550414' : 'telephoneNumber',
'0603550415' : 'telexNumber',
'0603550416' : 'teletexTerminalIdentifier',
'0603550417' : 'facsimileTelephoneNumber',
'0603550418' : 'x121Address',
'0603550419' : 'internationalISDNNumber',
'060355041a' : 'registeredAddress',
'060355041b' : 'destinationIndicator',
'060355041c' : 'preferredDeliveryMehtod',
'060355041d' : 'presentationAddress',
'060355041e' : 'supportedApplicationContext',
'060355041f' : 'member',
'0603550420' : 'owner',
'0603550421' : 'roleOccupant',
'0603550422' : 'seeAlso',
'0603550423' : 'userPassword',
'0603550424' : 'userCertificate',
'0603550425' : 'caCertificate',
'0603550426' : 'authorityRevocationList',
'0603550427' : 'certificateRevocationList',
'0603550428' : 'crossCertificatePair',
'0603550429' : 'givenName',
// '060355042a' : 'givenName',
'0603550405' : 'serialNumber',
'0603550434' : 'supportedAlgorithms',
'0603550435' : 'deltaRevocationList',
'060355043a' : 'crossCertificatePair',
// '0603550409' : 'streetAddress',
'06035508' : 'X.500-Algorithms',
'0603550801' : 'X.500-Alg-Encryption',
'060355080101' : 'rsa',
'0603604c0101' : 'DPC'
};