openssl_rsa_pss_verify 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +2 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +35 -0
  7. data/README +1 -0
  8. data/Rakefile +4 -0
  9. data/ext/openssl_rsa_pss_verify/extconf.rb +15 -0
  10. data/ext/openssl_rsa_pss_verify/openssl_rsa_pss_verify_ext.c +56 -0
  11. data/lib/openssl_rsa_pss_verify/version.rb +3 -0
  12. data/lib/openssl_rsa_pss_verify.rb +2 -0
  13. data/openssl_rsa_pss_verify.gemspec +26 -0
  14. data/tasks/compile.rake +12 -0
  15. data/tasks/rspec.rake +12 -0
  16. data/vendor/openssl/include/openssl/aes.h +147 -0
  17. data/vendor/openssl/include/openssl/asn1.h +1404 -0
  18. data/vendor/openssl/include/openssl/asn1_mac.h +578 -0
  19. data/vendor/openssl/include/openssl/asn1t.h +960 -0
  20. data/vendor/openssl/include/openssl/bio.h +847 -0
  21. data/vendor/openssl/include/openssl/blowfish.h +129 -0
  22. data/vendor/openssl/include/openssl/bn.h +891 -0
  23. data/vendor/openssl/include/openssl/buffer.h +119 -0
  24. data/vendor/openssl/include/openssl/camellia.h +130 -0
  25. data/vendor/openssl/include/openssl/cast.h +107 -0
  26. data/vendor/openssl/include/openssl/cmac.h +82 -0
  27. data/vendor/openssl/include/openssl/cms.h +501 -0
  28. data/vendor/openssl/include/openssl/comp.h +80 -0
  29. data/vendor/openssl/include/openssl/conf.h +263 -0
  30. data/vendor/openssl/include/openssl/conf_api.h +89 -0
  31. data/vendor/openssl/include/openssl/crypto.h +611 -0
  32. data/vendor/openssl/include/openssl/des.h +248 -0
  33. data/vendor/openssl/include/openssl/des_old.h +446 -0
  34. data/vendor/openssl/include/openssl/dh.h +280 -0
  35. data/vendor/openssl/include/openssl/dsa.h +327 -0
  36. data/vendor/openssl/include/openssl/dso.h +409 -0
  37. data/vendor/openssl/include/openssl/dtls1.h +287 -0
  38. data/vendor/openssl/include/openssl/e_os2.h +315 -0
  39. data/vendor/openssl/include/openssl/ebcdic.h +19 -0
  40. data/vendor/openssl/include/openssl/ec.h +1167 -0
  41. data/vendor/openssl/include/openssl/ecdh.h +125 -0
  42. data/vendor/openssl/include/openssl/ecdsa.h +260 -0
  43. data/vendor/openssl/include/openssl/engine.h +842 -0
  44. data/vendor/openssl/include/openssl/err.h +386 -0
  45. data/vendor/openssl/include/openssl/evp.h +1409 -0
  46. data/vendor/openssl/include/openssl/hmac.h +110 -0
  47. data/vendor/openssl/include/openssl/idea.h +103 -0
  48. data/vendor/openssl/include/openssl/krb5_asn.h +256 -0
  49. data/vendor/openssl/include/openssl/kssl.h +183 -0
  50. data/vendor/openssl/include/openssl/lhash.h +241 -0
  51. data/vendor/openssl/include/openssl/md4.h +120 -0
  52. data/vendor/openssl/include/openssl/md5.h +120 -0
  53. data/vendor/openssl/include/openssl/mdc2.h +98 -0
  54. data/vendor/openssl/include/openssl/modes.h +135 -0
  55. data/vendor/openssl/include/openssl/obj_mac.h +4032 -0
  56. data/vendor/openssl/include/openssl/objects.h +1138 -0
  57. data/vendor/openssl/include/openssl/ocsp.h +623 -0
  58. data/vendor/openssl/include/openssl/opensslconf.h +234 -0
  59. data/vendor/openssl/include/openssl/opensslv.h +89 -0
  60. data/vendor/openssl/include/openssl/ossl_typ.h +202 -0
  61. data/vendor/openssl/include/openssl/pem.h +641 -0
  62. data/vendor/openssl/include/openssl/pem2.h +70 -0
  63. data/vendor/openssl/include/openssl/pkcs12.h +331 -0
  64. data/vendor/openssl/include/openssl/pkcs7.h +499 -0
  65. data/vendor/openssl/include/openssl/pqueue.h +94 -0
  66. data/vendor/openssl/include/openssl/rand.h +149 -0
  67. data/vendor/openssl/include/openssl/rc2.h +103 -0
  68. data/vendor/openssl/include/openssl/rc4.h +90 -0
  69. data/vendor/openssl/include/openssl/ripemd.h +107 -0
  70. data/vendor/openssl/include/openssl/rsa.h +582 -0
  71. data/vendor/openssl/include/openssl/safestack.h +2663 -0
  72. data/vendor/openssl/include/openssl/seed.h +139 -0
  73. data/vendor/openssl/include/openssl/sha.h +214 -0
  74. data/vendor/openssl/include/openssl/srp.h +172 -0
  75. data/vendor/openssl/include/openssl/srtp.h +145 -0
  76. data/vendor/openssl/include/openssl/ssl.h +2579 -0
  77. data/vendor/openssl/include/openssl/ssl2.h +272 -0
  78. data/vendor/openssl/include/openssl/ssl23.h +83 -0
  79. data/vendor/openssl/include/openssl/ssl3.h +684 -0
  80. data/vendor/openssl/include/openssl/stack.h +108 -0
  81. data/vendor/openssl/include/openssl/symhacks.h +475 -0
  82. data/vendor/openssl/include/openssl/tls1.h +735 -0
  83. data/vendor/openssl/include/openssl/ts.h +858 -0
  84. data/vendor/openssl/include/openssl/txt_db.h +112 -0
  85. data/vendor/openssl/include/openssl/ui.h +383 -0
  86. data/vendor/openssl/include/openssl/ui_compat.h +83 -0
  87. data/vendor/openssl/include/openssl/whrlpool.h +41 -0
  88. data/vendor/openssl/include/openssl/x509.h +1297 -0
  89. data/vendor/openssl/include/openssl/x509_vfy.h +567 -0
  90. data/vendor/openssl/include/openssl/x509v3.h +1007 -0
  91. data/vendor/openssl/lib/engines/lib4758cca.so +0 -0
  92. data/vendor/openssl/lib/engines/libaep.so +0 -0
  93. data/vendor/openssl/lib/engines/libatalla.so +0 -0
  94. data/vendor/openssl/lib/engines/libcapi.so +0 -0
  95. data/vendor/openssl/lib/engines/libchil.so +0 -0
  96. data/vendor/openssl/lib/engines/libcswift.so +0 -0
  97. data/vendor/openssl/lib/engines/libgmp.so +0 -0
  98. data/vendor/openssl/lib/engines/libgost.so +0 -0
  99. data/vendor/openssl/lib/engines/libnuron.so +0 -0
  100. data/vendor/openssl/lib/engines/libpadlock.so +0 -0
  101. data/vendor/openssl/lib/engines/libsureware.so +0 -0
  102. data/vendor/openssl/lib/engines/libubsec.so +0 -0
  103. data/vendor/openssl/lib/libcrypto.a +0 -0
  104. data/vendor/openssl/lib/libcrypto.so +0 -0
  105. data/vendor/openssl/lib/libcrypto.so.1.0.0 +0 -0
  106. data/vendor/openssl/lib/libssl.a +0 -0
  107. data/vendor/openssl/lib/libssl.so +0 -0
  108. data/vendor/openssl/lib/libssl.so.1.0.0 +0 -0
  109. data/vendor/openssl/lib/pkgconfig/libcrypto.pc +12 -0
  110. data/vendor/openssl/lib/pkgconfig/libssl.pc +12 -0
  111. data/vendor/openssl/lib/pkgconfig/openssl.pc +12 -0
  112. metadata +208 -0
