openssl_rsa_pss_verify 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. data/ext/openssl_rsa_pss_verify/extconf.rb +0 -8
  2. data/lib/openssl_rsa_pss_verify/version.rb +1 -1
  3. metadata +1 -97
  4. data/vendor/openssl/include/openssl/aes.h +0 -147
  5. data/vendor/openssl/include/openssl/asn1.h +0 -1404
  6. data/vendor/openssl/include/openssl/asn1_mac.h +0 -578
  7. data/vendor/openssl/include/openssl/asn1t.h +0 -960
  8. data/vendor/openssl/include/openssl/bio.h +0 -847
  9. data/vendor/openssl/include/openssl/blowfish.h +0 -129
  10. data/vendor/openssl/include/openssl/bn.h +0 -891
  11. data/vendor/openssl/include/openssl/buffer.h +0 -119
  12. data/vendor/openssl/include/openssl/camellia.h +0 -130
  13. data/vendor/openssl/include/openssl/cast.h +0 -107
  14. data/vendor/openssl/include/openssl/cmac.h +0 -82
  15. data/vendor/openssl/include/openssl/cms.h +0 -501
  16. data/vendor/openssl/include/openssl/comp.h +0 -80
  17. data/vendor/openssl/include/openssl/conf.h +0 -263
  18. data/vendor/openssl/include/openssl/conf_api.h +0 -89
  19. data/vendor/openssl/include/openssl/crypto.h +0 -611
  20. data/vendor/openssl/include/openssl/des.h +0 -248
  21. data/vendor/openssl/include/openssl/des_old.h +0 -446
  22. data/vendor/openssl/include/openssl/dh.h +0 -280
  23. data/vendor/openssl/include/openssl/dsa.h +0 -327
  24. data/vendor/openssl/include/openssl/dso.h +0 -409
  25. data/vendor/openssl/include/openssl/dtls1.h +0 -287
  26. data/vendor/openssl/include/openssl/e_os2.h +0 -315
  27. data/vendor/openssl/include/openssl/ebcdic.h +0 -19
  28. data/vendor/openssl/include/openssl/ec.h +0 -1167
  29. data/vendor/openssl/include/openssl/ecdh.h +0 -125
  30. data/vendor/openssl/include/openssl/ecdsa.h +0 -260
  31. data/vendor/openssl/include/openssl/engine.h +0 -842
  32. data/vendor/openssl/include/openssl/err.h +0 -386
  33. data/vendor/openssl/include/openssl/evp.h +0 -1409
  34. data/vendor/openssl/include/openssl/hmac.h +0 -110
  35. data/vendor/openssl/include/openssl/idea.h +0 -103
  36. data/vendor/openssl/include/openssl/krb5_asn.h +0 -256
  37. data/vendor/openssl/include/openssl/kssl.h +0 -183
  38. data/vendor/openssl/include/openssl/lhash.h +0 -241
  39. data/vendor/openssl/include/openssl/md4.h +0 -120
  40. data/vendor/openssl/include/openssl/md5.h +0 -120
  41. data/vendor/openssl/include/openssl/mdc2.h +0 -98
  42. data/vendor/openssl/include/openssl/modes.h +0 -135
  43. data/vendor/openssl/include/openssl/obj_mac.h +0 -4032
  44. data/vendor/openssl/include/openssl/objects.h +0 -1138
  45. data/vendor/openssl/include/openssl/ocsp.h +0 -623
  46. data/vendor/openssl/include/openssl/opensslconf.h +0 -234
  47. data/vendor/openssl/include/openssl/opensslv.h +0 -89
  48. data/vendor/openssl/include/openssl/ossl_typ.h +0 -202
  49. data/vendor/openssl/include/openssl/pem.h +0 -641
  50. data/vendor/openssl/include/openssl/pem2.h +0 -70
  51. data/vendor/openssl/include/openssl/pkcs12.h +0 -331
  52. data/vendor/openssl/include/openssl/pkcs7.h +0 -499
  53. data/vendor/openssl/include/openssl/pqueue.h +0 -94
  54. data/vendor/openssl/include/openssl/rand.h +0 -149
  55. data/vendor/openssl/include/openssl/rc2.h +0 -103
  56. data/vendor/openssl/include/openssl/rc4.h +0 -90
  57. data/vendor/openssl/include/openssl/ripemd.h +0 -107
  58. data/vendor/openssl/include/openssl/rsa.h +0 -582
  59. data/vendor/openssl/include/openssl/safestack.h +0 -2663
  60. data/vendor/openssl/include/openssl/seed.h +0 -139
  61. data/vendor/openssl/include/openssl/sha.h +0 -214
  62. data/vendor/openssl/include/openssl/srp.h +0 -172
  63. data/vendor/openssl/include/openssl/srtp.h +0 -145
  64. data/vendor/openssl/include/openssl/ssl.h +0 -2579
  65. data/vendor/openssl/include/openssl/ssl2.h +0 -272
  66. data/vendor/openssl/include/openssl/ssl23.h +0 -83
  67. data/vendor/openssl/include/openssl/ssl3.h +0 -684
  68. data/vendor/openssl/include/openssl/stack.h +0 -108
  69. data/vendor/openssl/include/openssl/symhacks.h +0 -475
  70. data/vendor/openssl/include/openssl/tls1.h +0 -735
  71. data/vendor/openssl/include/openssl/ts.h +0 -858
  72. data/vendor/openssl/include/openssl/txt_db.h +0 -112
  73. data/vendor/openssl/include/openssl/ui.h +0 -383
  74. data/vendor/openssl/include/openssl/ui_compat.h +0 -83
  75. data/vendor/openssl/include/openssl/whrlpool.h +0 -41
  76. data/vendor/openssl/include/openssl/x509.h +0 -1297
  77. data/vendor/openssl/include/openssl/x509_vfy.h +0 -567
  78. data/vendor/openssl/include/openssl/x509v3.h +0 -1007
  79. data/vendor/openssl/lib/engines/lib4758cca.so +0 -0
  80. data/vendor/openssl/lib/engines/libaep.so +0 -0
  81. data/vendor/openssl/lib/engines/libatalla.so +0 -0
  82. data/vendor/openssl/lib/engines/libcapi.so +0 -0
  83. data/vendor/openssl/lib/engines/libchil.so +0 -0
  84. data/vendor/openssl/lib/engines/libcswift.so +0 -0
  85. data/vendor/openssl/lib/engines/libgmp.so +0 -0
  86. data/vendor/openssl/lib/engines/libgost.so +0 -0
  87. data/vendor/openssl/lib/engines/libnuron.so +0 -0
  88. data/vendor/openssl/lib/engines/libpadlock.so +0 -0
  89. data/vendor/openssl/lib/engines/libsureware.so +0 -0
  90. data/vendor/openssl/lib/engines/libubsec.so +0 -0
  91. data/vendor/openssl/lib/libcrypto.a +0 -0
  92. data/vendor/openssl/lib/libcrypto.so +0 -0
  93. data/vendor/openssl/lib/libcrypto.so.1.0.0 +0 -0
  94. data/vendor/openssl/lib/libssl.a +0 -0
  95. data/vendor/openssl/lib/libssl.so +0 -0
  96. data/vendor/openssl/lib/libssl.so.1.0.0 +0 -0
  97. data/vendor/openssl/lib/pkgconfig/libcrypto.pc +0 -12
  98. data/vendor/openssl/lib/pkgconfig/libssl.pc +0 -12
  99. data/vendor/openssl/lib/pkgconfig/openssl.pc +0 -12
