ThingWorx C SDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
src
thirdParty
openssl-1.0.2q
gcc-linux-arm-cross
include
openssl
krb5_asn.h
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
krb5_authenticator_st
Definition:
krb5_asn.h:193
krb5_ap_req_st
Definition:
krb5_asn.h:131
krb5_encdata_st
Definition:
krb5_asn.h:83
krb5_checksum_st
Definition:
krb5_asn.h:149
krb5_princname_st
Definition:
krb5_asn.h:96
krb5_encryptionkey_st
Definition:
krb5_asn.h:161
asn1_string_st
Definition:
asn1.h:239
krb5_tktbody_st
Definition:
krb5_asn.h:110
krb5_authorization_st
Definition:
krb5_asn.h:173
Generated on Wed Feb 27 2019 14:44:40 for ThingWorx C SDK by
1.8.9.1