PublicKey.js 42 KB

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