PublicKey.js 42 KB

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