@@ -0,0 +1,272 @@
1
+ /* ssl/ssl2.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_SSL2_H
60
+ #define HEADER_SSL2_H
61
+
62
+ #ifdef __cplusplus
63
+ extern "C" {
64
+ #endif
65
+
66
+ /* Protocol Version Codes */
67
+ #define SSL2_VERSION 0x0002
68
+ #define SSL2_VERSION_MAJOR 0x00
69
+ #define SSL2_VERSION_MINOR 0x02
70
+ /* #define SSL2_CLIENT_VERSION 0x0002 */
71
+ /* #define SSL2_SERVER_VERSION 0x0002 */
72
+
73
+ /* Protocol Message Codes */
74
+ #define SSL2_MT_ERROR 0
75
+ #define SSL2_MT_CLIENT_HELLO 1
76
+ #define SSL2_MT_CLIENT_MASTER_KEY 2
77
+ #define SSL2_MT_CLIENT_FINISHED 3
78
+ #define SSL2_MT_SERVER_HELLO 4
79
+ #define SSL2_MT_SERVER_VERIFY 5
80
+ #define SSL2_MT_SERVER_FINISHED 6
81
+ #define SSL2_MT_REQUEST_CERTIFICATE 7
82
+ #define SSL2_MT_CLIENT_CERTIFICATE 8
83
+
84
+ /* Error Message Codes */
85
+ #define SSL2_PE_UNDEFINED_ERROR 0x0000
86
+ #define SSL2_PE_NO_CIPHER 0x0001
87
+ #define SSL2_PE_NO_CERTIFICATE 0x0002
88
+ #define SSL2_PE_BAD_CERTIFICATE 0x0004
89
+ #define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006
90
+
91
+ /* Cipher Kind Values */
92
+ #define SSL2_CK_NULL_WITH_MD5 0x02000000 /* v3 */
93
+ #define SSL2_CK_RC4_128_WITH_MD5 0x02010080
94
+ #define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080
95
+ #define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080
96
+ #define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080
97
+ #define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080
98
+ #define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040
99
+ #define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140 /* v3 */
100
+ #define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0
101
+ #define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0 /* v3 */
102
+ #define SSL2_CK_RC4_64_WITH_MD5 0x02080080 /* MS hack */
103
+
104
+ #define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800 /* SSLeay */
105
+ #define SSL2_CK_NULL 0x02ff0810 /* SSLeay */
106
+
107
+ #define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1"
108
+ #define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5"
109
+ #define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5"
110
+ #define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5"
111
+ #define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5"
112
+ #define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5"
113
+ #define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5"
114
+ #define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5"
115
+ #define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA"
116
+ #define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5"
117
+ #define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA"
118
+ #define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5"
119
+
120
+ #define SSL2_TXT_NULL "NULL"
121
+
122
+ /* Flags for the SSL_CIPHER.algorithm2 field */
123
+ #define SSL2_CF_5_BYTE_ENC 0x01
124
+ #define SSL2_CF_8_BYTE_ENC 0x02
125
+
126
+ /* Certificate Type Codes */
127
+ #define SSL2_CT_X509_CERTIFICATE 0x01
128
+
129
+ /* Authentication Type Code */
130
+ #define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01
131
+
132
+ #define SSL2_MAX_SSL_SESSION_ID_LENGTH 32
133
+
134
+ /* Upper/Lower Bounds */
135
+ #define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256
136
+ #ifdef OPENSSL_SYS_MPE
137
+ #define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u
138
+ #else
139
+ #define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u /* 2^15-1 */
140
+ #endif
141
+ #define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383 /* 2^14-1 */
142
+
143
+ #define SSL2_CHALLENGE_LENGTH 16
144
+ /*#define SSL2_CHALLENGE_LENGTH 32 */
145
+ #define SSL2_MIN_CHALLENGE_LENGTH 16
146
+ #define SSL2_MAX_CHALLENGE_LENGTH 32
147
+ #define SSL2_CONNECTION_ID_LENGTH 16
148
+ #define SSL2_MAX_CONNECTION_ID_LENGTH 16
149
+ #define SSL2_SSL_SESSION_ID_LENGTH 16
150
+ #define SSL2_MAX_CERT_CHALLENGE_LENGTH 32
151
+ #define SSL2_MIN_CERT_CHALLENGE_LENGTH 16
152
+ #define SSL2_MAX_KEY_MATERIAL_LENGTH 24
153
+
154
+ #ifndef HEADER_SSL_LOCL_H
155
+ #define CERT char
156
+ #endif
157
+
158
+ #ifndef OPENSSL_NO_SSL_INTERN
159
+
160
+ typedef struct ssl2_state_st
161
+ {
162
+ int three_byte_header;
163
+ int clear_text; /* clear text */
164
+ int escape; /* not used in SSLv2 */
165
+ int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */
166
+
167
+ /* non-blocking io info, used to make sure the same
168
+ * args were passwd */
169
+ unsigned int wnum; /* number of bytes sent so far */
170
+ int wpend_tot;
171
+ const unsigned char *wpend_buf;
172
+
173
+ int wpend_off; /* offset to data to write */
174
+ int wpend_len; /* number of bytes passwd to write */
175
+ int wpend_ret; /* number of bytes to return to caller */
176
+
177
+ /* buffer raw data */
178
+ int rbuf_left;
179
+ int rbuf_offs;
180
+ unsigned char *rbuf;
181
+ unsigned char *wbuf;
182
+
183
+ unsigned char *write_ptr;/* used to point to the start due to
184
+ * 2/3 byte header. */
185
+
186
+ unsigned int padding;
187
+ unsigned int rlength; /* passed to ssl2_enc */
188
+ int ract_data_length; /* Set when things are encrypted. */
189
+ unsigned int wlength; /* passed to ssl2_enc */
190
+ int wact_data_length; /* Set when things are decrypted. */
191
+ unsigned char *ract_data;
192
+ unsigned char *wact_data;
193
+ unsigned char *mac_data;
194
+
195
+ unsigned char *read_key;
196
+ unsigned char *write_key;
197
+
198
+ /* Stuff specifically to do with this SSL session */
199
+ unsigned int challenge_length;
200
+ unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH];
201
+ unsigned int conn_id_length;
202
+ unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH];
203
+ unsigned int key_material_length;
204
+ unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH*2];
205
+
206
+ unsigned long read_sequence;
207
+ unsigned long write_sequence;
208
+
209
+ struct {
210
+ unsigned int conn_id_length;
211
+ unsigned int cert_type;
212
+ unsigned int cert_length;
213
+ unsigned int csl;
214
+ unsigned int clear;
215
+ unsigned int enc;
216
+ unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH];
217
+ unsigned int cipher_spec_length;
218
+ unsigned int session_id_length;
219
+ unsigned int clen;
220
+ unsigned int rlen;
221
+ } tmp;
222
+ } SSL2_STATE;
223
+
224
+ #endif
225
+
226
+ /* SSLv2 */
227
+ /* client */
228
+ #define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT)
229
+ #define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT)
230
+ #define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT)
231
+ #define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT)
232
+ #define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT)
233
+ #define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT)
234
+ #define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT)
235
+ #define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT)
236
+ #define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT)
237
+ #define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT)
238
+ #define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT)
239
+ #define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT)
240
+ #define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT)
241
+ #define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT)
242
+ #define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT)
243
+ #define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT)
244
+ #define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT)
245
+ #define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT)
246
+ /* server */
247
+ #define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT)
248
+ #define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT)
249
+ #define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT)
250
+ #define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT)
251
+ #define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT)
252
+ #define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT)
253
+ #define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT)
254
+ #define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT)
255
+ #define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT)
256
+ #define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT)
257
+ #define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT)
258
+ #define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT)
259
+ #define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT)
260
+ #define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT)
261
+ #define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT)
262
+ #define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT)
263
+ #define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT)
264
+ #define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT)
265
+ #define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT)
266
+ #define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT)
267
+
268
+ #ifdef __cplusplus
269
+ }
270
+ #endif
271
+ #endif
272
+
@@ -0,0 +1,83 @@
1
+ /* ssl/ssl23.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_SSL23_H
60
+ #define HEADER_SSL23_H
61
+
62
+ #ifdef __cplusplus
63
+ extern "C" {
64
+ #endif
65
+
66
+ /*client */
67
+ /* write to server */
68
+ #define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT)
69
+ #define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT)
70
+ /* read from server */
71
+ #define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT)
72
+ #define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT)
73
+
74
+ /* server */
75
+ /* read from client */
76
+ #define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT)
77
+ #define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT)
78
+
79
+ #ifdef __cplusplus
80
+ }
81
+ #endif
82
+ #endif
83
+