PublicKey.js 42 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  1. import Utils from "../Utils.js";
  2. import * as r from "jsrsasign";
  3. /**
  4. * Public Key operations.
  5. *
  6. * @author n1474335 [n1474335@gmail.com]
  7. * @copyright Crown Copyright 2016
  8. * @license Apache-2.0
  9. *
  10. * @namespace
  11. */
  12. const PublicKey = {
  13. /**
  14. * @constant
  15. * @default
  16. */
  17. X509_INPUT_FORMAT: ["PEM", "DER Hex", "Base64", "Raw"],
  18. /**
  19. * Parse X.509 certificate operation.
  20. *
  21. * @param {string} input
  22. * @param {Object[]} args
  23. * @returns {string}
  24. */
  25. runParseX509: function (input, args) {
  26. let cert = new r.X509(),
  27. inputFormat = args[0];
  28. if (!input.length) {
  29. return "No input";
  30. }
  31. switch (inputFormat) {
  32. case "DER Hex":
  33. input = input.replace(/\s/g, "");
  34. cert.hex = input;
  35. cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(input, "CERTIFICATE");
  36. break;
  37. case "PEM":
  38. cert.hex = r.X509.pemToHex(input);
  39. cert.pem = input;
  40. break;
  41. case "Base64":
  42. cert.hex = Utils.toHex(Utils.fromBase64(input, null, "byteArray"), "");
  43. cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
  44. break;
  45. case "Raw":
  46. cert.hex = Utils.toHex(Utils.strToByteArray(input), "");
  47. cert.pem = r.KJUR.asn1.ASN1Util.getPEMStringFromHex(cert.hex, "CERTIFICATE");
  48. break;
  49. default:
  50. throw "Undefined input format";
  51. }
  52. let version = r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 0, 0]),
  53. sn = cert.getSerialNumberHex(),
  54. algorithm = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 2, 0]))),
  55. issuer = cert.getIssuerString(),
  56. notBefore = cert.getNotBefore(),
  57. notAfter = cert.getNotAfter(),
  58. subject = cert.getSubjectString(),
  59. pkAlgorithm = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 6, 0, 0]))),
  60. pk = r.X509.getPublicKeyFromCertPEM(cert.pem),
  61. pkFields = [],
  62. pkStr = "",
  63. certSigAlg = r.KJUR.asn1.x509.OID.oid2name(r.KJUR.asn1.ASN1Util.oidHexToInt(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [1, 0]))),
  64. certSig = r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [2]).substr(2),
  65. sigStr = "",
  66. extensions = r.ASN1HEX.dump(r.ASN1HEX.getDecendantHexVByNthList(cert.hex, 0, [0, 7]));
  67. // Public Key fields
  68. if (pk.type === "EC") { // ECDSA
  69. pkFields.push({
  70. key: "Curve Name",
  71. value: pk.curveName
  72. });
  73. pkFields.push({
  74. key: "Length",
  75. value: (((new r.BigInteger(pk.pubKeyHex, 16)).bitLength()-3) /2) + " bits"
  76. });
  77. pkFields.push({
  78. key: "pub",
  79. value: PublicKey._formatByteStr(pk.pubKeyHex, 16, 18)
  80. });
  81. } else if (pk.type === "DSA") { // DSA
  82. pkFields.push({
  83. key: "pub",
  84. value: PublicKey._formatByteStr(pk.y.toString(16), 16, 18)
  85. });
  86. pkFields.push({
  87. key: "P",
  88. value: PublicKey._formatByteStr(pk.p.toString(16), 16, 18)
  89. });
  90. pkFields.push({
  91. key: "Q",
  92. value: PublicKey._formatByteStr(pk.q.toString(16), 16, 18)
  93. });
  94. pkFields.push({
  95. key: "G",
  96. value: PublicKey._formatByteStr(pk.g.toString(16), 16, 18)
  97. });
  98. } else if (pk.e) { // RSA
  99. pkFields.push({
  100. key: "Length",
  101. value: pk.n.bitLength() + " bits"
  102. });
  103. pkFields.push({
  104. key: "Modulus",
  105. value: PublicKey._formatByteStr(pk.n.toString(16), 16, 18)
  106. });
  107. pkFields.push({
  108. key: "Exponent",
  109. value: pk.e + " (0x" + pk.e.toString(16) + ")"
  110. });
  111. } else {
  112. pkFields.push({
  113. key: "Error",
  114. value: "Unknown Public Key type"
  115. });
  116. }
  117. // Signature fields
  118. if (r.ASN1HEX.dump(certSig).indexOf("SEQUENCE") === 0) { // DSA or ECDSA
  119. sigStr = " r: " + PublicKey._formatByteStr(r.ASN1HEX.getDecendantHexVByNthList(certSig, 0, [0]), 16, 18) + "\n" +
  120. " s: " + PublicKey._formatByteStr(r.ASN1HEX.getDecendantHexVByNthList(certSig, 0, [1]), 16, 18) + "\n";
  121. } else { // RSA
  122. sigStr = " Signature: " + PublicKey._formatByteStr(certSig, 16, 18) + "\n";
  123. }
  124. // Format Public Key fields
  125. for (let i = 0; i < pkFields.length; i++) {
  126. pkStr += " " + pkFields[i].key + ":" +
  127. Utils.padLeft(
  128. pkFields[i].value + "\n",
  129. 18 - (pkFields[i].key.length + 3) + pkFields[i].value.length + 1,
  130. " "
  131. );
  132. }
  133. let issuerStr = PublicKey._formatDnStr(issuer, 2),
  134. nbDate = PublicKey._formatDate(notBefore),
  135. naDate = PublicKey._formatDate(notAfter),
  136. subjectStr = PublicKey._formatDnStr(subject, 2);
  137. const output = "Version: " + (parseInt(version, 16) + 1) + " (0x" + version + ")\n" +
  138. "Serial number: " + new r.BigInteger(sn, 16).toString() + " (0x" + sn + ")\n" +
  139. "Algorithm ID: " + algorithm + "\n" +
  140. "Validity\n" +
  141. " Not Before: " + nbDate + " (dd-mm-yy hh:mm:ss) (" + notBefore + ")\n" +
  142. " Not After: " + naDate + " (dd-mm-yy hh:mm:ss) (" + notAfter + ")\n" +
  143. "Issuer\n" +
  144. issuerStr +
  145. "Subject\n" +
  146. subjectStr +
  147. "Public Key\n" +
  148. " Algorithm: " + pkAlgorithm + "\n" +
  149. pkStr +
  150. "Certificate Signature\n" +
  151. " Algorithm: " + certSigAlg + "\n" +
  152. sigStr +
  153. "\nExtensions (parsed ASN.1)\n" +
  154. extensions;
  155. return output;
  156. },
  157. /**
  158. * PEM to Hex operation.
  159. *
  160. * @param {string} input
  161. * @param {Object[]} args
  162. * @returns {string}
  163. */
  164. runPemToHex: function(input, args) {
  165. if (input.indexOf("-----BEGIN") < 0) {
  166. // Add header so that the KEYUTIL function works
  167. input = "-----BEGIN CERTIFICATE-----" + input;
  168. }
  169. if (input.indexOf("-----END") < 0) {
  170. // Add footer so that the KEYUTIL function works
  171. input = input + "-----END CERTIFICATE-----";
  172. }
  173. return r.KEYUTIL.getHexFromPEM(input);
  174. },
  175. /**
  176. * @constant
  177. * @default
  178. */
  179. PEM_HEADER_STRING: "CERTIFICATE",
  180. /**
  181. * Hex to PEM operation.
  182. *
  183. * @param {string} input
  184. * @param {Object[]} args
  185. * @returns {string}
  186. */
  187. runHexToPem: function(input, args) {
  188. return r.KJUR.asn1.ASN1Util.getPEMStringFromHex(input.replace(/\s/g, ""), args[0]);
  189. },
  190. /**
  191. * Hex to Object Identifier operation.
  192. *
  193. * @param {string} input
  194. * @param {Object[]} args
  195. * @returns {string}
  196. */
  197. runHexToObjectIdentifier: function(input, args) {
  198. return r.KJUR.asn1.ASN1Util.oidHexToInt(input.replace(/\s/g, ""));
  199. },
  200. /**
  201. * Object Identifier to Hex operation.
  202. *
  203. * @param {string} input
  204. * @param {Object[]} args
  205. * @returns {string}
  206. */
  207. runObjectIdentifierToHex: function(input, args) {
  208. return r.KJUR.asn1.ASN1Util.oidIntToHex(input);
  209. },
  210. /**
  211. * @constant
  212. * @default
  213. */
  214. ASN1_TRUNCATE_LENGTH: 32,
  215. /**
  216. * Parse ASN.1 hex string operation.
  217. *
  218. * @param {string} input
  219. * @param {Object[]} args
  220. * @returns {string}
  221. */
  222. runParseAsn1HexString: function(input, args) {
  223. let truncateLen = args[1],
  224. index = args[0];
  225. return r.ASN1HEX.dump(input.replace(/\s/g, ""), {
  226. "ommitLongOctet": truncateLen
  227. }, index);
  228. },
  229. /**
  230. * Formats Distinguished Name (DN) strings.
  231. *
  232. * @private
  233. * @param {string} dnStr
  234. * @param {number} indent
  235. * @returns {string}
  236. */
  237. _formatDnStr: function(dnStr, indent) {
  238. let output = "",
  239. fields = dnStr.split(",/|"),
  240. maxKeyLen = 0,
  241. key,
  242. value,
  243. i,
  244. str;
  245. for (i = 0; i < fields.length; i++) {
  246. if (!fields[i].length) continue;
  247. key = fields[i].split("=")[0];
  248. maxKeyLen = key.length > maxKeyLen ? key.length : maxKeyLen;
  249. }
  250. for (i = 0; i < fields.length; i++) {
  251. if (!fields[i].length) continue;
  252. key = fields[i].split("=")[0];
  253. value = fields[i].split("=")[1];
  254. str = Utils.padRight(key, maxKeyLen) + " = " + value + "\n";
  255. output += Utils.padLeft(str, indent + str.length, " ");
  256. }
  257. return output;
  258. },
  259. /**
  260. * Formats byte strings by adding line breaks and delimiters.
  261. *
  262. * @private
  263. * @param {string} byteStr
  264. * @param {number} length - Line width
  265. * @param {number} indent
  266. * @returns {string}
  267. */
  268. _formatByteStr: function(byteStr, length, indent) {
  269. byteStr = Utils.toHex(Utils.fromHex(byteStr), ":");
  270. length = length * 3;
  271. let output = "";
  272. for (let i = 0; i < byteStr.length; i += length) {
  273. const str = byteStr.slice(i, i + length) + "\n";
  274. if (i === 0) {
  275. output += str;
  276. } else {
  277. output += Utils.padLeft(str, indent + str.length, " ");
  278. }
  279. }
  280. return output.slice(0, output.length-1);
  281. },
  282. /**
  283. * Formats dates.
  284. *
  285. * @private
  286. * @param {string} dateStr
  287. * @returns {string}
  288. */
  289. _formatDate: function(dateStr) {
  290. return dateStr[4] + dateStr[5] + "/" +
  291. dateStr[2] + dateStr[3] + "/" +
  292. dateStr[0] + dateStr[1] + " " +
  293. dateStr[6] + dateStr[7] + ":" +
  294. dateStr[8] + dateStr[9] + ":" +
  295. dateStr[10] + dateStr[11];
  296. },
  297. };
  298. export default PublicKey;
  299. /**
  300. * Overwrite X509.hex2dn function so as to join RDNs with a string which can be split on without
  301. * causing problems later (I hope).
  302. *
  303. * @param {string} hDN - Hex DN string
  304. * @returns {string}
  305. */
  306. r.X509.hex2dn = function(hDN) {
  307. let s = "";
  308. const a = r.ASN1HEX.getPosArrayOfChildren_AtObj(hDN, 0);
  309. for (let i = 0; i < a.length; i++) {
  310. const hRDN = r.ASN1HEX.getHexOfTLV_AtObj(hDN, a[i]);
  311. s = s + ",/|" + r.X509.hex2rdn(hRDN);
  312. }
  313. return s;
  314. };
  315. /**
  316. * Overwrite DN attribute lookup in jsrasign library with a much more complete version from
  317. * https://github.com/nfephp-org/nfephp/blob/master/libs/Common/Certificate/Oids.php
  318. *
  319. * Various duplicates commented out.
  320. *
  321. * @constant
  322. */
  323. r.X509.DN_ATTRHEX = {
  324. "0603550403" : "commonName",
  325. "0603550404" : "surname",
  326. "0603550406" : "countryName",
  327. "0603550407" : "localityName",
  328. "0603550408" : "stateOrProvinceName",
  329. "0603550409" : "streetAddress",
  330. "060355040a" : "organizationName",
  331. "060355040b" : "organizationalUnitName",
  332. "060355040c" : "title",
  333. "0603550414" : "telephoneNumber",
  334. "060355042a" : "givenName",
  335. // "0603551d0e" : "id-ce-subjectKeyIdentifier",
  336. // "0603551d0f" : "id-ce-keyUsage",
  337. // "0603551d11" : "id-ce-subjectAltName",
  338. // "0603551d13" : "id-ce-basicConstraints",
  339. // "0603551d14" : "id-ce-cRLNumber",
  340. // "0603551d1f" : "id-ce-CRLDistributionPoints",
  341. // "0603551d20" : "id-ce-certificatePolicies",
  342. // "0603551d23" : "id-ce-authorityKeyIdentifier",
  343. // "0603551d25" : "id-ce-extKeyUsage",
  344. // "06032a864886f70d010901" : "Email",
  345. // "06032a864886f70d010101" : "RSAEncryption",
  346. // "06032a864886f70d010102" : "md2WithRSAEncryption",
  347. // "06032a864886f70d010104" : "md5withRSAEncryption",
  348. // "06032a864886f70d010105" : "SHA-1WithRSAEncryption",
  349. // "06032a8648ce380403" : "id-dsa-with-sha-1",
  350. // "06032b06010505070302" : "idKpClientAuth",
  351. // "06032b06010505070304" : "idKpSecurityemail",
  352. "06032b06010505070201" : "idCertificatePolicies",
  353. "06036086480186f8420101" : "netscape-cert-type",
  354. "06036086480186f8420102" : "netscape-base-url",
  355. "06036086480186f8420103" : "netscape-revocation-url",
  356. "06036086480186f8420104" : "netscape-ca-revocation-url",
  357. "06036086480186f8420107" : "netscape-cert-renewal-url",
  358. "06036086480186f8420108" : "netscape-ca-policy-url",
  359. "06036086480186f842010c" : "netscape-ssl-server-name",
  360. "06036086480186f842010d" : "netscape-comment",
  361. "0603604c010201" : "A1",
  362. "0603604c010203" : "A3",
  363. "0603604c01020110" : "Certification Practice Statement pointer",
  364. "0603604c010301" : "Dados do cert parte 1",
  365. "0603604c010305" : "Dados do cert parte 2",
  366. "0603604c010306" : "Dados do cert parte 3",
  367. "06030992268993f22c640119" : "domainComponent",
  368. "06032a24a0f2a07d01010a" : "Signet pilot",
  369. "06032a24a0f2a07d01010b" : "Signet intraNet",
  370. "06032a24a0f2a07d010102" : "Signet personal",
  371. "06032a24a0f2a07d010114" : "Signet securityPolicy",
  372. "06032a24a0f2a07d010103" : "Signet business",
  373. "06032a24a0f2a07d010104" : "Signet legal",
  374. "06032a24a497a35301640101" : "Certificates Australia policyIdentifier",
  375. "06032a85702201" : "seis-cp",
  376. "06032a8570220101" : "SEIS certificatePolicy-s10",
  377. "06032a85702202" : "SEIS pe",
  378. "06032a85702203" : "SEIS at",
  379. "06032a8570220301" : "SEIS at-personalIdentifier",
  380. "06032a8648ce380201" : "holdinstruction-none",
  381. "06032a8648ce380202" : "holdinstruction-callissuer",
  382. "06032a8648ce380203" : "holdinstruction-reject",
  383. "06032a8648ce380401" : "dsa",
  384. "06032a8648ce380403" : "dsaWithSha1",
  385. "06032a8648ce3d01" : "fieldType",
  386. "06032a8648ce3d0101" : "prime-field",
  387. "06032a8648ce3d0102" : "characteristic-two-field",
  388. "06032a8648ce3d010201" : "ecPublicKey",
  389. "06032a8648ce3d010203" : "characteristic-two-basis",
  390. "06032a8648ce3d01020301" : "onBasis",
  391. "06032a8648ce3d01020302" : "tpBasis",
  392. "06032a8648ce3d01020303" : "ppBasis",
  393. "06032a8648ce3d02" : "publicKeyType",
  394. "06032a8648ce3d0201" : "ecPublicKey",
  395. "06032a8648ce3e0201" : "dhPublicNumber",
  396. "06032a864886f67d07" : "nsn",
  397. "06032a864886f67d0741" : "nsn-ce",
  398. "06032a864886f67d074100" : "entrustVersInfo",
  399. "06032a864886f67d0742" : "nsn-alg",
  400. "06032a864886f67d07420a" : "cast5CBC",
  401. "06032a864886f67d07420b" : "cast5MAC",
  402. "06032a864886f67d07420c" : "pbeWithMD5AndCAST5-CBC",
  403. "06032a864886f67d07420d" : "passwordBasedMac",
  404. "06032a864886f67d074203" : "cast3CBC",
  405. "06032a864886f67d0743" : "nsn-oc",
  406. "06032a864886f67d074300" : "entrustUser",
  407. "06032a864886f67d0744" : "nsn-at",
  408. "06032a864886f67d074400" : "entrustCAInfo",
  409. "06032a864886f67d07440a" : "attributeCertificate",
  410. "06032a864886f70d0101" : "pkcs-1",
  411. "06032a864886f70d010101" : "rsaEncryption",
  412. "06032a864886f70d010102" : "md2withRSAEncryption",
  413. "06032a864886f70d010103" : "md4withRSAEncryption",
  414. "06032a864886f70d010104" : "md5withRSAEncryption",
  415. "06032a864886f70d010105" : "sha1withRSAEncryption",
  416. "06032a864886f70d010106" : "rsaOAEPEncryptionSET",
  417. "06032a864886f70d010910020b" : "SMIMEEncryptionKeyPreference",
  418. "06032a864886f70d010c" : "pkcs-12",
  419. "06032a864886f70d010c01" : "pkcs-12-PbeIds",
  420. "06032a864886f70d010c0101" : "pbeWithSHAAnd128BitRC4",
  421. "06032a864886f70d010c0102" : "pbeWithSHAAnd40BitRC4",
  422. "06032a864886f70d010c0103" : "pbeWithSHAAnd3-KeyTripleDES-CBC",
  423. "06032a864886f70d010c0104" : "pbeWithSHAAnd2-KeyTripleDES-CBC",
  424. "06032a864886f70d010c0105" : "pbeWithSHAAnd128BitRC2-CBC",
  425. "06032a864886f70d010c0106" : "pbeWithSHAAnd40BitRC2-CBC",
  426. "06032a864886f70d010c0a" : "pkcs-12Version1",
  427. "06032a864886f70d010c0a01" : "pkcs-12BadIds",
  428. "06032a864886f70d010c0a0101" : "pkcs-12-keyBag",
  429. "06032a864886f70d010c0a0102" : "pkcs-12-pkcs-8ShroudedKeyBag",
  430. "06032a864886f70d010c0a0103" : "pkcs-12-certBag",
  431. "06032a864886f70d010c0a0104" : "pkcs-12-crlBag",
  432. "06032a864886f70d010c0a0105" : "pkcs-12-secretBag",
  433. "06032a864886f70d010c0a0106" : "pkcs-12-safeContentsBag",
  434. "06032a864886f70d010c02" : "pkcs-12-ESPVKID",
  435. "06032a864886f70d010c0201" : "pkcs-12-PKCS8KeyShrouding",
  436. "06032a864886f70d010c03" : "pkcs-12-BagIds",
  437. "06032a864886f70d010c0301" : "pkcs-12-keyBagId",
  438. "06032a864886f70d010c0302" : "pkcs-12-certAndCRLBagId",
  439. "06032a864886f70d010c0303" : "pkcs-12-secretBagId",
  440. "06032a864886f70d010c0304" : "pkcs-12-safeContentsId",
  441. "06032a864886f70d010c0305" : "pkcs-12-pkcs-8ShroudedKeyBagId",
  442. "06032a864886f70d010c04" : "pkcs-12-CertBagID",
  443. "06032a864886f70d010c0401" : "pkcs-12-X509CertCRLBagID",
  444. "06032a864886f70d010c0402" : "pkcs-12-SDSICertBagID",
  445. "06032a864886f70d010c05" : "pkcs-12-OID",
  446. "06032a864886f70d010c0501" : "pkcs-12-PBEID",
  447. "06032a864886f70d010c050101" : "pkcs-12-PBEWithSha1And128BitRC4",
  448. "06032a864886f70d010c050102" : "pkcs-12-PBEWithSha1And40BitRC4",
  449. "06032a864886f70d010c050103" : "pkcs-12-PBEWithSha1AndTripleDESCBC",
  450. "06032a864886f70d010c050104" : "pkcs-12-PBEWithSha1And128BitRC2CBC",
  451. "06032a864886f70d010c050105" : "pkcs-12-PBEWithSha1And40BitRC2CBC",
  452. "06032a864886f70d010c050106" : "pkcs-12-PBEWithSha1AndRC4",
  453. "06032a864886f70d010c050107" : "pkcs-12-PBEWithSha1AndRC2CBC",
  454. "06032a864886f70d010c0502" : "pkcs-12-EnvelopingID",
  455. "06032a864886f70d010c050201" : "pkcs-12-RSAEncryptionWith128BitRC4",
  456. "06032a864886f70d010c050202" : "pkcs-12-RSAEncryptionWith40BitRC4",
  457. "06032a864886f70d010c050203" : "pkcs-12-RSAEncryptionWithTripleDES",
  458. "06032a864886f70d010c0503" : "pkcs-12-SignatureID",
  459. "06032a864886f70d010c050301" : "pkcs-12-RSASignatureWithSHA1Digest",
  460. "06032a864886f70d0103" : "pkcs-3",
  461. "06032a864886f70d010301" : "dhKeyAgreement",
  462. "06032a864886f70d0105" : "pkcs-5",
  463. "06032a864886f70d010501" : "pbeWithMD2AndDES-CBC",
  464. "06032a864886f70d01050a" : "pbeWithSHAAndDES-CBC",
  465. "06032a864886f70d010503" : "pbeWithMD5AndDES-CBC",
  466. "06032a864886f70d010504" : "pbeWithMD2AndRC2-CBC",
  467. "06032a864886f70d010506" : "pbeWithMD5AndRC2-CBC",
  468. "06032a864886f70d010509" : "pbeWithMD5AndXOR",
  469. "06032a864886f70d0107" : "pkcs-7",
  470. "06032a864886f70d010701" : "data",
  471. "06032a864886f70d010702" : "signedData",
  472. "06032a864886f70d010703" : "envelopedData",
  473. "06032a864886f70d010704" : "signedAndEnvelopedData",
  474. "06032a864886f70d010705" : "digestData",
  475. "06032a864886f70d010706" : "encryptedData",
  476. "06032a864886f70d010707" : "dataWithAttributes",
  477. "06032a864886f70d010708" : "encryptedPrivateKeyInfo",
  478. "06032a864886f70d0109" : "pkcs-9",
  479. "06032a864886f70d010901" : "emailAddress",
  480. "06032a864886f70d01090a" : "issuerAndSerialNumber",
  481. "06032a864886f70d01090b" : "passwordCheck",
  482. "06032a864886f70d01090c" : "publicKey",
  483. "06032a864886f70d01090d" : "signingDescription",
  484. "06032a864886f70d01090e" : "extensionReq",
  485. "06032a864886f70d01090f" : "sMIMECapabilities",
  486. "06032a864886f70d01090f01" : "preferSignedData",
  487. "06032a864886f70d01090f02" : "canNotDecryptAny",
  488. "06032a864886f70d01090f03" : "receiptRequest",
  489. "06032a864886f70d01090f04" : "receipt",
  490. "06032a864886f70d01090f05" : "contentHints",
  491. "06032a864886f70d01090f06" : "mlExpansionHistory",
  492. "06032a864886f70d010910" : "id-sMIME",
  493. "06032a864886f70d01091000" : "id-mod",
  494. "06032a864886f70d0109100001" : "id-mod-cms",
  495. "06032a864886f70d0109100002" : "id-mod-ess",
  496. "06032a864886f70d01091001" : "id-ct",
  497. "06032a864886f70d0109100101" : "id-ct-receipt",
  498. "06032a864886f70d01091002" : "id-aa",
  499. "06032a864886f70d0109100201" : "id-aa-receiptRequest",
  500. "06032a864886f70d0109100202" : "id-aa-securityLabel",
  501. "06032a864886f70d0109100203" : "id-aa-mlExpandHistory",
  502. "06032a864886f70d0109100204" : "id-aa-contentHint",
  503. "06032a864886f70d010902" : "unstructuredName",
  504. "06032a864886f70d010914" : "friendlyName",
  505. "06032a864886f70d010915" : "localKeyID",
  506. "06032a864886f70d010916" : "certTypes",
  507. "06032a864886f70d01091601" : "x509Certificate",
  508. "06032a864886f70d01091602" : "sdsiCertificate",
  509. "06032a864886f70d010917" : "crlTypes",
  510. "06032a864886f70d01091701" : "x509Crl",
  511. "06032a864886f70d010903" : "contentType",
  512. "06032a864886f70d010904" : "messageDigest",
  513. "06032a864886f70d010905" : "signingTime",
  514. "06032a864886f70d010906" : "countersignature",
  515. "06032a864886f70d010907" : "challengePassword",
  516. "06032a864886f70d010908" : "unstructuredAddress",
  517. "06032a864886f70d010909" : "extendedCertificateAttributes",
  518. "06032a864886f70d02" : "digestAlgorithm",
  519. "06032a864886f70d0202" : "md2",
  520. "06032a864886f70d0204" : "md4",
  521. "06032a864886f70d0205" : "md5",
  522. "06032a864886f70d03" : "encryptionAlgorithm",
  523. "06032a864886f70d030a" : "desCDMF",
  524. "06032a864886f70d0302" : "rc2CBC",
  525. "06032a864886f70d0303" : "rc2ECB",
  526. "06032a864886f70d0304" : "rc4",
  527. "06032a864886f70d0305" : "rc4WithMAC",
  528. "06032a864886f70d0306" : "DESX-CBC",
  529. "06032a864886f70d0307" : "DES-EDE3-CBC",
  530. "06032a864886f70d0308" : "RC5CBC",
  531. "06032a864886f70d0309" : "RC5-CBCPad",
  532. "06032a864886f7140403" : "microsoftExcel",
  533. "06032a864886f7140404" : "titledWithOID",
  534. "06032a864886f7140405" : "microsoftPowerPoint",
  535. "06032b81051086480954" : "x9-84",
  536. "06032b8105108648095400" : "x9-84-Module",
  537. "06032b810510864809540001" : "x9-84-Biometrics",
  538. "06032b810510864809540002" : "x9-84-CMS",
  539. "06032b810510864809540003" : "x9-84-Identifiers",
  540. "06032b8105108648095401" : "biometric",
  541. "06032b810510864809540100" : "id-unknown-Type",
  542. "06032b810510864809540101" : "id-body-Odor",
  543. "06032b81051086480954010a" : "id-palm",
  544. "06032b81051086480954010b" : "id-retina",
  545. "06032b81051086480954010c" : "id-signature",
  546. "06032b81051086480954010d" : "id-speech-Pattern",
  547. "06032b81051086480954010e" : "id-thermal-Image",
  548. "06032b81051086480954010f" : "id-vein-Pattern",
  549. "06032b810510864809540110" : "id-thermal-Face-Image",
  550. "06032b810510864809540111" : "id-thermal-Hand-Image",
  551. "06032b810510864809540112" : "id-lip-Movement",
  552. "06032b810510864809540113" : "id-gait",
  553. "06032b810510864809540102" : "id-dna",
  554. "06032b810510864809540103" : "id-ear-Shape",
  555. "06032b810510864809540104" : "id-facial-Features",
  556. "06032b810510864809540105" : "id-finger-Image",
  557. "06032b810510864809540106" : "id-finger-Geometry",
  558. "06032b810510864809540107" : "id-hand-Geometry",
  559. "06032b810510864809540108" : "id-iris-Features",
  560. "06032b810510864809540109" : "id-keystroke-Dynamics",
  561. "06032b8105108648095402" : "processing-algorithm",
  562. "06032b8105108648095403" : "matching-method",
  563. "06032b8105108648095404" : "format-Owner",
  564. "06032b810510864809540400" : "cbeff-Owner",
  565. "06032b810510864809540401" : "ibia-Owner",
  566. "06032b81051086480954040101" : "id-ibia-SAFLINK",
  567. "06032b8105108648095404010a" : "id-ibia-SecuGen",
  568. "06032b8105108648095404010b" : "id-ibia-PreciseBiometric",
  569. "06032b8105108648095404010c" : "id-ibia-Identix",
  570. "06032b8105108648095404010d" : "id-ibia-DERMALOG",
  571. "06032b8105108648095404010e" : "id-ibia-LOGICO",
  572. "06032b8105108648095404010f" : "id-ibia-NIST",
  573. "06032b81051086480954040110" : "id-ibia-A3Vision",
  574. "06032b81051086480954040111" : "id-ibia-NEC",
  575. "06032b81051086480954040112" : "id-ibia-STMicroelectronics",
  576. "06032b81051086480954040102" : "id-ibia-Bioscrypt",
  577. "06032b81051086480954040103" : "id-ibia-Visionics",
  578. "06032b81051086480954040104" : "id-ibia-InfineonTechnologiesAG",
  579. "06032b81051086480954040105" : "id-ibia-IridianTechnologies",
  580. "06032b81051086480954040106" : "id-ibia-Veridicom",
  581. "06032b81051086480954040107" : "id-ibia-CyberSIGN",
  582. "06032b81051086480954040108" : "id-ibia-eCryp.",
  583. "06032b81051086480954040109" : "id-ibia-FingerprintCardsAB",
  584. "06032b810510864809540402" : "x9-Owner",
  585. "06032b0e021a05" : "sha",
  586. "06032b0e03020101" : "rsa",
  587. "06032b0e03020a" : "desMAC",
  588. "06032b0e03020b" : "rsaSignature",
  589. "06032b0e03020c" : "dsa",
  590. "06032b0e03020d" : "dsaWithSHA",
  591. "06032b0e03020e" : "mdc2WithRSASignature",
  592. "06032b0e03020f" : "shaWithRSASignature",
  593. "06032b0e030210" : "dhWithCommonModulus",
  594. "06032b0e030211" : "desEDE",
  595. "06032b0e030212" : "sha",
  596. "06032b0e030213" : "mdc-2",
  597. "06032b0e030202" : "md4WitRSA",
  598. "06032b0e03020201" : "sqmod-N",
  599. "06032b0e030214" : "dsaCommon",
  600. "06032b0e030215" : "dsaCommonWithSHA",
  601. "06032b0e030216" : "rsaKeyTransport",
  602. "06032b0e030217" : "keyed-hash-seal",
  603. "06032b0e030218" : "md2WithRSASignature",
  604. "06032b0e030219" : "md5WithRSASignature",
  605. "06032b0e03021a" : "sha1",
  606. "06032b0e03021b" : "dsaWithSHA1",
  607. "06032b0e03021c" : "dsaWithCommonSHA1",
  608. "06032b0e03021d" : "sha-1WithRSAEncryption",
  609. "06032b0e030203" : "md5WithRSA",
  610. "06032b0e03020301" : "sqmod-NwithRSA",
  611. "06032b0e030204" : "md4WithRSAEncryption",
  612. "06032b0e030206" : "desECB",
  613. "06032b0e030207" : "desCBC",
  614. "06032b0e030208" : "desOFB",
  615. "06032b0e030209" : "desCFB",
  616. "06032b0e030301" : "simple-strong-auth-mechanism",
  617. "06032b0e07020101" : "ElGamal",
  618. "06032b0e07020301" : "md2WithRSA",
  619. "06032b0e07020302" : "md2WithElGamal",
  620. "06032b2403" : "algorithm",
  621. "06032b240301" : "encryptionAlgorithm",
  622. "06032b24030101" : "des",
  623. "06032b240301010101" : "desECBPad",
  624. "06032b24030101010101" : "desECBPadISO",
  625. "06032b240301010201" : "desCBCPad",
  626. "06032b24030101020101" : "desCBCPadISO",
  627. "06032b24030102" : "idea",
  628. "06032b2403010201" : "ideaECB",
  629. "06032b240301020101" : "ideaECBPad",
  630. "06032b24030102010101" : "ideaECBPadISO",
  631. "06032b2403010202" : "ideaCBC",
  632. "06032b240301020201" : "ideaCBCPad",
  633. "06032b24030102020101" : "ideaCBCPadISO",
  634. "06032b2403010203" : "ideaOFB",
  635. "06032b2403010204" : "ideaCFB",
  636. "06032b24030103" : "des-3",
  637. "06032b240301030101" : "des-3ECBPad",
  638. "06032b24030103010101" : "des-3ECBPadISO",
  639. "06032b240301030201" : "des-3CBCPad",
  640. "06032b24030103020101" : "des-3CBCPadISO",
  641. "06032b240302" : "hashAlgorithm",
  642. "06032b24030201" : "ripemd160",
  643. "06032b24030202" : "ripemd128",
  644. "06032b24030203" : "ripemd256",
  645. "06032b24030204" : "mdc2singleLength",
  646. "06032b24030205" : "mdc2doubleLength",
  647. "06032b240303" : "signatureAlgorithm",
  648. "06032b24030301" : "rsa",
  649. "06032b2403030101" : "rsaMitSHA-1",
  650. "06032b2403030102" : "rsaMitRIPEMD160",
  651. "06032b24030302" : "ellipticCurve",
  652. "06032b240304" : "signatureScheme",
  653. "06032b24030401" : "iso9796-1",
  654. "06032b2403040201" : "iso9796-2",
  655. "06032b2403040202" : "iso9796-2rsa",
  656. "06032b2404" : "attribute",
  657. "06032b2405" : "policy",
  658. "06032b2406" : "api",
  659. "06032b240601" : "manufacturerSpecific",
  660. "06032b240602" : "functionalitySpecific",
  661. "06032b2407" : "api",
  662. "06032b240701" : "keyAgreement",
  663. "06032b240702" : "keyTransport",
  664. "06032b06010401927c0a0101" : "UNINETT policyIdentifier",
  665. "06032b0601040195180a" : "ICE-TEL policyIdentifier",
  666. "06032b0601040197552001" : "cryptlibEnvelope",
  667. "06032b0601040197552002" : "cryptlibPrivateKey",
  668. "060a2b060104018237" : "Microsoft OID",
  669. "060a2b0601040182370a" : "Crypto 2.0",
  670. "060a2b0601040182370a01" : "certTrustList",
  671. "060a2b0601040182370a0101" : "szOID_SORTED_CTL",
  672. "060a2b0601040182370a0a" : "Microsoft CMC OIDs",
  673. "060a2b0601040182370a0a01" : "szOID_CMC_ADD_ATTRIBUTES",
  674. "060a2b0601040182370a0b" : "Microsoft certificate property OIDs",
  675. "060a2b0601040182370a0b01" : "szOID_CERT_PROP_ID_PREFIX",
  676. "060a2b0601040182370a0c" : "CryptUI",
  677. "060a2b0601040182370a0c01" : "szOID_ANY_APPLICATION_POLICY",
  678. "060a2b0601040182370a02" : "nextUpdateLocation",
  679. "060a2b0601040182370a0301" : "certTrustListSigning",
  680. "060a2b0601040182370a030a" : "szOID_KP_QUALIFIED_SUBORDINATION",
  681. "060a2b0601040182370a030b" : "szOID_KP_KEY_RECOVERY",
  682. "060a2b0601040182370a030c" : "szOID_KP_DOCUMENT_SIGNING",
  683. "060a2b0601040182370a0302" : "timeStampSigning",
  684. "060a2b0601040182370a0303" : "serverGatedCrypto",
  685. "060a2b0601040182370a030301" : "szOID_SERIALIZED",
  686. "060a2b0601040182370a0304" : "encryptedFileSystem",
  687. "060a2b0601040182370a030401" : "szOID_EFS_RECOVERY",
  688. "060a2b0601040182370a0305" : "szOID_WHQL_CRYPTO",
  689. "060a2b0601040182370a0306" : "szOID_NT5_CRYPTO",
  690. "060a2b0601040182370a0307" : "szOID_OEM_WHQL_CRYPTO",
  691. "060a2b0601040182370a0308" : "szOID_EMBEDDED_NT_CRYPTO",
  692. "060a2b0601040182370a0309" : "szOID_ROOT_LIST_SIGNER",
  693. "060a2b0601040182370a0401" : "yesnoTrustAttr",
  694. "060a2b0601040182370a0501" : "szOID_DRM",
  695. "060a2b0601040182370a0502" : "szOID_DRM_INDIVIDUALIZATION",
  696. "060a2b0601040182370a0601" : "szOID_LICENSES",
  697. "060a2b0601040182370a0602" : "szOID_LICENSE_SERVER",
  698. "060a2b0601040182370a07" : "szOID_MICROSOFT_RDN_PREFIX",
  699. "060a2b0601040182370a0701" : "szOID_KEYID_RDN",
  700. "060a2b0601040182370a0801" : "szOID_REMOVE_CERTIFICATE",
  701. "060a2b0601040182370a0901" : "szOID_CROSS_CERT_DIST_POINTS",
  702. "060a2b0601040182370c" : "Catalog",
  703. "060a2b0601040182370c0101" : "szOID_CATALOG_LIST",
  704. "060a2b0601040182370c0102" : "szOID_CATALOG_LIST_MEMBER",
  705. "060a2b0601040182370c0201" : "CAT_NAMEVALUE_OBJID",
  706. "060a2b0601040182370c0202" : "CAT_MEMBERINFO_OBJID",
  707. "060a2b0601040182370d" : "Microsoft PKCS10 OIDs",
  708. "060a2b0601040182370d01" : "szOID_RENEWAL_CERTIFICATE",
  709. "060a2b0601040182370d0201" : "szOID_ENROLLMENT_NAME_VALUE_PAIR",
  710. "060a2b0601040182370d0202" : "szOID_ENROLLMENT_CSP_PROVIDER",
  711. "060a2b0601040182370d0203" : "OS Version",
  712. "060a2b0601040182370f" : "Microsoft Java",
  713. "060a2b06010401823710" : "Microsoft Outlook/Exchange",
  714. "060a2b0601040182371004" : "Outlook Express",
  715. "060a2b06010401823711" : "Microsoft PKCS12 attributes",
  716. "060a2b0601040182371101" : "szOID_LOCAL_MACHINE_KEYSET",
  717. "060a2b06010401823712" : "Microsoft Hydra",
  718. "060a2b06010401823713" : "Microsoft ISPU Test",
  719. "060a2b06010401823702" : "Authenticode",
  720. "060a2b06010401823702010a" : "spcAgencyInfo",
  721. "060a2b06010401823702010b" : "spcStatementType",
  722. "060a2b06010401823702010c" : "spcSpOpusInfo",
  723. "060a2b06010401823702010e" : "certExtensions",
  724. "060a2b06010401823702010f" : "spcPelmageData",
  725. "060a2b060104018237020112" : "SPC_RAW_FILE_DATA_OBJID",
  726. "060a2b060104018237020113" : "SPC_STRUCTURED_STORAGE_DATA_OBJID",
  727. "060a2b060104018237020114" : "spcLink",
  728. "060a2b060104018237020115" : "individualCodeSigning",
  729. "060a2b060104018237020116" : "commercialCodeSigning",
  730. "060a2b060104018237020119" : "spcLink",
  731. "060a2b06010401823702011a" : "spcMinimalCriteriaInfo",
  732. "060a2b06010401823702011b" : "spcFinancialCriteriaInfo",
  733. "060a2b06010401823702011c" : "spcLink",
  734. "060a2b06010401823702011d" : "SPC_HASH_INFO_OBJID",
  735. "060a2b06010401823702011e" : "SPC_SIPINFO_OBJID",
  736. "060a2b060104018237020104" : "spcIndirectDataContext",
  737. "060a2b0601040182370202" : "CTL for Software Publishers Trusted CAs",
  738. "060a2b060104018237020201" : "szOID_TRUSTED_CODESIGNING_CA_LIST",
  739. "060a2b060104018237020202" : "szOID_TRUSTED_CLIENT_AUTH_CA_LIST",
  740. "060a2b060104018237020203" : "szOID_TRUSTED_SERVER_AUTH_CA_LIST",
  741. "060a2b06010401823714" : "Microsoft Enrollment Infrastructure",
  742. "060a2b0601040182371401" : "szOID_AUTO_ENROLL_CTL_USAGE",
  743. "060a2b0601040182371402" : "szOID_ENROLL_CERTTYPE_EXTENSION",
  744. "060a2b060104018237140201" : "szOID_ENROLLMENT_AGENT",
  745. "060a2b060104018237140202" : "szOID_KP_SMARTCARD_LOGON",
  746. "060a2b060104018237140203" : "szOID_NT_PRINCIPAL_NAME",
  747. "060a2b0601040182371403" : "szOID_CERT_MANIFOLD",
  748. "06092b06010401823715" : "Microsoft CertSrv Infrastructure",
  749. "06092b0601040182371501" : "szOID_CERTSRV_CA_VERSION",
  750. "06092b0601040182371514" : "Client Information",
  751. "060a2b06010401823719" : "Microsoft Directory Service",
  752. "060a2b0601040182371901" : "szOID_NTDS_REPLICATION",
  753. "060a2b06010401823703" : "Time Stamping",
  754. "060a2b060104018237030201" : "SPC_TIME_STAMP_REQUEST_OBJID",
  755. "060a2b0601040182371e" : "IIS",
  756. "060a2b0601040182371f" : "Windows updates and service packs",
  757. "060a2b0601040182371f01" : "szOID_PRODUCT_UPDATE",
  758. "060a2b06010401823704" : "Permissions",
  759. "060a2b06010401823728" : "Fonts",
  760. "060a2b06010401823729" : "Microsoft Licensing and Registration",
  761. "060a2b0601040182372a" : "Microsoft Corporate PKI (ITG)",
  762. "060a2b06010401823758" : "CAPICOM",
  763. "060a2b0601040182375801" : "szOID_CAPICOM_VERSION",
  764. "060a2b0601040182375802" : "szOID_CAPICOM_ATTRIBUTE",
  765. "060a2b060104018237580201" : "szOID_CAPICOM_DOCUMENT_NAME",
  766. "060a2b060104018237580202" : "szOID_CAPICOM_DOCUMENT_DESCRIPTION",
  767. "060a2b0601040182375803" : "szOID_CAPICOM_ENCRYPTED_DATA",
  768. "060a2b060104018237580301" : "szOID_CAPICOM_ENCRYPTED_CONTENT",
  769. "06032b0601050507" : "pkix",
  770. "06032b060105050701" : "privateExtension",
  771. "06032b06010505070101" : "authorityInfoAccess",
  772. "06032b06010505070c02" : "CMC Data",
  773. "06032b060105050702" : "policyQualifierIds",
  774. // "06032b06010505070201" : "cps",
  775. "06032b06010505070202" : "unotice",
  776. "06032b060105050703" : "keyPurpose",
  777. "06032b06010505070301" : "serverAuth",
  778. "06032b06010505070302" : "clientAuth",
  779. "06032b06010505070303" : "codeSigning",
  780. "06032b06010505070304" : "emailProtection",
  781. "06032b06010505070305" : "ipsecEndSystem",
  782. "06032b06010505070306" : "ipsecTunnel",
  783. "06032b06010505070307" : "ipsecUser",
  784. "06032b06010505070308" : "timeStamping",
  785. "06032b060105050704" : "cmpInformationTypes",
  786. "06032b06010505070401" : "caProtEncCert",
  787. "06032b06010505070402" : "signKeyPairTypes",
  788. "06032b06010505070403" : "encKeyPairTypes",
  789. "06032b06010505070404" : "preferredSymmAlg",
  790. "06032b06010505070405" : "caKeyUpdateInfo",
  791. "06032b06010505070406" : "currentCRL",
  792. "06032b06010505073001" : "ocsp",
  793. "06032b06010505073002" : "caIssuers",
  794. "06032b06010505080101" : "HMAC-MD5",
  795. "06032b06010505080102" : "HMAC-SHA",
  796. "060360864801650201010a" : "mosaicKeyManagementAlgorithm",
  797. "060360864801650201010b" : "sdnsKMandSigAlgorithm",
  798. "060360864801650201010c" : "mosaicKMandSigAlgorithm",
  799. "060360864801650201010d" : "SuiteASignatureAlgorithm",
  800. "060360864801650201010e" : "SuiteAConfidentialityAlgorithm",
  801. "060360864801650201010f" : "SuiteAIntegrityAlgorithm",
  802. "06036086480186f84201" : "cert-extension",
  803. // "06036086480186f8420101" : "netscape-cert-type",
  804. "06036086480186f842010a" : "EntityLogo",
  805. "06036086480186f842010b" : "UserPicture",
  806. // "06036086480186f842010c" : "netscape-ssl-server-name",
  807. // "06036086480186f842010d" : "netscape-comment",
  808. // "06036086480186f8420102" : "netscape-base-url",
  809. // "06036086480186f8420103" : "netscape-revocation-url",
  810. // "06036086480186f8420104" : "netscape-ca-revocation-url",
  811. // "06036086480186f8420107" : "netscape-cert-renewal-url",
  812. // "06036086480186f8420108" : "netscape-ca-policy-url",
  813. "06036086480186f8420109" : "HomePage-url",
  814. "06036086480186f84202" : "data-type",
  815. "06036086480186f8420201" : "GIF",
  816. "06036086480186f8420202" : "JPEG",
  817. "06036086480186f8420203" : "URL",
  818. "06036086480186f8420204" : "HTML",
  819. "06036086480186f8420205" : "netscape-cert-sequence",
  820. "06036086480186f8420206" : "netscape-cert-url",
  821. "06036086480186f84203" : "directory",
  822. "06036086480186f8420401" : "serverGatedCrypto",
  823. "06036086480186f845010603" : "Unknown Verisign extension",
  824. "06036086480186f845010606" : "Unknown Verisign extension",
  825. "06036086480186f84501070101" : "Verisign certificatePolicy",
  826. "06036086480186f8450107010101" : "Unknown Verisign policy qualifier",
  827. "06036086480186f8450107010102" : "Unknown Verisign policy qualifier",
  828. "0603678105" : "TCPA",
  829. "060367810501" : "tcpaSpecVersion",
  830. "060367810502" : "tcpaAttribute",
  831. "06036781050201" : "tcpaAtTpmManufacturer",
  832. "0603678105020a" : "tcpaAtSecurityQualities",
  833. "0603678105020b" : "tcpaAtTpmProtectionProfile",
  834. "0603678105020c" : "tcpaAtTpmSecurityTarget",
  835. "0603678105020d" : "tcpaAtFoundationProtectionProfile",
  836. "0603678105020e" : "tcpaAtFoundationSecurityTarget",
  837. "0603678105020f" : "tcpaAtTpmIdLabel",
  838. "06036781050202" : "tcpaAtTpmModel",
  839. "06036781050203" : "tcpaAtTpmVersion",
  840. "06036781050204" : "tcpaAtPlatformManufacturer",
  841. "06036781050205" : "tcpaAtPlatformModel",
  842. "06036781050206" : "tcpaAtPlatformVersion",
  843. "06036781050207" : "tcpaAtComponentManufacturer",
  844. "06036781050208" : "tcpaAtComponentModel",
  845. "06036781050209" : "tcpaAtComponentVersion",
  846. "060367810503" : "tcpaProtocol",
  847. "06036781050301" : "tcpaPrttTpmIdProtocol",
  848. "0603672a00" : "contentType",
  849. "0603672a0000" : "PANData",
  850. "0603672a0001" : "PANToken",
  851. "0603672a0002" : "PANOnly",
  852. "0603672a01" : "msgExt",
  853. "0603672a0a" : "national",
  854. "0603672a0a8140" : "Japan",
  855. "0603672a02" : "field",
  856. "0603672a0200" : "fullName",
  857. "0603672a0201" : "givenName",
  858. "0603672a020a" : "amount",
  859. "0603672a0202" : "familyName",
  860. "0603672a0203" : "birthFamilyName",
  861. "0603672a0204" : "placeName",
  862. "0603672a0205" : "identificationNumber",
  863. "0603672a0206" : "month",
  864. "0603672a0207" : "date",
  865. "0603672a02070b" : "accountNumber",
  866. "0603672a02070c" : "passPhrase",
  867. "0603672a0208" : "address",
  868. "0603672a0209" : "telephone",
  869. "0603672a03" : "attribute",
  870. "0603672a0300" : "cert",
  871. "0603672a030000" : "rootKeyThumb",
  872. "0603672a030001" : "additionalPolicy",
  873. "0603672a04" : "algorithm",
  874. "0603672a05" : "policy",
  875. "0603672a0500" : "root",
  876. "0603672a06" : "module",
  877. "0603672a07" : "certExt",
  878. "0603672a0700" : "hashedRootKey",
  879. "0603672a0701" : "certificateType",
  880. "0603672a0702" : "merchantData",
  881. "0603672a0703" : "cardCertRequired",
  882. "0603672a0704" : "tunneling",
  883. "0603672a0705" : "setExtensions",
  884. "0603672a0706" : "setQualifier",
  885. "0603672a08" : "brand",
  886. "0603672a0801" : "IATA-ATA",
  887. "0603672a081e" : "Diners",
  888. "0603672a0822" : "AmericanExpress",
  889. "0603672a0804" : "VISA",
  890. "0603672a0805" : "MasterCard",
  891. "0603672a08ae7b" : "Novus",
  892. "0603672a09" : "vendor",
  893. "0603672a0900" : "GlobeSet",
  894. "0603672a0901" : "IBM",
  895. "0603672a090a" : "Griffin",
  896. "0603672a090b" : "Certicom",
  897. "0603672a090c" : "OSS",
  898. "0603672a090d" : "TenthMountain",
  899. "0603672a090e" : "Antares",
  900. "0603672a090f" : "ECC",
  901. "0603672a0910" : "Maithean",
  902. "0603672a0911" : "Netscape",
  903. "0603672a0912" : "Verisign",
  904. "0603672a0913" : "BlueMoney",
  905. "0603672a0902" : "CyberCash",
  906. "0603672a0914" : "Lacerte",
  907. "0603672a0915" : "Fujitsu",
  908. "0603672a0916" : "eLab",
  909. "0603672a0917" : "Entrust",
  910. "0603672a0918" : "VIAnet",
  911. "0603672a0919" : "III",
  912. "0603672a091a" : "OpenMarket",
  913. "0603672a091b" : "Lexem",
  914. "0603672a091c" : "Intertrader",
  915. "0603672a091d" : "Persimmon",
  916. "0603672a0903" : "Terisa",
  917. "0603672a091e" : "NABLE",
  918. "0603672a091f" : "espace-net",
  919. "0603672a0920" : "Hitachi",
  920. "0603672a0921" : "Microsoft",
  921. "0603672a0922" : "NEC",
  922. "0603672a0923" : "Mitsubishi",
  923. "0603672a0924" : "NCR",
  924. "0603672a0925" : "e-COMM",
  925. "0603672a0926" : "Gemplus",
  926. "0603672a0904" : "RSADSI",
  927. "0603672a0905" : "VeriFone",
  928. "0603672a0906" : "TrinTech",
  929. "0603672a0907" : "BankGate",
  930. "0603672a0908" : "GTE",
  931. "0603672a0909" : "CompuSource",
  932. "0603551d01" : "authorityKeyIdentifier",
  933. "0603551d0a" : "basicConstraints",
  934. "0603551d0b" : "nameConstraints",
  935. "0603551d0c" : "policyConstraints",
  936. "0603551d0d" : "basicConstraints",
  937. "0603551d0e" : "subjectKeyIdentifier",
  938. "0603551d0f" : "keyUsage",
  939. "0603551d10" : "privateKeyUsagePeriod",
  940. "0603551d11" : "subjectAltName",
  941. "0603551d12" : "issuerAltName",
  942. "0603551d13" : "basicConstraints",
  943. "0603551d02" : "keyAttributes",
  944. "0603551d14" : "cRLNumber",
  945. "0603551d15" : "cRLReason",
  946. "0603551d16" : "expirationDate",
  947. "0603551d17" : "instructionCode",
  948. "0603551d18" : "invalidityDate",
  949. "0603551d1a" : "issuingDistributionPoint",
  950. "0603551d1b" : "deltaCRLIndicator",
  951. "0603551d1c" : "issuingDistributionPoint",
  952. "0603551d1d" : "certificateIssuer",
  953. "0603551d03" : "certificatePolicies",
  954. "0603551d1e" : "nameConstraints",
  955. "0603551d1f" : "cRLDistributionPoints",
  956. "0603551d20" : "certificatePolicies",
  957. "0603551d21" : "policyMappings",
  958. "0603551d22" : "policyConstraints",
  959. "0603551d23" : "authorityKeyIdentifier",
  960. "0603551d24" : "policyConstraints",
  961. "0603551d25" : "extKeyUsage",
  962. "0603551d04" : "keyUsageRestriction",
  963. "0603551d05" : "policyMapping",
  964. "0603551d06" : "subtreesConstraint",
  965. "0603551d07" : "subjectAltName",
  966. "0603551d08" : "issuerAltName",
  967. "0603551d09" : "subjectDirectoryAttributes",
  968. "0603550400" : "objectClass",
  969. "0603550401" : "aliasObjectName",
  970. // "060355040c" : "title",
  971. "060355040d" : "description",
  972. "060355040e" : "searchGuide",
  973. "060355040f" : "businessCategory",
  974. "0603550410" : "postalAddress",
  975. "0603550411" : "postalCode",
  976. "0603550412" : "postOfficeBox",
  977. "0603550413" : "physicalDeliveryOfficeName",
  978. "0603550402" : "knowledgeInformation",
  979. // "0603550414" : "telephoneNumber",
  980. "0603550415" : "telexNumber",
  981. "0603550416" : "teletexTerminalIdentifier",
  982. "0603550417" : "facsimileTelephoneNumber",
  983. "0603550418" : "x121Address",
  984. "0603550419" : "internationalISDNNumber",
  985. "060355041a" : "registeredAddress",
  986. "060355041b" : "destinationIndicator",
  987. "060355041c" : "preferredDeliveryMehtod",
  988. "060355041d" : "presentationAddress",
  989. "060355041e" : "supportedApplicationContext",
  990. "060355041f" : "member",
  991. "0603550420" : "owner",
  992. "0603550421" : "roleOccupant",
  993. "0603550422" : "seeAlso",
  994. "0603550423" : "userPassword",
  995. "0603550424" : "userCertificate",
  996. "0603550425" : "caCertificate",
  997. "0603550426" : "authorityRevocationList",
  998. "0603550427" : "certificateRevocationList",
  999. "0603550428" : "crossCertificatePair",
  1000. "0603550429" : "givenName",
  1001. // "060355042a" : "givenName",
  1002. "0603550405" : "serialNumber",
  1003. "0603550434" : "supportedAlgorithms",
  1004. "0603550435" : "deltaRevocationList",
  1005. "060355043a" : "crossCertificatePair",
  1006. // "0603550409" : "streetAddress",
  1007. "06035508" : "X.500-Algorithms",
  1008. "0603550801" : "X.500-Alg-Encryption",
  1009. "060355080101" : "rsa",
  1010. "0603604c0101" : "DPC"
  1011. };