motion-openssl 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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,109 @@
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
+ const EVP_MD *md;
77
+ EVP_MD_CTX md_ctx;
78
+ EVP_MD_CTX i_ctx;
79
+ EVP_MD_CTX o_ctx;
80
+ unsigned int key_length;
81
+ unsigned char key[HMAC_MAX_MD_CBLOCK];
82
+ } HMAC_CTX;
83
+
84
+ # define HMAC_size(e) (EVP_MD_size((e)->md))
85
+
86
+ void HMAC_CTX_init(HMAC_CTX *ctx);
87
+ void HMAC_CTX_cleanup(HMAC_CTX *ctx);
88
+
89
+ /* deprecated */
90
+ # define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx)
91
+
92
+ /* deprecated */
93
+ int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, const EVP_MD *md);
94
+ int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
95
+ const EVP_MD *md, ENGINE *impl);
96
+ int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len);
97
+ int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len);
98
+ unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
99
+ const unsigned char *d, size_t n, unsigned char *md,
100
+ unsigned int *md_len);
101
+ int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx);
102
+
103
+ void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);
104
+
105
+ #ifdef __cplusplus
106
+ }
107
+ #endif
108
+
109
+ #endif
@@ -0,0 +1,105 @@
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
+ IDEA_INT data[9][6];
80
+ } IDEA_KEY_SCHEDULE;
81
+
82
+ const char *idea_options(void);
83
+ void idea_ecb_encrypt(const unsigned char *in, unsigned char *out,
84
+ IDEA_KEY_SCHEDULE *ks);
85
+ # ifdef OPENSSL_FIPS
86
+ void private_idea_set_encrypt_key(const unsigned char *key,
87
+ 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,
93
+ int enc);
94
+ void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out,
95
+ long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
96
+ int *num, int enc);
97
+ void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out,
98
+ long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,
99
+ int *num);
100
+ void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks);
101
+ #ifdef __cplusplus
102
+ }
103
+ #endif
104
+
105
+ #endif
@@ -0,0 +1,240 @@
1
+ /* krb5_asn.h */
2
+ /*
3
+ * Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project, **
4
+ * using ocsp/{*.h,*asn*.c} as a starting point
5
+ */
6
+
7
+ /* ====================================================================
8
+ * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved.
9
+ *
10
+ * Redistribution and use in source and binary forms, with or without
11
+ * modification, are permitted provided that the following conditions
12
+ * are met:
13
+ *
14
+ * 1. Redistributions of source code must retain the above copyright
15
+ * notice, this list of conditions and the following disclaimer.
16
+ *
17
+ * 2. Redistributions in binary form must reproduce the above copyright
18
+ * notice, this list of conditions and the following disclaimer in
19
+ * the documentation and/or other materials provided with the
20
+ * distribution.
21
+ *
22
+ * 3. All advertising materials mentioning features or use of this
23
+ * software must display the following acknowledgment:
24
+ * "This product includes software developed by the OpenSSL Project
25
+ * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
26
+ *
27
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
28
+ * endorse or promote products derived from this software without
29
+ * prior written permission. For written permission, please contact
30
+ * openssl-core@openssl.org.
31
+ *
32
+ * 5. Products derived from this software may not be called "OpenSSL"
33
+ * nor may "OpenSSL" appear in their names without prior written
34
+ * permission of the OpenSSL Project.
35
+ *
36
+ * 6. Redistributions of any form whatsoever must retain the following
37
+ * acknowledgment:
38
+ * "This product includes software developed by the OpenSSL Project
39
+ * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
40
+ *
41
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
42
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
44
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
45
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
46
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
47
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
48
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
49
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
50
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
51
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
52
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
53
+ * ====================================================================
54
+ *
55
+ * This product includes cryptographic software written by Eric Young
56
+ * (eay@cryptsoft.com). This product includes software written by Tim
57
+ * Hudson (tjh@cryptsoft.com).
58
+ *
59
+ */
60
+
61
+ #ifndef HEADER_KRB5_ASN_H
62
+ # define HEADER_KRB5_ASN_H
63
+
64
+ /*
65
+ * #include <krb5.h>
66
+ */
67
+ # include <openssl/safestack.h>
68
+
69
+ #ifdef __cplusplus
70
+ extern "C" {
71
+ #endif
72
+
73
+ /*
74
+ * ASN.1 from Kerberos RFC 1510
75
+ */
76
+
77
+ /*- EncryptedData ::= SEQUENCE {
78
+ * etype[0] INTEGER, -- EncryptionType
79
+ * kvno[1] INTEGER OPTIONAL,
80
+ * cipher[2] OCTET STRING -- ciphertext
81
+ * }
82
+ */
83
+ typedef struct krb5_encdata_st {
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
+ ASN1_INTEGER *nametype;
98
+ STACK_OF(ASN1_GENERALSTRING) *namestring;
99
+ } KRB5_PRINCNAME;
100
+
101
+ DECLARE_STACK_OF(KRB5_PRINCNAME)
102
+
103
+ /*- Ticket ::= [APPLICATION 1] SEQUENCE {
104
+ * tkt-vno[0] INTEGER,
105
+ * realm[1] Realm,
106
+ * sname[2] PrincipalName,
107
+ * enc-part[3] EncryptedData
108
+ * }
109
+ */
110
+ typedef struct krb5_tktbody_st {
111
+ ASN1_INTEGER *tktvno;
112
+ ASN1_GENERALSTRING *realm;
113
+ KRB5_PRINCNAME *sname;
114
+ KRB5_ENCDATA *encdata;
115
+ } KRB5_TKTBODY;
116
+
117
+ typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET;
118
+ DECLARE_STACK_OF(KRB5_TKTBODY)
119
+
120
+ /*- AP-REQ ::= [APPLICATION 14] SEQUENCE {
121
+ * pvno[0] INTEGER,
122
+ * msg-type[1] INTEGER,
123
+ * ap-options[2] APOptions,
124
+ * ticket[3] Ticket,
125
+ * authenticator[4] EncryptedData
126
+ * }
127
+ *
128
+ * APOptions ::= BIT STRING {
129
+ * reserved(0), use-session-key(1), mutual-required(2) }
130
+ */
131
+ typedef struct krb5_ap_req_st {
132
+ ASN1_INTEGER *pvno;
133
+ ASN1_INTEGER *msgtype;
134
+ ASN1_BIT_STRING *apoptions;
135
+ KRB5_TICKET *ticket;
136
+ KRB5_ENCDATA *authenticator;
137
+ } KRB5_APREQBODY;
138
+
139
+ typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ;
140
+ DECLARE_STACK_OF(KRB5_APREQBODY)
141
+
142
+ /* Authenticator Stuff */
143
+
144
+ /*- Checksum ::= SEQUENCE {
145
+ * cksumtype[0] INTEGER,
146
+ * checksum[1] OCTET STRING
147
+ * }
148
+ */
149
+ typedef struct krb5_checksum_st {
150
+ ASN1_INTEGER *ctype;
151
+ ASN1_OCTET_STRING *checksum;
152
+ } KRB5_CHECKSUM;
153
+
154
+ DECLARE_STACK_OF(KRB5_CHECKSUM)
155
+
156
+ /*- EncryptionKey ::= SEQUENCE {
157
+ * keytype[0] INTEGER,
158
+ * keyvalue[1] OCTET STRING
159
+ * }
160
+ */
161
+ typedef struct krb5_encryptionkey_st {
162
+ ASN1_INTEGER *ktype;
163
+ ASN1_OCTET_STRING *keyvalue;
164
+ } KRB5_ENCKEY;
165
+
166
+ DECLARE_STACK_OF(KRB5_ENCKEY)
167
+
168
+ /*- AuthorizationData ::= SEQUENCE OF SEQUENCE {
169
+ * ad-type[0] INTEGER,
170
+ * ad-data[1] OCTET STRING
171
+ * }
172
+ */
173
+ typedef struct krb5_authorization_st {
174
+ ASN1_INTEGER *adtype;
175
+ ASN1_OCTET_STRING *addata;
176
+ } KRB5_AUTHDATA;
177
+
178
+ DECLARE_STACK_OF(KRB5_AUTHDATA)
179
+
180
+ /*- -- Unencrypted authenticator
181
+ * Authenticator ::= [APPLICATION 2] SEQUENCE {
182
+ * authenticator-vno[0] INTEGER,
183
+ * crealm[1] Realm,
184
+ * cname[2] PrincipalName,
185
+ * cksum[3] Checksum OPTIONAL,
186
+ * cusec[4] INTEGER,
187
+ * ctime[5] KerberosTime,
188
+ * subkey[6] EncryptionKey OPTIONAL,
189
+ * seq-number[7] INTEGER OPTIONAL,
190
+ * authorization-data[8] AuthorizationData OPTIONAL
191
+ * }
192
+ */
193
+ typedef struct krb5_authenticator_st {
194
+ ASN1_INTEGER *avno;
195
+ ASN1_GENERALSTRING *crealm;
196
+ KRB5_PRINCNAME *cname;
197
+ KRB5_CHECKSUM *cksum;
198
+ ASN1_INTEGER *cusec;
199
+ ASN1_GENERALIZEDTIME *ctime;
200
+ KRB5_ENCKEY *subkey;
201
+ ASN1_INTEGER *seqnum;
202
+ KRB5_AUTHDATA *authorization;
203
+ } KRB5_AUTHENTBODY;
204
+
205
+ typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT;
206
+ DECLARE_STACK_OF(KRB5_AUTHENTBODY)
207
+
208
+ /*- DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) =
209
+ * type *name##_new(void);
210
+ * void name##_free(type *a);
211
+ * DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) =
212
+ * DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) =
213
+ * type *d2i_##name(type **a, const unsigned char **in, long len);
214
+ * int i2d_##name(type *a, unsigned char **out);
215
+ * DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it
216
+ */
217
+
218
+ DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA)
219
+ DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME)
220
+ DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY)
221
+ DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY)
222
+ DECLARE_ASN1_FUNCTIONS(KRB5_TICKET)
223
+ DECLARE_ASN1_FUNCTIONS(KRB5_APREQ)
224
+
225
+ DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM)
226
+ DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY)
227
+ DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA)
228
+ DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY)
229
+ DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT)
230
+
231
+ /* BEGIN ERROR CODES */
232
+ /*
233
+ * The following lines are auto generated by the script mkerr.pl. Any changes
234
+ * made after this point may be overwritten when the script is next run.
235
+ */
236
+
237
+ #ifdef __cplusplus
238
+ }
239
+ #endif
240
+ #endif