motion-openssl 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +53 -0
  3. data/lib/OpenSSL/aes.h +149 -0
  4. data/lib/OpenSSL/asn1.h +1419 -0
  5. data/lib/OpenSSL/asn1_mac.h +579 -0
  6. data/lib/OpenSSL/asn1t.h +973 -0
  7. data/lib/OpenSSL/bio.h +879 -0
  8. data/lib/OpenSSL/blowfish.h +130 -0
  9. data/lib/OpenSSL/bn.h +939 -0
  10. data/lib/OpenSSL/buffer.h +125 -0
  11. data/lib/OpenSSL/camellia.h +132 -0
  12. data/lib/OpenSSL/cast.h +107 -0
  13. data/lib/OpenSSL/cmac.h +82 -0
  14. data/lib/OpenSSL/cms.h +555 -0
  15. data/lib/OpenSSL/comp.h +79 -0
  16. data/lib/OpenSSL/conf.h +267 -0
  17. data/lib/OpenSSL/conf_api.h +89 -0
  18. data/lib/OpenSSL/crypto.h +661 -0
  19. data/lib/OpenSSL/des.h +257 -0
  20. data/lib/OpenSSL/des_old.h +497 -0
  21. data/lib/OpenSSL/dh.h +392 -0
  22. data/lib/OpenSSL/dsa.h +332 -0
  23. data/lib/OpenSSL/dso.h +451 -0
  24. data/lib/OpenSSL/dtls1.h +272 -0
  25. data/lib/OpenSSL/e_os2.h +328 -0
  26. data/lib/OpenSSL/ebcdic.h +26 -0
  27. data/lib/OpenSSL/ec.h +1282 -0
  28. data/lib/OpenSSL/ecdh.h +134 -0
  29. data/lib/OpenSSL/ecdsa.h +335 -0
  30. data/lib/OpenSSL/engine.h +960 -0
  31. data/lib/OpenSSL/err.h +389 -0
  32. data/lib/OpenSSL/evp.h +1534 -0
  33. data/lib/OpenSSL/hmac.h +109 -0
  34. data/lib/OpenSSL/idea.h +105 -0
  35. data/lib/OpenSSL/krb5_asn.h +240 -0
  36. data/lib/OpenSSL/kssl.h +197 -0
  37. data/lib/OpenSSL/lhash.h +240 -0
  38. data/lib/OpenSSL/libcrypto-tvOS.a +0 -0
  39. data/lib/OpenSSL/libcrypto.a +0 -0
  40. data/lib/OpenSSL/libssl-tvOS.a +0 -0
  41. data/lib/OpenSSL/libssl.a +0 -0
  42. data/lib/OpenSSL/md4.h +119 -0
  43. data/lib/OpenSSL/md5.h +119 -0
  44. data/lib/OpenSSL/mdc2.h +94 -0
  45. data/lib/OpenSSL/modes.h +163 -0
  46. data/lib/OpenSSL/obj_mac.h +4194 -0
  47. data/lib/OpenSSL/objects.h +1143 -0
  48. data/lib/OpenSSL/ocsp.h +637 -0
  49. data/lib/OpenSSL/opensslconf.h +262 -0
  50. data/lib/OpenSSL/opensslv.h +97 -0
  51. data/lib/OpenSSL/ossl_typ.h +211 -0
  52. data/lib/OpenSSL/pem.h +615 -0
  53. data/lib/OpenSSL/pem2.h +70 -0
  54. data/lib/OpenSSL/pkcs12.h +342 -0
  55. data/lib/OpenSSL/pkcs7.h +481 -0
  56. data/lib/OpenSSL/pqueue.h +99 -0
  57. data/lib/OpenSSL/rand.h +150 -0
  58. data/lib/OpenSSL/rc2.h +103 -0
  59. data/lib/OpenSSL/rc4.h +88 -0
  60. data/lib/OpenSSL/ripemd.h +105 -0
  61. data/lib/OpenSSL/rsa.h +664 -0
  62. data/lib/OpenSSL/safestack.h +2672 -0
  63. data/lib/OpenSSL/seed.h +149 -0
  64. data/lib/OpenSSL/sha.h +214 -0
  65. data/lib/OpenSSL/srp.h +169 -0
  66. data/lib/OpenSSL/srtp.h +147 -0
  67. data/lib/OpenSSL/ssl.h +3168 -0
  68. data/lib/OpenSSL/ssl2.h +265 -0
  69. data/lib/OpenSSL/ssl23.h +84 -0
  70. data/lib/OpenSSL/ssl3.h +774 -0
  71. data/lib/OpenSSL/stack.h +107 -0
  72. data/lib/OpenSSL/symhacks.h +516 -0
  73. data/lib/OpenSSL/tls1.h +810 -0
  74. data/lib/OpenSSL/ts.h +862 -0
  75. data/lib/OpenSSL/txt_db.h +112 -0
  76. data/lib/OpenSSL/ui.h +415 -0
  77. data/lib/OpenSSL/ui_compat.h +88 -0
  78. data/lib/OpenSSL/whrlpool.h +41 -0
  79. data/lib/OpenSSL/x509.h +1327 -0
  80. data/lib/OpenSSL/x509_vfy.h +647 -0
  81. data/lib/OpenSSL/x509v3.h +1055 -0
  82. data/lib/motion-openssl.rb +8 -0
  83. data/lib/motion-openssl/hooks.rb +8 -0
  84. data/lib/motion-openssl/hooks/openssl.rb +20 -0
  85. data/lib/motion-openssl/version.rb +5 -0
  86. data/motion/openssl.rb +1 -0
  87. data/motion/openssl/random.rb +18 -0
  88. metadata +229 -0
