PageRenderTime 39ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/gecko_api/include/secoidt.h

http://firefox-mac-pdf.googlecode.com/
C Header | 476 lines | 334 code | 54 blank | 88 comment | 0 complexity | 52623cb66be50f945da311abc742825a MD5 | raw file
  1. /* ***** BEGIN LICENSE BLOCK *****
  2. * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3. *
  4. * The contents of this file are subject to the Mozilla Public License Version
  5. * 1.1 (the "License"); you may not use this file except in compliance with
  6. * the License. You may obtain a copy of the License at
  7. * http://www.mozilla.org/MPL/
  8. *
  9. * Software distributed under the License is distributed on an "AS IS" basis,
  10. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11. * for the specific language governing rights and limitations under the
  12. * License.
  13. *
  14. * The Original Code is the Netscape security libraries.
  15. *
  16. * The Initial Developer of the Original Code is
  17. * Netscape Communications Corporation.
  18. * Portions created by the Initial Developer are Copyright (C) 1994-2000
  19. * the Initial Developer. All Rights Reserved.
  20. *
  21. * Contributor(s):
  22. * Dr Vipul Gupta <vipul.gupta@sun.com>, Sun Microsystems Laboratories
  23. *
  24. * Alternatively, the contents of this file may be used under the terms of
  25. * either the GNU General Public License Version 2 or later (the "GPL"), or
  26. * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27. * in which case the provisions of the GPL or the LGPL are applicable instead
  28. * of those above. If you wish to allow use of your version of this file only
  29. * under the terms of either the GPL or the LGPL, and not to allow others to
  30. * use your version of this file under the terms of the MPL, indicate your
  31. * decision by deleting the provisions above and replace them with the notice
  32. * and other provisions required by the GPL or the LGPL. If you do not delete
  33. * the provisions above, a recipient may use your version of this file under
  34. * the terms of any one of the MPL, the GPL or the LGPL.
  35. *
  36. * ***** END LICENSE BLOCK ***** */
  37. #ifndef _SECOIDT_H_
  38. #define _SECOIDT_H_
  39. #include "utilrename.h"
  40. /*
  41. * secoidt.h - public data structures for ASN.1 OID functions
  42. *
  43. * $Id: secoidt.h,v 1.27 2008/02/28 04:27:30 nelson%bolyard.com Exp $
  44. */
  45. #include "secitem.h"
  46. typedef struct SECOidDataStr SECOidData;
  47. typedef struct SECAlgorithmIDStr SECAlgorithmID;
  48. /*
  49. ** An X.500 algorithm identifier
  50. */
  51. struct SECAlgorithmIDStr {
  52. SECItem algorithm;
  53. SECItem parameters;
  54. };
  55. /*
  56. * Misc object IDs - these numbers are for convenient handling.
  57. * They are mapped into real object IDs
  58. *
  59. * NOTE: the order of these entries must mach the array "oids" of SECOidData
  60. * in util/secoid.c.
  61. */
  62. typedef enum {
  63. SEC_OID_UNKNOWN = 0,
  64. SEC_OID_MD2 = 1,
  65. SEC_OID_MD4 = 2,
  66. SEC_OID_MD5 = 3,
  67. SEC_OID_SHA1 = 4,
  68. SEC_OID_RC2_CBC = 5,
  69. SEC_OID_RC4 = 6,
  70. SEC_OID_DES_EDE3_CBC = 7,
  71. SEC_OID_RC5_CBC_PAD = 8,
  72. SEC_OID_DES_ECB = 9,
  73. SEC_OID_DES_CBC = 10,
  74. SEC_OID_DES_OFB = 11,
  75. SEC_OID_DES_CFB = 12,
  76. SEC_OID_DES_MAC = 13,
  77. SEC_OID_DES_EDE = 14,
  78. SEC_OID_ISO_SHA_WITH_RSA_SIGNATURE = 15,
  79. SEC_OID_PKCS1_RSA_ENCRYPTION = 16,
  80. SEC_OID_PKCS1_MD2_WITH_RSA_ENCRYPTION = 17,
  81. SEC_OID_PKCS1_MD4_WITH_RSA_ENCRYPTION = 18,
  82. SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION = 19,
  83. SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION = 20,
  84. SEC_OID_PKCS5_PBE_WITH_MD2_AND_DES_CBC = 21,
  85. SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC = 22,
  86. SEC_OID_PKCS5_PBE_WITH_SHA1_AND_DES_CBC = 23,
  87. SEC_OID_PKCS7 = 24,
  88. SEC_OID_PKCS7_DATA = 25,
  89. SEC_OID_PKCS7_SIGNED_DATA = 26,
  90. SEC_OID_PKCS7_ENVELOPED_DATA = 27,
  91. SEC_OID_PKCS7_SIGNED_ENVELOPED_DATA = 28,
  92. SEC_OID_PKCS7_DIGESTED_DATA = 29,
  93. SEC_OID_PKCS7_ENCRYPTED_DATA = 30,
  94. SEC_OID_PKCS9_EMAIL_ADDRESS = 31,
  95. SEC_OID_PKCS9_UNSTRUCTURED_NAME = 32,
  96. SEC_OID_PKCS9_CONTENT_TYPE = 33,
  97. SEC_OID_PKCS9_MESSAGE_DIGEST = 34,
  98. SEC_OID_PKCS9_SIGNING_TIME = 35,
  99. SEC_OID_PKCS9_COUNTER_SIGNATURE = 36,
  100. SEC_OID_PKCS9_CHALLENGE_PASSWORD = 37,
  101. SEC_OID_PKCS9_UNSTRUCTURED_ADDRESS = 38,
  102. SEC_OID_PKCS9_EXTENDED_CERTIFICATE_ATTRIBUTES = 39,
  103. SEC_OID_PKCS9_SMIME_CAPABILITIES = 40,
  104. SEC_OID_AVA_COMMON_NAME = 41,
  105. SEC_OID_AVA_COUNTRY_NAME = 42,
  106. SEC_OID_AVA_LOCALITY = 43,
  107. SEC_OID_AVA_STATE_OR_PROVINCE = 44,
  108. SEC_OID_AVA_ORGANIZATION_NAME = 45,
  109. SEC_OID_AVA_ORGANIZATIONAL_UNIT_NAME = 46,
  110. SEC_OID_AVA_DN_QUALIFIER = 47,
  111. SEC_OID_AVA_DC = 48,
  112. SEC_OID_NS_TYPE_GIF = 49,
  113. SEC_OID_NS_TYPE_JPEG = 50,
  114. SEC_OID_NS_TYPE_URL = 51,
  115. SEC_OID_NS_TYPE_HTML = 52,
  116. SEC_OID_NS_TYPE_CERT_SEQUENCE = 53,
  117. SEC_OID_MISSI_KEA_DSS_OLD = 54,
  118. SEC_OID_MISSI_DSS_OLD = 55,
  119. SEC_OID_MISSI_KEA_DSS = 56,
  120. SEC_OID_MISSI_DSS = 57,
  121. SEC_OID_MISSI_KEA = 58,
  122. SEC_OID_MISSI_ALT_KEA = 59,
  123. /* Netscape private certificate extensions */
  124. SEC_OID_NS_CERT_EXT_NETSCAPE_OK = 60,
  125. SEC_OID_NS_CERT_EXT_ISSUER_LOGO = 61,
  126. SEC_OID_NS_CERT_EXT_SUBJECT_LOGO = 62,
  127. SEC_OID_NS_CERT_EXT_CERT_TYPE = 63,
  128. SEC_OID_NS_CERT_EXT_BASE_URL = 64,
  129. SEC_OID_NS_CERT_EXT_REVOCATION_URL = 65,
  130. SEC_OID_NS_CERT_EXT_CA_REVOCATION_URL = 66,
  131. SEC_OID_NS_CERT_EXT_CA_CRL_URL = 67,
  132. SEC_OID_NS_CERT_EXT_CA_CERT_URL = 68,
  133. SEC_OID_NS_CERT_EXT_CERT_RENEWAL_URL = 69,
  134. SEC_OID_NS_CERT_EXT_CA_POLICY_URL = 70,
  135. SEC_OID_NS_CERT_EXT_HOMEPAGE_URL = 71,
  136. SEC_OID_NS_CERT_EXT_ENTITY_LOGO = 72,
  137. SEC_OID_NS_CERT_EXT_USER_PICTURE = 73,
  138. SEC_OID_NS_CERT_EXT_SSL_SERVER_NAME = 74,
  139. SEC_OID_NS_CERT_EXT_COMMENT = 75,
  140. SEC_OID_NS_CERT_EXT_LOST_PASSWORD_URL = 76,
  141. SEC_OID_NS_CERT_EXT_CERT_RENEWAL_TIME = 77,
  142. SEC_OID_NS_KEY_USAGE_GOVT_APPROVED = 78,
  143. /* x.509 v3 Extensions */
  144. SEC_OID_X509_SUBJECT_DIRECTORY_ATTR = 79,
  145. SEC_OID_X509_SUBJECT_KEY_ID = 80,
  146. SEC_OID_X509_KEY_USAGE = 81,
  147. SEC_OID_X509_PRIVATE_KEY_USAGE_PERIOD = 82,
  148. SEC_OID_X509_SUBJECT_ALT_NAME = 83,
  149. SEC_OID_X509_ISSUER_ALT_NAME = 84,
  150. SEC_OID_X509_BASIC_CONSTRAINTS = 85,
  151. SEC_OID_X509_NAME_CONSTRAINTS = 86,
  152. SEC_OID_X509_CRL_DIST_POINTS = 87,
  153. SEC_OID_X509_CERTIFICATE_POLICIES = 88,
  154. SEC_OID_X509_POLICY_MAPPINGS = 89,
  155. SEC_OID_X509_POLICY_CONSTRAINTS = 90,
  156. SEC_OID_X509_AUTH_KEY_ID = 91,
  157. SEC_OID_X509_EXT_KEY_USAGE = 92,
  158. SEC_OID_X509_AUTH_INFO_ACCESS = 93,
  159. SEC_OID_X509_CRL_NUMBER = 94,
  160. SEC_OID_X509_REASON_CODE = 95,
  161. SEC_OID_X509_INVALID_DATE = 96,
  162. /* End of x.509 v3 Extensions */
  163. SEC_OID_X500_RSA_ENCRYPTION = 97,
  164. /* alg 1485 additions */
  165. SEC_OID_RFC1274_UID = 98,
  166. SEC_OID_RFC1274_MAIL = 99,
  167. /* PKCS 12 additions */
  168. SEC_OID_PKCS12 = 100,
  169. SEC_OID_PKCS12_MODE_IDS = 101,
  170. SEC_OID_PKCS12_ESPVK_IDS = 102,
  171. SEC_OID_PKCS12_BAG_IDS = 103,
  172. SEC_OID_PKCS12_CERT_BAG_IDS = 104,
  173. SEC_OID_PKCS12_OIDS = 105,
  174. SEC_OID_PKCS12_PBE_IDS = 106,
  175. SEC_OID_PKCS12_SIGNATURE_IDS = 107,
  176. SEC_OID_PKCS12_ENVELOPING_IDS = 108,
  177. /* SEC_OID_PKCS12_OFFLINE_TRANSPORT_MODE,
  178. SEC_OID_PKCS12_ONLINE_TRANSPORT_MODE, */
  179. SEC_OID_PKCS12_PKCS8_KEY_SHROUDING = 109,
  180. SEC_OID_PKCS12_KEY_BAG_ID = 110,
  181. SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID = 111,
  182. SEC_OID_PKCS12_SECRET_BAG_ID = 112,
  183. SEC_OID_PKCS12_X509_CERT_CRL_BAG = 113,
  184. SEC_OID_PKCS12_SDSI_CERT_BAG = 114,
  185. SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC4 = 115,
  186. SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC4 = 116,
  187. SEC_OID_PKCS12_PBE_WITH_SHA1_AND_TRIPLE_DES_CBC = 117,
  188. SEC_OID_PKCS12_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 118,
  189. SEC_OID_PKCS12_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 119,
  190. SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_128_BIT_RC4 = 120,
  191. SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_40_BIT_RC4 = 121,
  192. SEC_OID_PKCS12_RSA_ENCRYPTION_WITH_TRIPLE_DES = 122,
  193. SEC_OID_PKCS12_RSA_SIGNATURE_WITH_SHA1_DIGEST = 123,
  194. /* end of PKCS 12 additions */
  195. /* DSA signatures */
  196. SEC_OID_ANSIX9_DSA_SIGNATURE = 124,
  197. SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST = 125,
  198. SEC_OID_BOGUS_DSA_SIGNATURE_WITH_SHA1_DIGEST = 126,
  199. /* Verisign OIDs */
  200. SEC_OID_VERISIGN_USER_NOTICES = 127,
  201. /* PKIX OIDs */
  202. SEC_OID_PKIX_CPS_POINTER_QUALIFIER = 128,
  203. SEC_OID_PKIX_USER_NOTICE_QUALIFIER = 129,
  204. SEC_OID_PKIX_OCSP = 130,
  205. SEC_OID_PKIX_OCSP_BASIC_RESPONSE = 131,
  206. SEC_OID_PKIX_OCSP_NONCE = 132,
  207. SEC_OID_PKIX_OCSP_CRL = 133,
  208. SEC_OID_PKIX_OCSP_RESPONSE = 134,
  209. SEC_OID_PKIX_OCSP_NO_CHECK = 135,
  210. SEC_OID_PKIX_OCSP_ARCHIVE_CUTOFF = 136,
  211. SEC_OID_PKIX_OCSP_SERVICE_LOCATOR = 137,
  212. SEC_OID_PKIX_REGCTRL_REGTOKEN = 138,
  213. SEC_OID_PKIX_REGCTRL_AUTHENTICATOR = 139,
  214. SEC_OID_PKIX_REGCTRL_PKIPUBINFO = 140,
  215. SEC_OID_PKIX_REGCTRL_PKI_ARCH_OPTIONS = 141,
  216. SEC_OID_PKIX_REGCTRL_OLD_CERT_ID = 142,
  217. SEC_OID_PKIX_REGCTRL_PROTOCOL_ENC_KEY = 143,
  218. SEC_OID_PKIX_REGINFO_UTF8_PAIRS = 144,
  219. SEC_OID_PKIX_REGINFO_CERT_REQUEST = 145,
  220. SEC_OID_EXT_KEY_USAGE_SERVER_AUTH = 146,
  221. SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH = 147,
  222. SEC_OID_EXT_KEY_USAGE_CODE_SIGN = 148,
  223. SEC_OID_EXT_KEY_USAGE_EMAIL_PROTECT = 149,
  224. SEC_OID_EXT_KEY_USAGE_TIME_STAMP = 150,
  225. SEC_OID_OCSP_RESPONDER = 151,
  226. /* Netscape Algorithm OIDs */
  227. SEC_OID_NETSCAPE_SMIME_KEA = 152,
  228. /* Skipjack OID -- ### mwelch temporary */
  229. SEC_OID_FORTEZZA_SKIPJACK = 153,
  230. /* PKCS 12 V2 oids */
  231. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC4 = 154,
  232. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC4 = 155,
  233. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_3KEY_TRIPLE_DES_CBC = 156,
  234. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_2KEY_TRIPLE_DES_CBC = 157,
  235. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_128_BIT_RC2_CBC = 158,
  236. SEC_OID_PKCS12_V2_PBE_WITH_SHA1_AND_40_BIT_RC2_CBC = 159,
  237. SEC_OID_PKCS12_SAFE_CONTENTS_ID = 160,
  238. SEC_OID_PKCS12_PKCS8_SHROUDED_KEY_BAG_ID = 161,
  239. SEC_OID_PKCS12_V1_KEY_BAG_ID = 162,
  240. SEC_OID_PKCS12_V1_PKCS8_SHROUDED_KEY_BAG_ID = 163,
  241. SEC_OID_PKCS12_V1_CERT_BAG_ID = 164,
  242. SEC_OID_PKCS12_V1_CRL_BAG_ID = 165,
  243. SEC_OID_PKCS12_V1_SECRET_BAG_ID = 166,
  244. SEC_OID_PKCS12_V1_SAFE_CONTENTS_BAG_ID = 167,
  245. SEC_OID_PKCS9_X509_CERT = 168,
  246. SEC_OID_PKCS9_SDSI_CERT = 169,
  247. SEC_OID_PKCS9_X509_CRL = 170,
  248. SEC_OID_PKCS9_FRIENDLY_NAME = 171,
  249. SEC_OID_PKCS9_LOCAL_KEY_ID = 172,
  250. SEC_OID_BOGUS_KEY_USAGE = 173,
  251. /*Diffe Helman OIDS */
  252. SEC_OID_X942_DIFFIE_HELMAN_KEY = 174,
  253. /* Netscape other name types */
  254. SEC_OID_NETSCAPE_NICKNAME = 175,
  255. /* Cert Server OIDS */
  256. SEC_OID_NETSCAPE_RECOVERY_REQUEST = 176,
  257. /* New PSM certificate management OIDs */
  258. SEC_OID_CERT_RENEWAL_LOCATOR = 177,
  259. SEC_OID_NS_CERT_EXT_SCOPE_OF_USE = 178,
  260. /* CMS (RFC2630) OIDs */
  261. SEC_OID_CMS_EPHEMERAL_STATIC_DIFFIE_HELLMAN = 179,
  262. SEC_OID_CMS_3DES_KEY_WRAP = 180,
  263. SEC_OID_CMS_RC2_KEY_WRAP = 181,
  264. /* SMIME attributes */
  265. SEC_OID_SMIME_ENCRYPTION_KEY_PREFERENCE = 182,
  266. /* AES OIDs */
  267. SEC_OID_AES_128_ECB = 183,
  268. SEC_OID_AES_128_CBC = 184,
  269. SEC_OID_AES_192_ECB = 185,
  270. SEC_OID_AES_192_CBC = 186,
  271. SEC_OID_AES_256_ECB = 187,
  272. SEC_OID_AES_256_CBC = 188,
  273. SEC_OID_SDN702_DSA_SIGNATURE = 189,
  274. SEC_OID_MS_SMIME_ENCRYPTION_KEY_PREFERENCE = 190,
  275. SEC_OID_SHA256 = 191,
  276. SEC_OID_SHA384 = 192,
  277. SEC_OID_SHA512 = 193,
  278. SEC_OID_PKCS1_SHA256_WITH_RSA_ENCRYPTION = 194,
  279. SEC_OID_PKCS1_SHA384_WITH_RSA_ENCRYPTION = 195,
  280. SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION = 196,
  281. SEC_OID_AES_128_KEY_WRAP = 197,
  282. SEC_OID_AES_192_KEY_WRAP = 198,
  283. SEC_OID_AES_256_KEY_WRAP = 199,
  284. /* Elliptic Curve Cryptography (ECC) OIDs */
  285. SEC_OID_ANSIX962_EC_PUBLIC_KEY = 200,
  286. SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE = 201,
  287. #define SEC_OID_ANSIX962_ECDSA_SIGNATURE_WITH_SHA1_DIGEST \
  288. SEC_OID_ANSIX962_ECDSA_SHA1_SIGNATURE
  289. /* ANSI X9.62 named elliptic curves (prime field) */
  290. SEC_OID_ANSIX962_EC_PRIME192V1 = 202,
  291. SEC_OID_ANSIX962_EC_PRIME192V2 = 203,
  292. SEC_OID_ANSIX962_EC_PRIME192V3 = 204,
  293. SEC_OID_ANSIX962_EC_PRIME239V1 = 205,
  294. SEC_OID_ANSIX962_EC_PRIME239V2 = 206,
  295. SEC_OID_ANSIX962_EC_PRIME239V3 = 207,
  296. SEC_OID_ANSIX962_EC_PRIME256V1 = 208,
  297. /* SECG named elliptic curves (prime field) */
  298. SEC_OID_SECG_EC_SECP112R1 = 209,
  299. SEC_OID_SECG_EC_SECP112R2 = 210,
  300. SEC_OID_SECG_EC_SECP128R1 = 211,
  301. SEC_OID_SECG_EC_SECP128R2 = 212,
  302. SEC_OID_SECG_EC_SECP160K1 = 213,
  303. SEC_OID_SECG_EC_SECP160R1 = 214,
  304. SEC_OID_SECG_EC_SECP160R2 = 215,
  305. SEC_OID_SECG_EC_SECP192K1 = 216,
  306. /* SEC_OID_SECG_EC_SECP192R1 is SEC_OID_ANSIX962_EC_PRIME192V1 */
  307. SEC_OID_SECG_EC_SECP224K1 = 217,
  308. SEC_OID_SECG_EC_SECP224R1 = 218,
  309. SEC_OID_SECG_EC_SECP256K1 = 219,
  310. /* SEC_OID_SECG_EC_SECP256R1 is SEC_OID_ANSIX962_EC_PRIME256V1 */
  311. SEC_OID_SECG_EC_SECP384R1 = 220,
  312. SEC_OID_SECG_EC_SECP521R1 = 221,
  313. /* ANSI X9.62 named elliptic curves (characteristic two field) */
  314. SEC_OID_ANSIX962_EC_C2PNB163V1 = 222,
  315. SEC_OID_ANSIX962_EC_C2PNB163V2 = 223,
  316. SEC_OID_ANSIX962_EC_C2PNB163V3 = 224,
  317. SEC_OID_ANSIX962_EC_C2PNB176V1 = 225,
  318. SEC_OID_ANSIX962_EC_C2TNB191V1 = 226,
  319. SEC_OID_ANSIX962_EC_C2TNB191V2 = 227,
  320. SEC_OID_ANSIX962_EC_C2TNB191V3 = 228,
  321. SEC_OID_ANSIX962_EC_C2ONB191V4 = 229,
  322. SEC_OID_ANSIX962_EC_C2ONB191V5 = 230,
  323. SEC_OID_ANSIX962_EC_C2PNB208W1 = 231,
  324. SEC_OID_ANSIX962_EC_C2TNB239V1 = 232,
  325. SEC_OID_ANSIX962_EC_C2TNB239V2 = 233,
  326. SEC_OID_ANSIX962_EC_C2TNB239V3 = 234,
  327. SEC_OID_ANSIX962_EC_C2ONB239V4 = 235,
  328. SEC_OID_ANSIX962_EC_C2ONB239V5 = 236,
  329. SEC_OID_ANSIX962_EC_C2PNB272W1 = 237,
  330. SEC_OID_ANSIX962_EC_C2PNB304W1 = 238,
  331. SEC_OID_ANSIX962_EC_C2TNB359V1 = 239,
  332. SEC_OID_ANSIX962_EC_C2PNB368W1 = 240,
  333. SEC_OID_ANSIX962_EC_C2TNB431R1 = 241,
  334. /* SECG named elliptic curves (characteristic two field) */
  335. SEC_OID_SECG_EC_SECT113R1 = 242,
  336. SEC_OID_SECG_EC_SECT113R2 = 243,
  337. SEC_OID_SECG_EC_SECT131R1 = 244,
  338. SEC_OID_SECG_EC_SECT131R2 = 245,
  339. SEC_OID_SECG_EC_SECT163K1 = 246,
  340. SEC_OID_SECG_EC_SECT163R1 = 247,
  341. SEC_OID_SECG_EC_SECT163R2 = 248,
  342. SEC_OID_SECG_EC_SECT193R1 = 249,
  343. SEC_OID_SECG_EC_SECT193R2 = 250,
  344. SEC_OID_SECG_EC_SECT233K1 = 251,
  345. SEC_OID_SECG_EC_SECT233R1 = 252,
  346. SEC_OID_SECG_EC_SECT239K1 = 253,
  347. SEC_OID_SECG_EC_SECT283K1 = 254,
  348. SEC_OID_SECG_EC_SECT283R1 = 255,
  349. SEC_OID_SECG_EC_SECT409K1 = 256,
  350. SEC_OID_SECG_EC_SECT409R1 = 257,
  351. SEC_OID_SECG_EC_SECT571K1 = 258,
  352. SEC_OID_SECG_EC_SECT571R1 = 259,
  353. SEC_OID_NETSCAPE_AOLSCREENNAME = 260,
  354. SEC_OID_AVA_SURNAME = 261,
  355. SEC_OID_AVA_SERIAL_NUMBER = 262,
  356. SEC_OID_AVA_STREET_ADDRESS = 263,
  357. SEC_OID_AVA_TITLE = 264,
  358. SEC_OID_AVA_POSTAL_ADDRESS = 265,
  359. SEC_OID_AVA_POSTAL_CODE = 266,
  360. SEC_OID_AVA_POST_OFFICE_BOX = 267,
  361. SEC_OID_AVA_GIVEN_NAME = 268,
  362. SEC_OID_AVA_INITIALS = 269,
  363. SEC_OID_AVA_GENERATION_QUALIFIER = 270,
  364. SEC_OID_AVA_HOUSE_IDENTIFIER = 271,
  365. SEC_OID_AVA_PSEUDONYM = 272,
  366. /* More OIDs */
  367. SEC_OID_PKIX_CA_ISSUERS = 273,
  368. SEC_OID_PKCS9_EXTENSION_REQUEST = 274,
  369. /* new EC Signature oids */
  370. SEC_OID_ANSIX962_ECDSA_SIGNATURE_RECOMMENDED_DIGEST = 275,
  371. SEC_OID_ANSIX962_ECDSA_SIGNATURE_SPECIFIED_DIGEST = 276,
  372. SEC_OID_ANSIX962_ECDSA_SHA224_SIGNATURE = 277,
  373. SEC_OID_ANSIX962_ECDSA_SHA256_SIGNATURE = 278,
  374. SEC_OID_ANSIX962_ECDSA_SHA384_SIGNATURE = 279,
  375. SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE = 280,
  376. /* More id-ce and id-pe OIDs from RFC 3280 */
  377. SEC_OID_X509_HOLD_INSTRUCTION_CODE = 281,
  378. SEC_OID_X509_DELTA_CRL_INDICATOR = 282,
  379. SEC_OID_X509_ISSUING_DISTRIBUTION_POINT = 283,
  380. SEC_OID_X509_CERT_ISSUER = 284,
  381. SEC_OID_X509_FRESHEST_CRL = 285,
  382. SEC_OID_X509_INHIBIT_ANY_POLICY = 286,
  383. SEC_OID_X509_SUBJECT_INFO_ACCESS = 287,
  384. /* Camellia OIDs (RFC3657)*/
  385. SEC_OID_CAMELLIA_128_CBC = 288,
  386. SEC_OID_CAMELLIA_192_CBC = 289,
  387. SEC_OID_CAMELLIA_256_CBC = 290,
  388. /* PKCS 5 V2 OIDS */
  389. SEC_OID_PKCS5_PBKDF2 = 291,
  390. SEC_OID_PKCS5_PBES2 = 292,
  391. SEC_OID_PKCS5_PBMAC1 = 293,
  392. SEC_OID_HMAC_SHA1 = 294,
  393. SEC_OID_HMAC_SHA224 = 295,
  394. SEC_OID_HMAC_SHA256 = 296,
  395. SEC_OID_HMAC_SHA384 = 297,
  396. SEC_OID_HMAC_SHA512 = 298,
  397. SEC_OID_PKIX_TIMESTAMPING = 299,
  398. SEC_OID_PKIX_CA_REPOSITORY = 300,
  399. SEC_OID_ISO_SHA1_WITH_RSA_SIGNATURE = 301,
  400. SEC_OID_TOTAL
  401. } SECOidTag;
  402. #define SEC_OID_SECG_EC_SECP192R1 SEC_OID_ANSIX962_EC_PRIME192V1
  403. #define SEC_OID_SECG_EC_SECP256R1 SEC_OID_ANSIX962_EC_PRIME256V1
  404. #define SEC_OID_PKCS12_KEY_USAGE SEC_OID_X509_KEY_USAGE
  405. /* fake OID for DSS sign/verify */
  406. #define SEC_OID_SHA SEC_OID_MISS_DSS
  407. typedef enum {
  408. INVALID_CERT_EXTENSION = 0,
  409. UNSUPPORTED_CERT_EXTENSION = 1,
  410. SUPPORTED_CERT_EXTENSION = 2
  411. } SECSupportExtenTag;
  412. struct SECOidDataStr {
  413. SECItem oid;
  414. SECOidTag offset;
  415. const char * desc;
  416. unsigned long mechanism;
  417. SECSupportExtenTag supportedExtension;
  418. /* only used for x.509 v3 extensions, so
  419. that we can print the names of those
  420. extensions that we don't even support */
  421. };
  422. #endif /* _SECOIDT_H_ */