@@ -1,110 +0,0 @@
1
- /* crypto/hmac/hmac.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
- #ifndef HEADER_HMAC_H
59
- #define HEADER_HMAC_H
60
-
61
- #include <openssl/opensslconf.h>
62
-
63
- #ifdef OPENSSL_NO_HMAC
64
- #error HMAC is disabled.
65
- #endif
66
-
67
- #include <openssl/evp.h>
68
-
69
- #define HMAC_MAX_MD_CBLOCK 128 /* largest known is SHA512 */
70
-
71
- #ifdef __cplusplus
72
- extern "C" {
73
- #endif
74
-
75
- typedef struct hmac_ctx_st
76
- {
77
- const EVP_MD *md;
78
- EVP_MD_CTX md_ctx;
79
- EVP_MD_CTX i_ctx;
80
- EVP_MD_CTX o_ctx;
81
- unsigned int key_length;
82
- unsigned char key[HMAC_MAX_MD_CBLOCK];
83
- } HMAC_CTX;
84
-
85
- #define HMAC_size(e) (EVP_MD_size((e)->md))
86
-
87
-
88
- void HMAC_CTX_init(HMAC_CTX *ctx);
89
- void HMAC_CTX_cleanup(HMAC_CTX *ctx);
90
-
91
- #define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) /* deprecated */
92
-
93
- int HMAC_Init(HMAC_CTX *ctx, const void *key, int len,
94
- const EVP_MD *md); /* deprecated */
95
- int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
96
- const EVP_MD *md, ENGINE *impl);
97
- int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len);
98
- int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len);
99
- unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
100
- const unsigned char *d, size_t n, unsigned char *md,
101
- unsigned int *md_len);
102
- int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);
103
-
104
- void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);
105
-
106
- #ifdef __cplusplus
107
- }
108
- #endif
109
-
110
- #endif
@@ -1,103 +0,0 @@
1
- /* crypto/idea/idea.h */
2
- /* Copyright (C) 1995-1997 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_IDEA_H
60
- #define HEADER_IDEA_H
61
-
62
- #include <openssl/opensslconf.h> /* IDEA_INT, OPENSSL_NO_IDEA */
63
-
64
- #ifdef OPENSSL_NO_IDEA
65
- #error IDEA is disabled.
66
- #endif
67
-
68
- #define IDEA_ENCRYPT 1
69
- #define IDEA_DECRYPT 0
70
-
71
- #define IDEA_BLOCK 8
72
- #define IDEA_KEY_LENGTH 16
73
-
74
- #ifdef __cplusplus
75
- extern "C" {
76
- #endif
77
-
78
- typedef struct idea_key_st
79
- {
80
- IDEA_INT data[9][6];
81
- } IDEA_KEY_SCHEDULE;
82
-
83
- const char *idea_options(void);
84
- void idea_ecb_encrypt(const unsigned char *in, unsigned char *out,
85
- IDEA_KEY_SCHEDULE *ks);
86
- #ifdef OPENSSL_FIPS
87
- void private_idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks);
88
- #endif
89
- void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks);
90
- void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk);
91
- void idea_cbc_encrypt(const unsigned char *in, unsigned char *out,
92
- long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,int enc);
93
- void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out,
94
- long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
95
- int *num,int enc);
96
- void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out,
97
- long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, int *num);
98
- void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks);
99
- #ifdef __cplusplus
100
- }
101
- #endif
102
-
103
- #endif
@@ -1,256 +0,0 @@
1
- /* krb5_asn.h */
2
- /* Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project,
3
- ** using ocsp/{*.h,*asn*.c} as a starting point
4
- */
5
-
6
- /* ====================================================================
7
- * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
8
- *
9
- * Redistribution and use in source and binary forms, with or without
10
- * modification, are permitted provided that the following conditions
11
- * are met:
12
- *
13
- * 1. Redistributions of source code must retain the above copyright
14
- * notice, this list of conditions and the following disclaimer.
15
- *
16
- * 2. Redistributions in binary form must reproduce the above copyright
17
- * notice, this list of conditions and the following disclaimer in
18
- * the documentation and/or other materials provided with the
19
- * distribution.
20
- *
21
- * 3. All advertising materials mentioning features or use of this
22
- * software must display the following acknowledgment:
23
- * "This product includes software developed by the OpenSSL Project
24
- * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
25
- *
26
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
27
- * endorse or promote products derived from this software without
28
- * prior written permission. For written permission, please contact
29
- * openssl-core@openssl.org.
30
- *
31
- * 5. Products derived from this software may not be called "OpenSSL"
32
- * nor may "OpenSSL" appear in their names without prior written
33
- * permission of the OpenSSL Project.
34
- *
35
- * 6. Redistributions of any form whatsoever must retain the following
36
- * acknowledgment:
37
- * "This product includes software developed by the OpenSSL Project
38
- * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
39
- *
40
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
41
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
43
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
44
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
47
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
49
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51
- * OF THE POSSIBILITY OF SUCH DAMAGE.
52
- * ====================================================================
53
- *
54
- * This product includes cryptographic software written by Eric Young
55
- * (eay@cryptsoft.com). This product includes software written by Tim
56
- * Hudson (tjh@cryptsoft.com).
57
- *
58
- */
59
-
60
- #ifndef HEADER_KRB5_ASN_H
61
- #define HEADER_KRB5_ASN_H
62
-
63
- /*
64
- #include <krb5.h>
65
- */
66
- #include <openssl/safestack.h>
67
-
68
- #ifdef __cplusplus
69
- extern "C" {
70
- #endif
71
-
72
-
73
- /* ASN.1 from Kerberos RFC 1510
74
- */
75
-
76
- /* EncryptedData ::= SEQUENCE {
77
- ** etype[0] INTEGER, -- EncryptionType
78
- ** kvno[1] INTEGER OPTIONAL,
79
- ** cipher[2] OCTET STRING -- ciphertext
80
- ** }
81
- */
82
- typedef struct krb5_encdata_st
83
- {
84
- ASN1_INTEGER *etype;
85
- ASN1_INTEGER *kvno;
86
- ASN1_OCTET_STRING *cipher;
87
- } KRB5_ENCDATA;
88
-
89
- DECLARE_STACK_OF(KRB5_ENCDATA)
90
-
91
- /* PrincipalName ::= SEQUENCE {
92
- ** name-type[0] INTEGER,
93
- ** name-string[1] SEQUENCE OF GeneralString
94
- ** }
95
- */
96
- typedef struct krb5_princname_st
97
- {
98
- ASN1_INTEGER *nametype;
99
- STACK_OF(ASN1_GENERALSTRING) *namestring;
100
- } KRB5_PRINCNAME;
101
-
102
- DECLARE_STACK_OF(KRB5_PRINCNAME)
103
-
104
-
105
- /* Ticket ::= [APPLICATION 1] SEQUENCE {
106
- ** tkt-vno[0] INTEGER,
107
- ** realm[1] Realm,
108
- ** sname[2] PrincipalName,
109
- ** enc-part[3] EncryptedData
110
- ** }
111
- */
112
- typedef struct krb5_tktbody_st
113
- {
114
- ASN1_INTEGER *tktvno;
115
- ASN1_GENERALSTRING *realm;
116
- KRB5_PRINCNAME *sname;
117
- KRB5_ENCDATA *encdata;
118
- } KRB5_TKTBODY;
119
-
120
- typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET;
121
- DECLARE_STACK_OF(KRB5_TKTBODY)
122
-
123
-
124
- /* AP-REQ ::= [APPLICATION 14] SEQUENCE {
125
- ** pvno[0] INTEGER,
126
- ** msg-type[1] INTEGER,
127
- ** ap-options[2] APOptions,
128
- ** ticket[3] Ticket,
129
- ** authenticator[4] EncryptedData
130
- ** }
131
- **
132
- ** APOptions ::= BIT STRING {
133
- ** reserved(0), use-session-key(1), mutual-required(2) }
134
- */
135
- typedef struct krb5_ap_req_st
136
- {
137
- ASN1_INTEGER *pvno;
138
- ASN1_INTEGER *msgtype;
139
- ASN1_BIT_STRING *apoptions;
140
- KRB5_TICKET *ticket;
141
- KRB5_ENCDATA *authenticator;
142
- } KRB5_APREQBODY;
143
-
144
- typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ;
145
- DECLARE_STACK_OF(KRB5_APREQBODY)
146
-
147
-
148
- /* Authenticator Stuff */
149
-
150
-
151
- /* Checksum ::= SEQUENCE {
152
- ** cksumtype[0] INTEGER,
153
- ** checksum[1] OCTET STRING
154
- ** }
155
- */
156
- typedef struct krb5_checksum_st
157
- {
158
- ASN1_INTEGER *ctype;
159
- ASN1_OCTET_STRING *checksum;
160
- } KRB5_CHECKSUM;
161
-
162
- DECLARE_STACK_OF(KRB5_CHECKSUM)
163
-
164
-
165
- /* EncryptionKey ::= SEQUENCE {
166
- ** keytype[0] INTEGER,
167
- ** keyvalue[1] OCTET STRING
168
- ** }
169
- */
170
- typedef struct krb5_encryptionkey_st
171
- {
172
- ASN1_INTEGER *ktype;
173
- ASN1_OCTET_STRING *keyvalue;
174
- } KRB5_ENCKEY;
175
-
176
- DECLARE_STACK_OF(KRB5_ENCKEY)
177
-
178
-
179
- /* AuthorizationData ::= SEQUENCE OF SEQUENCE {
180
- ** ad-type[0] INTEGER,
181
- ** ad-data[1] OCTET STRING
182
- ** }
183
- */
184
- typedef struct krb5_authorization_st
185
- {
186
- ASN1_INTEGER *adtype;
187
- ASN1_OCTET_STRING *addata;
188
- } KRB5_AUTHDATA;
189
-
190
- DECLARE_STACK_OF(KRB5_AUTHDATA)
191
-
192
-
193
- /* -- Unencrypted authenticator
194
- ** Authenticator ::= [APPLICATION 2] SEQUENCE {
195
- ** authenticator-vno[0] INTEGER,
196
- ** crealm[1] Realm,
197
- ** cname[2] PrincipalName,
198
- ** cksum[3] Checksum OPTIONAL,
199
- ** cusec[4] INTEGER,
200
- ** ctime[5] KerberosTime,
201
- ** subkey[6] EncryptionKey OPTIONAL,
202
- ** seq-number[7] INTEGER OPTIONAL,
203
- ** authorization-data[8] AuthorizationData OPTIONAL
204
- ** }
205
- */
206
- typedef struct krb5_authenticator_st
207
- {
208
- ASN1_INTEGER *avno;
209
- ASN1_GENERALSTRING *crealm;
210
- KRB5_PRINCNAME *cname;
211
- KRB5_CHECKSUM *cksum;
212
- ASN1_INTEGER *cusec;
213
- ASN1_GENERALIZEDTIME *ctime;
214
- KRB5_ENCKEY *subkey;
215
- ASN1_INTEGER *seqnum;
216
- KRB5_AUTHDATA *authorization;
217
- } KRB5_AUTHENTBODY;
218
-
219
- typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT;
220
- DECLARE_STACK_OF(KRB5_AUTHENTBODY)
221
-
222
-
223
- /* DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) =
224
- ** type *name##_new(void);
225
- ** void name##_free(type *a);
226
- ** DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) =
227
- ** DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) =
228
- ** type *d2i_##name(type **a, const unsigned char **in, long len);
229
- ** int i2d_##name(type *a, unsigned char **out);
230
- ** DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it
231
- */
232
-
233
- DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA)
234
- DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME)
235
- DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY)
236
- DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY)
237
- DECLARE_ASN1_FUNCTIONS(KRB5_TICKET)
238
- DECLARE_ASN1_FUNCTIONS(KRB5_APREQ)
239
-
240
- DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM)
241
- DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY)
242
- DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA)
243
- DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY)
244
- DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT)
245
-
246
-
247
- /* BEGIN ERROR CODES */
248
- /* The following lines are auto generated by the script mkerr.pl. Any changes
249
- * made after this point may be overwritten when the script is next run.
250
- */
251
-
252
- #ifdef __cplusplus
253
- }
254
- #endif
255
- #endif
256
-
@@ -1,183 +0,0 @@
1
- /* ssl/kssl.h -*- mode: C; c-file-style: "eay" -*- */
2
- /* Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project 2000.
3
- * project 2000.
4
- */
5
- /* ====================================================================
6
- * Copyright (c) 2000 The OpenSSL Project. All rights reserved.
7
- *
8
- * Redistribution and use in source and binary forms, with or without
9
- * modification, are permitted provided that the following conditions
10
- * are met:
11
- *
12
- * 1. Redistributions of source code must retain the above copyright
13
- * notice, this list of conditions and the following disclaimer.
14
- *
15
- * 2. Redistributions in binary form must reproduce the above copyright
16
- * notice, this list of conditions and the following disclaimer in
17
- * the documentation and/or other materials provided with the
18
- * distribution.
19
- *
20
- * 3. All advertising materials mentioning features or use of this
21
- * software must display the following acknowledgment:
22
- * "This product includes software developed by the OpenSSL Project
23
- * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
24
- *
25
- * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
26
- * endorse or promote products derived from this software without
27
- * prior written permission. For written permission, please contact
28
- * licensing@OpenSSL.org.
29
- *
30
- * 5. Products derived from this software may not be called "OpenSSL"
31
- * nor may "OpenSSL" appear in their names without prior written
32
- * permission of the OpenSSL Project.
33
- *
34
- * 6. Redistributions of any form whatsoever must retain the following
35
- * acknowledgment:
36
- * "This product includes software developed by the OpenSSL Project
37
- * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
38
- *
39
- * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
40
- * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
41
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
42
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
43
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
44
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
45
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
46
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
47
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
48
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
49
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
50
- * OF THE POSSIBILITY OF SUCH DAMAGE.
51
- * ====================================================================
52
- *
53
- * This product includes cryptographic software written by Eric Young
54
- * (eay@cryptsoft.com). This product includes software written by Tim
55
- * Hudson (tjh@cryptsoft.com).
56
- *
57
- */
58
-
59
- /*
60
- ** 19990701 VRS Started.
61
- */
62
-
63
- #ifndef KSSL_H
64
- #define KSSL_H
65
-
66
- #include <openssl/opensslconf.h>
67
-
68
- #ifndef OPENSSL_NO_KRB5
69
-
70
- #include <stdio.h>
71
- #include <ctype.h>
72
- #include <krb5.h>
73
-
74
- #ifdef __cplusplus
75
- extern "C" {
76
- #endif
77
-
78
- /*
79
- ** Depending on which KRB5 implementation used, some types from
80
- ** the other may be missing. Resolve that here and now
81
- */
82
- #ifdef KRB5_HEIMDAL
83
- typedef unsigned char krb5_octet;
84
- #define FAR
85
- #else
86
-
87
- #ifndef FAR
88
- #define FAR
89
- #endif
90
-
91
- #endif
92
-
93
- /* Uncomment this to debug kssl problems or
94
- ** to trace usage of the Kerberos session key
95
- **
96
- ** #define KSSL_DEBUG
97
- */
98
-
99
- #ifndef KRB5SVC
100
- #define KRB5SVC "host"
101
- #endif
102
-
103
- #ifndef KRB5KEYTAB
104
- #define KRB5KEYTAB "/etc/krb5.keytab"
105
- #endif
106
-
107
- #ifndef KRB5SENDAUTH
108
- #define KRB5SENDAUTH 1
109
- #endif
110
-
111
- #ifndef KRB5CHECKAUTH
112
- #define KRB5CHECKAUTH 1
113
- #endif
114
-
115
- #ifndef KSSL_CLOCKSKEW
116
- #define KSSL_CLOCKSKEW 300;
117
- #endif
118
-
119
- #define KSSL_ERR_MAX 255
120
- typedef struct kssl_err_st {
121
- int reason;
122
- char text[KSSL_ERR_MAX+1];
123
- } KSSL_ERR;
124
-
125
-
126
- /* Context for passing
127
- ** (1) Kerberos session key to SSL, and
128
- ** (2) Config data between application and SSL lib
129
- */
130
- typedef struct kssl_ctx_st
131
- {
132
- /* used by: disposition: */
133
- char *service_name; /* C,S default ok (kssl) */
134
- char *service_host; /* C input, REQUIRED */
135
- char *client_princ; /* S output from krb5 ticket */
136
- char *keytab_file; /* S NULL (/etc/krb5.keytab) */
137
- char *cred_cache; /* C NULL (default) */
138
- krb5_enctype enctype;
139
- int length;
140
- krb5_octet FAR *key;
141
- } KSSL_CTX;
142
-
143
- #define KSSL_CLIENT 1
144
- #define KSSL_SERVER 2
145
- #define KSSL_SERVICE 3
146
- #define KSSL_KEYTAB 4
147
-
148
- #define KSSL_CTX_OK 0
149
- #define KSSL_CTX_ERR 1
150
- #define KSSL_NOMEM 2
151
-
152
- /* Public (for use by applications that use OpenSSL with Kerberos 5 support */
153
- krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text);
154
- KSSL_CTX *kssl_ctx_new(void);
155
- KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx);
156
- void kssl_ctx_show(KSSL_CTX *kssl_ctx);
157
- krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which,
158
- krb5_data *realm, krb5_data *entity, int nentities);
159
- krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp,
160
- krb5_data *authenp, KSSL_ERR *kssl_err);
161
- krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata,
162
- krb5_ticket_times *ttimes, KSSL_ERR *kssl_err);
163
- krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session);
164
- void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text);
165
- void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data);
166
- krb5_error_code kssl_build_principal_2(krb5_context context,
167
- krb5_principal *princ, int rlen, const char *realm,
168
- int slen, const char *svc, int hlen, const char *host);
169
- krb5_error_code kssl_validate_times(krb5_timestamp atime,
170
- krb5_ticket_times *ttimes);
171
- krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp,
172
- krb5_timestamp *atimep, KSSL_ERR *kssl_err);
173
- unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn);
174
-
175
- void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx);
176
- KSSL_CTX * SSL_get0_kssl_ctx(SSL *s);
177
- char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx);
178
-
179
- #ifdef __cplusplus
180
- }
181
- #endif
182
- #endif /* OPENSSL_NO_KRB5 */
183
- #endif /* KSSL_H */