@@ -0,0 +1,1143 @@
1
+ /* crypto/objects/objects.h */
2
+ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3
+ * All rights reserved.
4
+ *
5
+ * This package is an SSL implementation written
6
+ * by Eric Young (eay@cryptsoft.com).
7
+ * The implementation was written so as to conform with Netscapes SSL.
8
+ *
9
+ * This library is free for commercial and non-commercial use as long as
10
+ * the following conditions are aheared to. The following conditions
11
+ * apply to all code found in this distribution, be it the RC4, RSA,
12
+ * lhash, DES, etc., code; not just the SSL code. The SSL documentation
13
+ * included with this distribution is covered by the same copyright terms
14
+ * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15
+ *
16
+ * Copyright remains Eric Young's, and as such any Copyright notices in
17
+ * the code are not to be removed.
18
+ * If this package is used in a product, Eric Young should be given attribution
19
+ * as the author of the parts of the library used.
20
+ * This can be in the form of a textual message at program startup or
21
+ * in documentation (online or textual) provided with the package.
22
+ *
23
+ * Redistribution and use in source and binary forms, with or without
24
+ * modification, are permitted provided that the following conditions
25
+ * are met:
26
+ * 1. Redistributions of source code must retain the copyright
27
+ * notice, this list of conditions and the following disclaimer.
28
+ * 2. Redistributions in binary form must reproduce the above copyright
29
+ * notice, this list of conditions and the following disclaimer in the
30
+ * documentation and/or other materials provided with the distribution.
31
+ * 3. All advertising materials mentioning features or use of this software
32
+ * must display the following acknowledgement:
33
+ * "This product includes cryptographic software written by
34
+ * Eric Young (eay@cryptsoft.com)"
35
+ * The word 'cryptographic' can be left out if the rouines from the library
36
+ * being used are not cryptographic related :-).
37
+ * 4. If you include any Windows specific code (or a derivative thereof) from
38
+ * the apps directory (application code) you must include an acknowledgement:
39
+ * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51
+ * SUCH DAMAGE.
52
+ *
53
+ * The licence and distribution terms for any publically available version or
54
+ * derivative of this code cannot be changed. i.e. this code cannot simply be
55
+ * copied and put under another distribution licence
56
+ * [including the GNU Public Licence.]
57
+ */
58
+
59
+ #ifndef HEADER_OBJECTS_H
60
+ # define HEADER_OBJECTS_H
61
+
62
+ # define USE_OBJ_MAC
63
+
64
+ # ifdef USE_OBJ_MAC
65
+ # include <openssl/obj_mac.h>
66
+ # else
67
+ # define SN_undef "UNDEF"
68
+ # define LN_undef "undefined"
69
+ # define NID_undef 0
70
+ # define OBJ_undef 0L
71
+
72
+ # define SN_Algorithm "Algorithm"
73
+ # define LN_algorithm "algorithm"
74
+ # define NID_algorithm 38
75
+ # define OBJ_algorithm 1L,3L,14L,3L,2L
76
+
77
+ # define LN_rsadsi "rsadsi"
78
+ # define NID_rsadsi 1
79
+ # define OBJ_rsadsi 1L,2L,840L,113549L
80
+
81
+ # define LN_pkcs "pkcs"
82
+ # define NID_pkcs 2
83
+ # define OBJ_pkcs OBJ_rsadsi,1L
84
+
85
+ # define SN_md2 "MD2"
86
+ # define LN_md2 "md2"
87
+ # define NID_md2 3
88
+ # define OBJ_md2 OBJ_rsadsi,2L,2L
89
+
90
+ # define SN_md5 "MD5"
91
+ # define LN_md5 "md5"
92
+ # define NID_md5 4
93
+ # define OBJ_md5 OBJ_rsadsi,2L,5L
94
+
95
+ # define SN_rc4 "RC4"
96
+ # define LN_rc4 "rc4"
97
+ # define NID_rc4 5
98
+ # define OBJ_rc4 OBJ_rsadsi,3L,4L
99
+
100
+ # define LN_rsaEncryption "rsaEncryption"
101
+ # define NID_rsaEncryption 6
102
+ # define OBJ_rsaEncryption OBJ_pkcs,1L,1L
103
+
104
+ # define SN_md2WithRSAEncryption "RSA-MD2"
105
+ # define LN_md2WithRSAEncryption "md2WithRSAEncryption"
106
+ # define NID_md2WithRSAEncryption 7
107
+ # define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L
108
+
109
+ # define SN_md5WithRSAEncryption "RSA-MD5"
110
+ # define LN_md5WithRSAEncryption "md5WithRSAEncryption"
111
+ # define NID_md5WithRSAEncryption 8
112
+ # define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L
113
+
114
+ # define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES"
115
+ # define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC"
116
+ # define NID_pbeWithMD2AndDES_CBC 9
117
+ # define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L
118
+
119
+ # define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES"
120
+ # define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC"
121
+ # define NID_pbeWithMD5AndDES_CBC 10
122
+ # define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L
123
+
124
+ # define LN_X500 "X500"
125
+ # define NID_X500 11
126
+ # define OBJ_X500 2L,5L
127
+
128
+ # define LN_X509 "X509"
129
+ # define NID_X509 12
130
+ # define OBJ_X509 OBJ_X500,4L
131
+
132
+ # define SN_commonName "CN"
133
+ # define LN_commonName "commonName"
134
+ # define NID_commonName 13
135
+ # define OBJ_commonName OBJ_X509,3L
136
+
137
+ # define SN_countryName "C"
138
+ # define LN_countryName "countryName"
139
+ # define NID_countryName 14
140
+ # define OBJ_countryName OBJ_X509,6L
141
+
142
+ # define SN_localityName "L"
143
+ # define LN_localityName "localityName"
144
+ # define NID_localityName 15
145
+ # define OBJ_localityName OBJ_X509,7L
146
+
147
+ /* Postal Address? PA */
148
+
149
+ /* should be "ST" (rfc1327) but MS uses 'S' */
150
+ # define SN_stateOrProvinceName "ST"
151
+ # define LN_stateOrProvinceName "stateOrProvinceName"
152
+ # define NID_stateOrProvinceName 16
153
+ # define OBJ_stateOrProvinceName OBJ_X509,8L
154
+
155
+ # define SN_organizationName "O"
156
+ # define LN_organizationName "organizationName"
157
+ # define NID_organizationName 17
158
+ # define OBJ_organizationName OBJ_X509,10L
159
+
160
+ # define SN_organizationalUnitName "OU"
161
+ # define LN_organizationalUnitName "organizationalUnitName"
162
+ # define NID_organizationalUnitName 18
163
+ # define OBJ_organizationalUnitName OBJ_X509,11L
164
+
165
+ # define SN_rsa "RSA"
166
+ # define LN_rsa "rsa"
167
+ # define NID_rsa 19
168
+ # define OBJ_rsa OBJ_X500,8L,1L,1L
169
+
170
+ # define LN_pkcs7 "pkcs7"
171
+ # define NID_pkcs7 20
172
+ # define OBJ_pkcs7 OBJ_pkcs,7L
173
+
174
+ # define LN_pkcs7_data "pkcs7-data"
175
+ # define NID_pkcs7_data 21
176
+ # define OBJ_pkcs7_data OBJ_pkcs7,1L
177
+
178
+ # define LN_pkcs7_signed "pkcs7-signedData"
179
+ # define NID_pkcs7_signed 22
180
+ # define OBJ_pkcs7_signed OBJ_pkcs7,2L
181
+
182
+ # define LN_pkcs7_enveloped "pkcs7-envelopedData"
183
+ # define NID_pkcs7_enveloped 23
184
+ # define OBJ_pkcs7_enveloped OBJ_pkcs7,3L
185
+
186
+ # define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData"
187
+ # define NID_pkcs7_signedAndEnveloped 24
188
+ # define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L
189
+
190
+ # define LN_pkcs7_digest "pkcs7-digestData"
191
+ # define NID_pkcs7_digest 25
192
+ # define OBJ_pkcs7_digest OBJ_pkcs7,5L
193
+
194
+ # define LN_pkcs7_encrypted "pkcs7-encryptedData"
195
+ # define NID_pkcs7_encrypted 26
196
+ # define OBJ_pkcs7_encrypted OBJ_pkcs7,6L
197
+
198
+ # define LN_pkcs3 "pkcs3"
199
+ # define NID_pkcs3 27
200
+ # define OBJ_pkcs3 OBJ_pkcs,3L
201
+
202
+ # define LN_dhKeyAgreement "dhKeyAgreement"
203
+ # define NID_dhKeyAgreement 28
204
+ # define OBJ_dhKeyAgreement OBJ_pkcs3,1L
205
+
206
+ # define SN_des_ecb "DES-ECB"
207
+ # define LN_des_ecb "des-ecb"
208
+ # define NID_des_ecb 29
209
+ # define OBJ_des_ecb OBJ_algorithm,6L
210
+
211
+ # define SN_des_cfb64 "DES-CFB"
212
+ # define LN_des_cfb64 "des-cfb"
213
+ # define NID_des_cfb64 30
214
+ /* IV + num */
215
+ # define OBJ_des_cfb64 OBJ_algorithm,9L
216
+
217
+ # define SN_des_cbc "DES-CBC"
218
+ # define LN_des_cbc "des-cbc"
219
+ # define NID_des_cbc 31
220
+ /* IV */
221
+ # define OBJ_des_cbc OBJ_algorithm,7L
222
+
223
+ # define SN_des_ede "DES-EDE"
224
+ # define LN_des_ede "des-ede"
225
+ # define NID_des_ede 32
226
+ /* ?? */
227
+ # define OBJ_des_ede OBJ_algorithm,17L
228
+
229
+ # define SN_des_ede3 "DES-EDE3"
230
+ # define LN_des_ede3 "des-ede3"
231
+ # define NID_des_ede3 33
232
+
233
+ # define SN_idea_cbc "IDEA-CBC"
234
+ # define LN_idea_cbc "idea-cbc"
235
+ # define NID_idea_cbc 34
236
+ # define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L
237
+
238
+ # define SN_idea_cfb64 "IDEA-CFB"
239
+ # define LN_idea_cfb64 "idea-cfb"
240
+ # define NID_idea_cfb64 35
241
+
242
+ # define SN_idea_ecb "IDEA-ECB"
243
+ # define LN_idea_ecb "idea-ecb"
244
+ # define NID_idea_ecb 36
245
+
246
+ # define SN_rc2_cbc "RC2-CBC"
247
+ # define LN_rc2_cbc "rc2-cbc"
248
+ # define NID_rc2_cbc 37
249
+ # define OBJ_rc2_cbc OBJ_rsadsi,3L,2L
250
+
251
+ # define SN_rc2_ecb "RC2-ECB"
252
+ # define LN_rc2_ecb "rc2-ecb"
253
+ # define NID_rc2_ecb 38
254
+
255
+ # define SN_rc2_cfb64 "RC2-CFB"
256
+ # define LN_rc2_cfb64 "rc2-cfb"
257
+ # define NID_rc2_cfb64 39
258
+
259
+ # define SN_rc2_ofb64 "RC2-OFB"
260
+ # define LN_rc2_ofb64 "rc2-ofb"
261
+ # define NID_rc2_ofb64 40
262
+
263
+ # define SN_sha "SHA"
264
+ # define LN_sha "sha"
265
+ # define NID_sha 41
266
+ # define OBJ_sha OBJ_algorithm,18L
267
+
268
+ # define SN_shaWithRSAEncryption "RSA-SHA"
269
+ # define LN_shaWithRSAEncryption "shaWithRSAEncryption"
270
+ # define NID_shaWithRSAEncryption 42
271
+ # define OBJ_shaWithRSAEncryption OBJ_algorithm,15L
272
+
273
+ # define SN_des_ede_cbc "DES-EDE-CBC"
274
+ # define LN_des_ede_cbc "des-ede-cbc"
275
+ # define NID_des_ede_cbc 43
276
+
277
+ # define SN_des_ede3_cbc "DES-EDE3-CBC"
278
+ # define LN_des_ede3_cbc "des-ede3-cbc"
279
+ # define NID_des_ede3_cbc 44
280
+ # define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L
281
+
282
+ # define SN_des_ofb64 "DES-OFB"
283
+ # define LN_des_ofb64 "des-ofb"
284
+ # define NID_des_ofb64 45
285
+ # define OBJ_des_ofb64 OBJ_algorithm,8L
286
+
287
+ # define SN_idea_ofb64 "IDEA-OFB"
288
+ # define LN_idea_ofb64 "idea-ofb"
289
+ # define NID_idea_ofb64 46
290
+
291
+ # define LN_pkcs9 "pkcs9"
292
+ # define NID_pkcs9 47
293
+ # define OBJ_pkcs9 OBJ_pkcs,9L
294
+
295
+ # define SN_pkcs9_emailAddress "Email"
296
+ # define LN_pkcs9_emailAddress "emailAddress"
297
+ # define NID_pkcs9_emailAddress 48
298
+ # define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L
299
+
300
+ # define LN_pkcs9_unstructuredName "unstructuredName"
301
+ # define NID_pkcs9_unstructuredName 49
302
+ # define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L
303
+
304
+ # define LN_pkcs9_contentType "contentType"
305
+ # define NID_pkcs9_contentType 50
306
+ # define OBJ_pkcs9_contentType OBJ_pkcs9,3L
307
+
308
+ # define LN_pkcs9_messageDigest "messageDigest"
309
+ # define NID_pkcs9_messageDigest 51
310
+ # define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L
311
+
312
+ # define LN_pkcs9_signingTime "signingTime"
313
+ # define NID_pkcs9_signingTime 52
314
+ # define OBJ_pkcs9_signingTime OBJ_pkcs9,5L
315
+
316
+ # define LN_pkcs9_countersignature "countersignature"
317
+ # define NID_pkcs9_countersignature 53
318
+ # define OBJ_pkcs9_countersignature OBJ_pkcs9,6L
319
+
320
+ # define LN_pkcs9_challengePassword "challengePassword"
321
+ # define NID_pkcs9_challengePassword 54
322
+ # define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L
323
+
324
+ # define LN_pkcs9_unstructuredAddress "unstructuredAddress"
325
+ # define NID_pkcs9_unstructuredAddress 55
326
+ # define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L
327
+
328
+ # define LN_pkcs9_extCertAttributes "extendedCertificateAttributes"
329
+ # define NID_pkcs9_extCertAttributes 56
330
+ # define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L
331
+
332
+ # define SN_netscape "Netscape"
333
+ # define LN_netscape "Netscape Communications Corp."
334
+ # define NID_netscape 57
335
+ # define OBJ_netscape 2L,16L,840L,1L,113730L
336
+
337
+ # define SN_netscape_cert_extension "nsCertExt"
338
+ # define LN_netscape_cert_extension "Netscape Certificate Extension"
339
+ # define NID_netscape_cert_extension 58
340
+ # define OBJ_netscape_cert_extension OBJ_netscape,1L
341
+
342
+ # define SN_netscape_data_type "nsDataType"
343
+ # define LN_netscape_data_type "Netscape Data Type"
344
+ # define NID_netscape_data_type 59
345
+ # define OBJ_netscape_data_type OBJ_netscape,2L
346
+
347
+ # define SN_des_ede_cfb64 "DES-EDE-CFB"
348
+ # define LN_des_ede_cfb64 "des-ede-cfb"
349
+ # define NID_des_ede_cfb64 60
350
+
351
+ # define SN_des_ede3_cfb64 "DES-EDE3-CFB"
352
+ # define LN_des_ede3_cfb64 "des-ede3-cfb"
353
+ # define NID_des_ede3_cfb64 61
354
+
355
+ # define SN_des_ede_ofb64 "DES-EDE-OFB"
356
+ # define LN_des_ede_ofb64 "des-ede-ofb"
357
+ # define NID_des_ede_ofb64 62
358
+
359
+ # define SN_des_ede3_ofb64 "DES-EDE3-OFB"
360
+ # define LN_des_ede3_ofb64 "des-ede3-ofb"
361
+ # define NID_des_ede3_ofb64 63
362
+
363
+ /* I'm not sure about the object ID */
364
+ # define SN_sha1 "SHA1"
365
+ # define LN_sha1 "sha1"
366
+ # define NID_sha1 64
367
+ # define OBJ_sha1 OBJ_algorithm,26L
368
+ /* 28 Jun 1996 - eay */
369
+ /* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */
370
+
371
+ # define SN_sha1WithRSAEncryption "RSA-SHA1"
372
+ # define LN_sha1WithRSAEncryption "sha1WithRSAEncryption"
373
+ # define NID_sha1WithRSAEncryption 65
374
+ # define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L
375
+
376
+ # define SN_dsaWithSHA "DSA-SHA"
377
+ # define LN_dsaWithSHA "dsaWithSHA"
378
+ # define NID_dsaWithSHA 66
379
+ # define OBJ_dsaWithSHA OBJ_algorithm,13L
380
+
381
+ # define SN_dsa_2 "DSA-old"
382
+ # define LN_dsa_2 "dsaEncryption-old"
383
+ # define NID_dsa_2 67
384
+ # define OBJ_dsa_2 OBJ_algorithm,12L
385
+
386
+ /* proposed by microsoft to RSA */
387
+ # define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64"
388
+ # define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC"
389
+ # define NID_pbeWithSHA1AndRC2_CBC 68
390
+ # define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L
391
+
392
+ /*
393
+ * proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now defined
394
+ * explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something completely
395
+ * different.
396
+ */
397
+ # define LN_id_pbkdf2 "PBKDF2"
398
+ # define NID_id_pbkdf2 69
399
+ # define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L
400
+
401
+ # define SN_dsaWithSHA1_2 "DSA-SHA1-old"
402
+ # define LN_dsaWithSHA1_2 "dsaWithSHA1-old"
403
+ # define NID_dsaWithSHA1_2 70
404
+ /* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */
405
+ # define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L
406
+
407
+ # define SN_netscape_cert_type "nsCertType"
408
+ # define LN_netscape_cert_type "Netscape Cert Type"
409
+ # define NID_netscape_cert_type 71
410
+ # define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L
411
+
412
+ # define SN_netscape_base_url "nsBaseUrl"
413
+ # define LN_netscape_base_url "Netscape Base Url"
414
+ # define NID_netscape_base_url 72
415
+ # define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L
416
+
417
+ # define SN_netscape_revocation_url "nsRevocationUrl"
418
+ # define LN_netscape_revocation_url "Netscape Revocation Url"
419
+ # define NID_netscape_revocation_url 73
420
+ # define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L
421
+
422
+ # define SN_netscape_ca_revocation_url "nsCaRevocationUrl"
423
+ # define LN_netscape_ca_revocation_url "Netscape CA Revocation Url"
424
+ # define NID_netscape_ca_revocation_url 74
425
+ # define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L
426
+
427
+ # define SN_netscape_renewal_url "nsRenewalUrl"
428
+ # define LN_netscape_renewal_url "Netscape Renewal Url"
429
+ # define NID_netscape_renewal_url 75
430
+ # define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L
431
+
432
+ # define SN_netscape_ca_policy_url "nsCaPolicyUrl"
433
+ # define LN_netscape_ca_policy_url "Netscape CA Policy Url"
434
+ # define NID_netscape_ca_policy_url 76
435
+ # define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L
436
+
437
+ # define SN_netscape_ssl_server_name "nsSslServerName"
438
+ # define LN_netscape_ssl_server_name "Netscape SSL Server Name"
439
+ # define NID_netscape_ssl_server_name 77
440
+ # define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L
441
+
442
+ # define SN_netscape_comment "nsComment"
443
+ # define LN_netscape_comment "Netscape Comment"
444
+ # define NID_netscape_comment 78
445
+ # define OBJ_netscape_comment OBJ_netscape_cert_extension,13L
446
+
447
+ # define SN_netscape_cert_sequence "nsCertSequence"
448
+ # define LN_netscape_cert_sequence "Netscape Certificate Sequence"
449
+ # define NID_netscape_cert_sequence 79
450
+ # define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L
451
+
452
+ # define SN_desx_cbc "DESX-CBC"
453
+ # define LN_desx_cbc "desx-cbc"
454
+ # define NID_desx_cbc 80
455
+
456
+ # define SN_id_ce "id-ce"
457
+ # define NID_id_ce 81
458
+ # define OBJ_id_ce 2L,5L,29L
459
+
460
+ # define SN_subject_key_identifier "subjectKeyIdentifier"
461
+ # define LN_subject_key_identifier "X509v3 Subject Key Identifier"
462
+ # define NID_subject_key_identifier 82
463
+ # define OBJ_subject_key_identifier OBJ_id_ce,14L
464
+
465
+ # define SN_key_usage "keyUsage"
466
+ # define LN_key_usage "X509v3 Key Usage"
467
+ # define NID_key_usage 83
468
+ # define OBJ_key_usage OBJ_id_ce,15L
469
+
470
+ # define SN_private_key_usage_period "privateKeyUsagePeriod"
471
+ # define LN_private_key_usage_period "X509v3 Private Key Usage Period"
472
+ # define NID_private_key_usage_period 84
473
+ # define OBJ_private_key_usage_period OBJ_id_ce,16L
474
+
475
+ # define SN_subject_alt_name "subjectAltName"
476
+ # define LN_subject_alt_name "X509v3 Subject Alternative Name"
477
+ # define NID_subject_alt_name 85
478
+ # define OBJ_subject_alt_name OBJ_id_ce,17L
479
+
480
+ # define SN_issuer_alt_name "issuerAltName"
481
+ # define LN_issuer_alt_name "X509v3 Issuer Alternative Name"
482
+ # define NID_issuer_alt_name 86
483
+ # define OBJ_issuer_alt_name OBJ_id_ce,18L
484
+
485
+ # define SN_basic_constraints "basicConstraints"
486
+ # define LN_basic_constraints "X509v3 Basic Constraints"
487
+ # define NID_basic_constraints 87
488
+ # define OBJ_basic_constraints OBJ_id_ce,19L
489
+
490
+ # define SN_crl_number "crlNumber"
491
+ # define LN_crl_number "X509v3 CRL Number"
492
+ # define NID_crl_number 88
493
+ # define OBJ_crl_number OBJ_id_ce,20L
494
+
495
+ # define SN_certificate_policies "certificatePolicies"
496
+ # define LN_certificate_policies "X509v3 Certificate Policies"
497
+ # define NID_certificate_policies 89
498
+ # define OBJ_certificate_policies OBJ_id_ce,32L
499
+
500
+ # define SN_authority_key_identifier "authorityKeyIdentifier"
501
+ # define LN_authority_key_identifier "X509v3 Authority Key Identifier"
502
+ # define NID_authority_key_identifier 90
503
+ # define OBJ_authority_key_identifier OBJ_id_ce,35L
504
+
505
+ # define SN_bf_cbc "BF-CBC"
506
+ # define LN_bf_cbc "bf-cbc"
507
+ # define NID_bf_cbc 91
508
+ # define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L
509
+
510
+ # define SN_bf_ecb "BF-ECB"
511
+ # define LN_bf_ecb "bf-ecb"
512
+ # define NID_bf_ecb 92
513
+
514
+ # define SN_bf_cfb64 "BF-CFB"
515
+ # define LN_bf_cfb64 "bf-cfb"
516
+ # define NID_bf_cfb64 93
517
+
518
+ # define SN_bf_ofb64 "BF-OFB"
519
+ # define LN_bf_ofb64 "bf-ofb"
520
+ # define NID_bf_ofb64 94
521
+
522
+ # define SN_mdc2 "MDC2"
523
+ # define LN_mdc2 "mdc2"
524
+ # define NID_mdc2 95
525
+ # define OBJ_mdc2 2L,5L,8L,3L,101L
526
+ /* An alternative? 1L,3L,14L,3L,2L,19L */
527
+
528
+ # define SN_mdc2WithRSA "RSA-MDC2"
529
+ # define LN_mdc2WithRSA "mdc2withRSA"
530
+ # define NID_mdc2WithRSA 96
531
+ # define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L
532
+
533
+ # define SN_rc4_40 "RC4-40"
534
+ # define LN_rc4_40 "rc4-40"
535
+ # define NID_rc4_40 97
536
+
537
+ # define SN_rc2_40_cbc "RC2-40-CBC"
538
+ # define LN_rc2_40_cbc "rc2-40-cbc"
539
+ # define NID_rc2_40_cbc 98
540
+
541
+ # define SN_givenName "G"
542
+ # define LN_givenName "givenName"
543
+ # define NID_givenName 99
544
+ # define OBJ_givenName OBJ_X509,42L
545
+
546
+ # define SN_surname "S"
547
+ # define LN_surname "surname"
548
+ # define NID_surname 100
549
+ # define OBJ_surname OBJ_X509,4L
550
+
551
+ # define SN_initials "I"
552
+ # define LN_initials "initials"
553
+ # define NID_initials 101
554
+ # define OBJ_initials OBJ_X509,43L
555
+
556
+ # define SN_uniqueIdentifier "UID"
557
+ # define LN_uniqueIdentifier "uniqueIdentifier"
558
+ # define NID_uniqueIdentifier 102
559
+ # define OBJ_uniqueIdentifier OBJ_X509,45L
560
+
561
+ # define SN_crl_distribution_points "crlDistributionPoints"
562
+ # define LN_crl_distribution_points "X509v3 CRL Distribution Points"
563
+ # define NID_crl_distribution_points 103
564
+ # define OBJ_crl_distribution_points OBJ_id_ce,31L
565
+
566
+ # define SN_md5WithRSA "RSA-NP-MD5"
567
+ # define LN_md5WithRSA "md5WithRSA"
568
+ # define NID_md5WithRSA 104
569
+ # define OBJ_md5WithRSA OBJ_algorithm,3L
570
+
571
+ # define SN_serialNumber "SN"
572
+ # define LN_serialNumber "serialNumber"
573
+ # define NID_serialNumber 105
574
+ # define OBJ_serialNumber OBJ_X509,5L
575
+
576
+ # define SN_title "T"
577
+ # define LN_title "title"
578
+ # define NID_title 106
579
+ # define OBJ_title OBJ_X509,12L
580
+
581
+ # define SN_description "D"
582
+ # define LN_description "description"
583
+ # define NID_description 107
584
+ # define OBJ_description OBJ_X509,13L
585
+
586
+ /* CAST5 is CAST-128, I'm just sticking with the documentation */
587
+ # define SN_cast5_cbc "CAST5-CBC"
588
+ # define LN_cast5_cbc "cast5-cbc"
589
+ # define NID_cast5_cbc 108
590
+ # define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L
591
+
592
+ # define SN_cast5_ecb "CAST5-ECB"
593
+ # define LN_cast5_ecb "cast5-ecb"
594
+ # define NID_cast5_ecb 109
595
+
596
+ # define SN_cast5_cfb64 "CAST5-CFB"
597
+ # define LN_cast5_cfb64 "cast5-cfb"
598
+ # define NID_cast5_cfb64 110
599
+
600
+ # define SN_cast5_ofb64 "CAST5-OFB"
601
+ # define LN_cast5_ofb64 "cast5-ofb"
602
+ # define NID_cast5_ofb64 111
603
+
604
+ # define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC"
605
+ # define NID_pbeWithMD5AndCast5_CBC 112
606
+ # define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L
607
+
608
+ /*-
609
+ * This is one sun will soon be using :-(
610
+ * id-dsa-with-sha1 ID ::= {
611
+ * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 }
612
+ */
613
+ # define SN_dsaWithSHA1 "DSA-SHA1"
614
+ # define LN_dsaWithSHA1 "dsaWithSHA1"
615
+ # define NID_dsaWithSHA1 113
616
+ # define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L
617
+
618
+ # define NID_md5_sha1 114
619
+ # define SN_md5_sha1 "MD5-SHA1"
620
+ # define LN_md5_sha1 "md5-sha1"
621
+
622
+ # define SN_sha1WithRSA "RSA-SHA1-2"
623
+ # define LN_sha1WithRSA "sha1WithRSA"
624
+ # define NID_sha1WithRSA 115
625
+ # define OBJ_sha1WithRSA OBJ_algorithm,29L
626
+
627
+ # define SN_dsa "DSA"
628
+ # define LN_dsa "dsaEncryption"
629
+ # define NID_dsa 116
630
+ # define OBJ_dsa 1L,2L,840L,10040L,4L,1L
631
+
632
+ # define SN_ripemd160 "RIPEMD160"
633
+ # define LN_ripemd160 "ripemd160"
634
+ # define NID_ripemd160 117
635
+ # define OBJ_ripemd160 1L,3L,36L,3L,2L,1L
636
+
637
+ /*
638
+ * The name should actually be rsaSignatureWithripemd160, but I'm going to
639
+ * continue using the convention I'm using with the other ciphers
640
+ */
641
+ # define SN_ripemd160WithRSA "RSA-RIPEMD160"
642
+ # define LN_ripemd160WithRSA "ripemd160WithRSA"
643
+ # define NID_ripemd160WithRSA 119
644
+ # define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L
645
+
646
+ /*-
647
+ * Taken from rfc2040
648
+ * RC5_CBC_Parameters ::= SEQUENCE {
649
+ * version INTEGER (v1_0(16)),
650
+ * rounds INTEGER (8..127),
651
+ * blockSizeInBits INTEGER (64, 128),
652
+ * iv OCTET STRING OPTIONAL
653
+ * }
654
+ */
655
+ # define SN_rc5_cbc "RC5-CBC"
656
+ # define LN_rc5_cbc "rc5-cbc"
657
+ # define NID_rc5_cbc 120
658
+ # define OBJ_rc5_cbc OBJ_rsadsi,3L,8L
659
+
660
+ # define SN_rc5_ecb "RC5-ECB"
661
+ # define LN_rc5_ecb "rc5-ecb"
662
+ # define NID_rc5_ecb 121
663
+
664
+ # define SN_rc5_cfb64 "RC5-CFB"
665
+ # define LN_rc5_cfb64 "rc5-cfb"
666
+ # define NID_rc5_cfb64 122
667
+
668
+ # define SN_rc5_ofb64 "RC5-OFB"
669
+ # define LN_rc5_ofb64 "rc5-ofb"
670
+ # define NID_rc5_ofb64 123
671
+
672
+ # define SN_rle_compression "RLE"
673
+ # define LN_rle_compression "run length compression"
674
+ # define NID_rle_compression 124
675
+ # define OBJ_rle_compression 1L,1L,1L,1L,666L,1L
676
+
677
+ # define SN_zlib_compression "ZLIB"
678
+ # define LN_zlib_compression "zlib compression"
679
+ # define NID_zlib_compression 125
680
+ # define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L
681
+
682
+ # define SN_ext_key_usage "extendedKeyUsage"
683
+ # define LN_ext_key_usage "X509v3 Extended Key Usage"
684
+ # define NID_ext_key_usage 126
685
+ # define OBJ_ext_key_usage OBJ_id_ce,37
686
+
687
+ # define SN_id_pkix "PKIX"
688
+ # define NID_id_pkix 127
689
+ # define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L
690
+
691
+ # define SN_id_kp "id-kp"
692
+ # define NID_id_kp 128
693
+ # define OBJ_id_kp OBJ_id_pkix,3L
694
+
695
+ /* PKIX extended key usage OIDs */
696
+
697
+ # define SN_server_auth "serverAuth"
698
+ # define LN_server_auth "TLS Web Server Authentication"
699
+ # define NID_server_auth 129
700
+ # define OBJ_server_auth OBJ_id_kp,1L
701
+
702
+ # define SN_client_auth "clientAuth"
703
+ # define LN_client_auth "TLS Web Client Authentication"
704
+ # define NID_client_auth 130
705
+ # define OBJ_client_auth OBJ_id_kp,2L
706
+
707
+ # define SN_code_sign "codeSigning"
708
+ # define LN_code_sign "Code Signing"
709
+ # define NID_code_sign 131
710
+ # define OBJ_code_sign OBJ_id_kp,3L
711
+
712
+ # define SN_email_protect "emailProtection"
713
+ # define LN_email_protect "E-mail Protection"
714
+ # define NID_email_protect 132
715
+ # define OBJ_email_protect OBJ_id_kp,4L
716
+
717
+ # define SN_time_stamp "timeStamping"
718
+ # define LN_time_stamp "Time Stamping"
719
+ # define NID_time_stamp 133
720
+ # define OBJ_time_stamp OBJ_id_kp,8L
721
+
722
+ /* Additional extended key usage OIDs: Microsoft */
723
+
724
+ # define SN_ms_code_ind "msCodeInd"
725
+ # define LN_ms_code_ind "Microsoft Individual Code Signing"
726
+ # define NID_ms_code_ind 134
727
+ # define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L
728
+
729
+ # define SN_ms_code_com "msCodeCom"
730
+ # define LN_ms_code_com "Microsoft Commercial Code Signing"
731
+ # define NID_ms_code_com 135
732
+ # define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L
733
+
734
+ # define SN_ms_ctl_sign "msCTLSign"
735
+ # define LN_ms_ctl_sign "Microsoft Trust List Signing"
736
+ # define NID_ms_ctl_sign 136
737
+ # define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L
738
+
739
+ # define SN_ms_sgc "msSGC"
740
+ # define LN_ms_sgc "Microsoft Server Gated Crypto"
741
+ # define NID_ms_sgc 137
742
+ # define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L
743
+
744
+ # define SN_ms_efs "msEFS"
745
+ # define LN_ms_efs "Microsoft Encrypted File System"
746
+ # define NID_ms_efs 138
747
+ # define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L
748
+
749
+ /* Additional usage: Netscape */
750
+
751
+ # define SN_ns_sgc "nsSGC"
752
+ # define LN_ns_sgc "Netscape Server Gated Crypto"
753
+ # define NID_ns_sgc 139
754
+ # define OBJ_ns_sgc OBJ_netscape,4L,1L
755
+
756
+ # define SN_delta_crl "deltaCRL"
757
+ # define LN_delta_crl "X509v3 Delta CRL Indicator"
758
+ # define NID_delta_crl 140
759
+ # define OBJ_delta_crl OBJ_id_ce,27L
760
+
761
+ # define SN_crl_reason "CRLReason"
762
+ # define LN_crl_reason "CRL Reason Code"
763
+ # define NID_crl_reason 141
764
+ # define OBJ_crl_reason OBJ_id_ce,21L
765
+
766
+ # define SN_invalidity_date "invalidityDate"
767
+ # define LN_invalidity_date "Invalidity Date"
768
+ # define NID_invalidity_date 142
769
+ # define OBJ_invalidity_date OBJ_id_ce,24L
770
+
771
+ # define SN_sxnet "SXNetID"
772
+ # define LN_sxnet "Strong Extranet ID"
773
+ # define NID_sxnet 143
774
+ # define OBJ_sxnet 1L,3L,101L,1L,4L,1L
775
+
776
+ /* PKCS12 and related OBJECT IDENTIFIERS */
777
+
778
+ # define OBJ_pkcs12 OBJ_pkcs,12L
779
+ # define OBJ_pkcs12_pbeids OBJ_pkcs12, 1
780
+
781
+ # define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128"
782
+ # define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4"
783
+ # define NID_pbe_WithSHA1And128BitRC4 144
784
+ # define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L
785
+
786
+ # define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40"
787
+ # define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4"
788
+ # define NID_pbe_WithSHA1And40BitRC4 145
789
+ # define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L
790
+
791
+ # define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES"
792
+ # define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC"
793
+ # define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146
794
+ # define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L
795
+
796
+ # define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES"
797
+ # define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC"
798
+ # define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147
799
+ # define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L
800
+
801
+ # define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128"
802
+ # define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC"
803
+ # define NID_pbe_WithSHA1And128BitRC2_CBC 148
804
+ # define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L
805
+
806
+ # define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40"
807
+ # define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC"
808
+ # define NID_pbe_WithSHA1And40BitRC2_CBC 149
809
+ # define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L
810
+
811
+ # define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L
812
+
813
+ # define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L
814
+
815
+ # define LN_keyBag "keyBag"
816
+ # define NID_keyBag 150
817
+ # define OBJ_keyBag OBJ_pkcs12_BagIds, 1L
818
+
819
+ # define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag"
820
+ # define NID_pkcs8ShroudedKeyBag 151
821
+ # define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L
822
+
823
+ # define LN_certBag "certBag"
824
+ # define NID_certBag 152
825
+ # define OBJ_certBag OBJ_pkcs12_BagIds, 3L
826
+
827
+ # define LN_crlBag "crlBag"
828
+ # define NID_crlBag 153
829
+ # define OBJ_crlBag OBJ_pkcs12_BagIds, 4L
830
+
831
+ # define LN_secretBag "secretBag"
832
+ # define NID_secretBag 154
833
+ # define OBJ_secretBag OBJ_pkcs12_BagIds, 5L
834
+
835
+ # define LN_safeContentsBag "safeContentsBag"
836
+ # define NID_safeContentsBag 155
837
+ # define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L
838
+
839
+ # define LN_friendlyName "friendlyName"
840
+ # define NID_friendlyName 156
841
+ # define OBJ_friendlyName OBJ_pkcs9, 20L
842
+
843
+ # define LN_localKeyID "localKeyID"
844
+ # define NID_localKeyID 157
845
+ # define OBJ_localKeyID OBJ_pkcs9, 21L
846
+
847
+ # define OBJ_certTypes OBJ_pkcs9, 22L
848
+
849
+ # define LN_x509Certificate "x509Certificate"
850
+ # define NID_x509Certificate 158
851
+ # define OBJ_x509Certificate OBJ_certTypes, 1L
852
+
853
+ # define LN_sdsiCertificate "sdsiCertificate"
854
+ # define NID_sdsiCertificate 159
855
+ # define OBJ_sdsiCertificate OBJ_certTypes, 2L
856
+
857
+ # define OBJ_crlTypes OBJ_pkcs9, 23L
858
+
859
+ # define LN_x509Crl "x509Crl"
860
+ # define NID_x509Crl 160
861
+ # define OBJ_x509Crl OBJ_crlTypes, 1L
862
+
863
+ /* PKCS#5 v2 OIDs */
864
+
865
+ # define LN_pbes2 "PBES2"
866
+ # define NID_pbes2 161
867
+ # define OBJ_pbes2 OBJ_pkcs,5L,13L
868
+
869
+ # define LN_pbmac1 "PBMAC1"
870
+ # define NID_pbmac1 162
871
+ # define OBJ_pbmac1 OBJ_pkcs,5L,14L
872
+
873
+ # define LN_hmacWithSHA1 "hmacWithSHA1"
874
+ # define NID_hmacWithSHA1 163
875
+ # define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L
876
+
877
+ /* Policy Qualifier Ids */
878
+
879
+ # define LN_id_qt_cps "Policy Qualifier CPS"
880
+ # define SN_id_qt_cps "id-qt-cps"
881
+ # define NID_id_qt_cps 164
882
+ # define OBJ_id_qt_cps OBJ_id_pkix,2L,1L
883
+
884
+ # define LN_id_qt_unotice "Policy Qualifier User Notice"
885
+ # define SN_id_qt_unotice "id-qt-unotice"
886
+ # define NID_id_qt_unotice 165
887
+ # define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L
888
+
889
+ # define SN_rc2_64_cbc "RC2-64-CBC"
890
+ # define LN_rc2_64_cbc "rc2-64-cbc"
891
+ # define NID_rc2_64_cbc 166
892
+
893
+ # define SN_SMIMECapabilities "SMIME-CAPS"
894
+ # define LN_SMIMECapabilities "S/MIME Capabilities"
895
+ # define NID_SMIMECapabilities 167
896
+ # define OBJ_SMIMECapabilities OBJ_pkcs9,15L
897
+
898
+ # define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64"
899
+ # define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC"
900
+ # define NID_pbeWithMD2AndRC2_CBC 168
901
+ # define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L
902
+
903
+ # define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64"
904
+ # define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC"
905
+ # define NID_pbeWithMD5AndRC2_CBC 169
906
+ # define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L
907
+
908
+ # define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES"
909
+ # define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC"
910
+ # define NID_pbeWithSHA1AndDES_CBC 170
911
+ # define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L
912
+
913
+ /* Extension request OIDs */
914
+
915
+ # define LN_ms_ext_req "Microsoft Extension Request"
916
+ # define SN_ms_ext_req "msExtReq"
917
+ # define NID_ms_ext_req 171
918
+ # define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L
919
+
920
+ # define LN_ext_req "Extension Request"
921
+ # define SN_ext_req "extReq"
922
+ # define NID_ext_req 172
923
+ # define OBJ_ext_req OBJ_pkcs9,14L
924
+
925
+ # define SN_name "name"
926
+ # define LN_name "name"
927
+ # define NID_name 173
928
+ # define OBJ_name OBJ_X509,41L
929
+
930
+ # define SN_dnQualifier "dnQualifier"
931
+ # define LN_dnQualifier "dnQualifier"
932
+ # define NID_dnQualifier 174
933
+ # define OBJ_dnQualifier OBJ_X509,46L
934
+
935
+ # define SN_id_pe "id-pe"
936
+ # define NID_id_pe 175
937
+ # define OBJ_id_pe OBJ_id_pkix,1L
938
+
939
+ # define SN_id_ad "id-ad"
940
+ # define NID_id_ad 176
941
+ # define OBJ_id_ad OBJ_id_pkix,48L
942
+
943
+ # define SN_info_access "authorityInfoAccess"
944
+ # define LN_info_access "Authority Information Access"
945
+ # define NID_info_access 177
946
+ # define OBJ_info_access OBJ_id_pe,1L
947
+
948
+ # define SN_ad_OCSP "OCSP"
949
+ # define LN_ad_OCSP "OCSP"
950
+ # define NID_ad_OCSP 178
951
+ # define OBJ_ad_OCSP OBJ_id_ad,1L
952
+
953
+ # define SN_ad_ca_issuers "caIssuers"
954
+ # define LN_ad_ca_issuers "CA Issuers"
955
+ # define NID_ad_ca_issuers 179
956
+ # define OBJ_ad_ca_issuers OBJ_id_ad,2L
957
+
958
+ # define SN_OCSP_sign "OCSPSigning"
959
+ # define LN_OCSP_sign "OCSP Signing"
960
+ # define NID_OCSP_sign 180
961
+ # define OBJ_OCSP_sign OBJ_id_kp,9L
962
+ # endif /* USE_OBJ_MAC */
963
+
964
+ # include <openssl/bio.h>
965
+ # include <openssl/asn1.h>
966
+
967
+ # define OBJ_NAME_TYPE_UNDEF 0x00
968
+ # define OBJ_NAME_TYPE_MD_METH 0x01
969
+ # define OBJ_NAME_TYPE_CIPHER_METH 0x02
970
+ # define OBJ_NAME_TYPE_PKEY_METH 0x03
971
+ # define OBJ_NAME_TYPE_COMP_METH 0x04
972
+ # define OBJ_NAME_TYPE_NUM 0x05
973
+
974
+ # define OBJ_NAME_ALIAS 0x8000
975
+
976
+ # define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01
977
+ # define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02
978
+
979
+
980
+ #ifdef __cplusplus
981
+ extern "C" {
982
+ #endif
983
+
984
+ typedef struct obj_name_st {
985
+ int type;
986
+ int alias;
987
+ const char *name;
988
+ const char *data;
989
+ } OBJ_NAME;
990
+
991
+ # define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c)
992
+
993
+ int OBJ_NAME_init(void);
994
+ int OBJ_NAME_new_index(unsigned long (*hash_func) (const char *),
995
+ int (*cmp_func) (const char *, const char *),
996
+ void (*free_func) (const char *, int, const char *));
997
+ const char *OBJ_NAME_get(const char *name, int type);
998
+ int OBJ_NAME_add(const char *name, int type, const char *data);
999
+ int OBJ_NAME_remove(const char *name, int type);
1000
+ void OBJ_NAME_cleanup(int type); /* -1 for everything */
1001
+ void OBJ_NAME_do_all(int type, void (*fn) (const OBJ_NAME *, void *arg),
1002
+ void *arg);
1003
+ void OBJ_NAME_do_all_sorted(int type,
1004
+ void (*fn) (const OBJ_NAME *, void *arg),
1005
+ void *arg);
1006
+
1007
+ ASN1_OBJECT *OBJ_dup(const ASN1_OBJECT *o);
1008
+ ASN1_OBJECT *OBJ_nid2obj(int n);
1009
+ const char *OBJ_nid2ln(int n);
1010
+ const char *OBJ_nid2sn(int n);
1011
+ int OBJ_obj2nid(const ASN1_OBJECT *o);
1012
+ ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name);
1013
+ int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name);
1014
+ int OBJ_txt2nid(const char *s);
1015
+ int OBJ_ln2nid(const char *s);
1016
+ int OBJ_sn2nid(const char *s);
1017
+ int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b);
1018
+ const void *OBJ_bsearch_(const void *key, const void *base, int num, int size,
1019
+ int (*cmp) (const void *, const void *));
1020
+ const void *OBJ_bsearch_ex_(const void *key, const void *base, int num,
1021
+ int size,
1022
+ int (*cmp) (const void *, const void *),
1023
+ int flags);
1024
+
1025
+ # define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \
1026
+ static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \
1027
+ static int nm##_cmp(type1 const *, type2 const *); \
1028
+ scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
1029
+
1030
+ # define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \
1031
+ _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp)
1032
+ # define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \
1033
+ type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num)
1034
+
1035
+ /*-
1036
+ * Unsolved problem: if a type is actually a pointer type, like
1037
+ * nid_triple is, then its impossible to get a const where you need
1038
+ * it. Consider:
1039
+ *
1040
+ * typedef int nid_triple[3];
1041
+ * const void *a_;
1042
+ * const nid_triple const *a = a_;
1043
+ *
1044
+ * The assignement discards a const because what you really want is:
1045
+ *
1046
+ * const int const * const *a = a_;
1047
+ *
1048
+ * But if you do that, you lose the fact that a is an array of 3 ints,
1049
+ * which breaks comparison functions.
1050
+ *
1051
+ * Thus we end up having to cast, sadly, or unpack the
1052
+ * declarations. Or, as I finally did in this case, delcare nid_triple
1053
+ * to be a struct, which it should have been in the first place.
1054
+ *
1055
+ * Ben, August 2008.
1056
+ *
1057
+ * Also, strictly speaking not all types need be const, but handling
1058
+ * the non-constness means a lot of complication, and in practice
1059
+ * comparison routines do always not touch their arguments.
1060
+ */
1061
+
1062
+ # define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \
1063
+ static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \
1064
+ { \
1065
+ type1 const *a = a_; \
1066
+ type2 const *b = b_; \
1067
+ return nm##_cmp(a,b); \
1068
+ } \
1069
+ static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
1070
+ { \
1071
+ return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
1072
+ nm##_cmp_BSEARCH_CMP_FN); \
1073
+ } \
1074
+ extern void dummy_prototype(void)
1075
+
1076
+ # define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \
1077
+ static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \
1078
+ { \
1079
+ type1 const *a = a_; \
1080
+ type2 const *b = b_; \
1081
+ return nm##_cmp(a,b); \
1082
+ } \
1083
+ type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \
1084
+ { \
1085
+ return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \
1086
+ nm##_cmp_BSEARCH_CMP_FN); \
1087
+ } \
1088
+ extern void dummy_prototype(void)
1089
+
1090
+ # define OBJ_bsearch(type1,key,type2,base,num,cmp) \
1091
+ ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
1092
+ num,sizeof(type2), \
1093
+ ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \
1094
+ (void)CHECKED_PTR_OF(type2,cmp##_type_2), \
1095
+ cmp##_BSEARCH_CMP_FN)))
1096
+
1097
+ # define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \
1098
+ ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \
1099
+ num,sizeof(type2), \
1100
+ ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \
1101
+ (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \
1102
+ cmp##_BSEARCH_CMP_FN)),flags)
1103
+
1104
+ int OBJ_new_nid(int num);
1105
+ int OBJ_add_object(const ASN1_OBJECT *obj);
1106
+ int OBJ_create(const char *oid, const char *sn, const char *ln);
1107
+ void OBJ_cleanup(void);
1108
+ int OBJ_create_objects(BIO *in);
1109
+
1110
+ int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid);
1111
+ int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid);
1112
+ int OBJ_add_sigid(int signid, int dig_id, int pkey_id);
1113
+ void OBJ_sigid_free(void);
1114
+
1115
+ extern int obj_cleanup_defer;
1116
+ void check_defer(int nid);
1117
+
1118
+ /* BEGIN ERROR CODES */
1119
+ /*
1120
+ * The following lines are auto generated by the script mkerr.pl. Any changes
1121
+ * made after this point may be overwritten when the script is next run.
1122
+ */
1123
+ void ERR_load_OBJ_strings(void);
1124
+
1125
+ /* Error codes for the OBJ functions. */
1126
+
1127
+ /* Function codes. */
1128
+ # define OBJ_F_OBJ_ADD_OBJECT 105
1129
+ # define OBJ_F_OBJ_CREATE 100
1130
+ # define OBJ_F_OBJ_DUP 101
1131
+ # define OBJ_F_OBJ_NAME_NEW_INDEX 106
1132
+ # define OBJ_F_OBJ_NID2LN 102
1133
+ # define OBJ_F_OBJ_NID2OBJ 103
1134
+ # define OBJ_F_OBJ_NID2SN 104
1135
+
1136
+ /* Reason codes. */
1137
+ # define OBJ_R_MALLOC_FAILURE 100
1138
+ # define OBJ_R_UNKNOWN_NID 101
1139
+
1140
+ #ifdef __cplusplus
1141
+ }
1142
+ #endif
1143
+ #endif