1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* krb5_asn.h */
2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Written by Vern Staats <staatsvr@asc.hpc.mil> for the OpenSSL project,
3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project** using ocsp/{*.h,*asn*.c} as a starting point
4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* ====================================================================
7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Copyright (c) 1998-2000 The OpenSSL Project.  All rights reserved.
8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Redistribution and use in source and binary forms, with or without
10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * modification, are permitted provided that the following conditions
11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * are met:
12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 1. Redistributions of source code must retain the above copyright
14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    notice, this list of conditions and the following disclaimer.
15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    notice, this list of conditions and the following disclaimer in
18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    the documentation and/or other materials provided with the
19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    distribution.
20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 3. All advertising materials mentioning features or use of this
22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    software must display the following acknowledgment:
23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    "This product includes software developed by the OpenSSL Project
24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    endorse or promote products derived from this software without
28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    prior written permission. For written permission, please contact
29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    openssl-core@openssl.org.
30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 5. Products derived from this software may not be called "OpenSSL"
32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    nor may "OpenSSL" appear in their names without prior written
33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    permission of the OpenSSL Project.
34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 6. Redistributions of any form whatsoever must retain the following
36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    acknowledgment:
37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    "This product includes software developed by the OpenSSL Project
38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * OF THE POSSIBILITY OF SUCH DAMAGE.
52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ====================================================================
53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This product includes cryptographic software written by Eric Young
55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * (eay@cryptsoft.com).  This product includes software written by Tim
56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Hudson (tjh@cryptsoft.com).
57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project *
58656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
59656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
60656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef HEADER_KRB5_ASN_H
61656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define HEADER_KRB5_ASN_H
62656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
63656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*
64656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <krb5.h>
65656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
66656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/safestack.h>
67656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
68656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef  __cplusplus
69656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectextern "C" {
70656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
71656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
72656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
73656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	ASN.1 from Kerberos RFC 1510
74656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
75656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
76656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	EncryptedData ::=   SEQUENCE {
77656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		etype[0]                      INTEGER, -- EncryptionType
78656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		kvno[1]                       INTEGER OPTIONAL,
79656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		cipher[2]                     OCTET STRING -- ciphertext
80656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
81656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
82656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef	struct	krb5_encdata_st
83656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
84656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*etype;
85656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*kvno;
86656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_OCTET_STRING		*cipher;
87656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_ENCDATA;
88656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
89656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_ENCDATA)
90656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
91656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	PrincipalName ::=   SEQUENCE {
92656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		name-type[0]                  INTEGER,
93656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		name-string[1]                SEQUENCE OF GeneralString
94656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
95656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
96656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef	struct	krb5_princname_st
97656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
98656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*nametype;
99656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	STACK_OF(ASN1_GENERALSTRING)	*namestring;
100656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_PRINCNAME;
101656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
102656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_PRINCNAME)
103656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
104656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
105656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	Ticket ::=	[APPLICATION 1] SEQUENCE {
106656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		tkt-vno[0]                    INTEGER,
107656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		realm[1]                      Realm,
108656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		sname[2]                      PrincipalName,
109656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		enc-part[3]                   EncryptedData
110656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef	struct	krb5_tktbody_st
113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*tktvno;
115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_GENERALSTRING		*realm;
116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_PRINCNAME			*sname;
117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_ENCDATA			*encdata;
118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_TKTBODY;
119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET;
121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_TKTBODY)
122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	AP-REQ ::=      [APPLICATION 14] SEQUENCE {
125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		pvno[0]                       INTEGER,
126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		msg-type[1]                   INTEGER,
127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		ap-options[2]                 APOptions,
128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		ticket[3]                     Ticket,
129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		authenticator[4]              EncryptedData
130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**
132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	APOptions ::=   BIT STRING {
133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		reserved(0), use-session-key(1), mutual-required(2) }
134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef	struct	krb5_ap_req_st
136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*pvno;
138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*msgtype;
139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_BIT_STRING			*apoptions;
140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_TICKET			*ticket;
141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_ENCDATA			*authenticator;
142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_APREQBODY;
143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ;
145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_APREQBODY)
146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	Authenticator Stuff	*/
149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
150656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	Checksum ::=   SEQUENCE {
152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		cksumtype[0]                  INTEGER,
153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		checksum[1]                   OCTET STRING
154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef	struct	krb5_checksum_st
157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*ctype;
159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_OCTET_STRING		*checksum;
160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_CHECKSUM;
161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_CHECKSUM)
163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	EncryptionKey ::=   SEQUENCE {
166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		keytype[0]                    INTEGER,
167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		keyvalue[1]                   OCTET STRING
168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct  krb5_encryptionkey_st
171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*ktype;
173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_OCTET_STRING		*keyvalue;
174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_ENCKEY;
175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_ENCKEY)
177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	AuthorizationData ::=   SEQUENCE OF SEQUENCE {
180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		ad-type[0]                    INTEGER,
181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**              ad-data[1]                    OCTET STRING
182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct	krb5_authorization_st
185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*adtype;
187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_OCTET_STRING		*addata;
188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_AUTHDATA;
189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_AUTHDATA)
191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*	-- Unencrypted authenticator
194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	Authenticator ::=    [APPLICATION 2] SEQUENCE    {
195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		authenticator-vno[0]          INTEGER,
196656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		crealm[1]                     Realm,
197656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		cname[2]                      PrincipalName,
198656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		cksum[3]                      Checksum OPTIONAL,
199656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		cusec[4]                      INTEGER,
200656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		ctime[5]                      KerberosTime,
201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		subkey[6]                     EncryptionKey OPTIONAL,
202656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		seq-number[7]                 INTEGER OPTIONAL,
203656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**		authorization-data[8]         AuthorizationData OPTIONAL
204656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	}
205656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
206656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct	krb5_authenticator_st
207656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	{
208656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*avno;
209656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_GENERALSTRING		*crealm;
210656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_PRINCNAME			*cname;
211656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_CHECKSUM			*cksum;
212656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*cusec;
213656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_GENERALIZEDTIME		*ctime;
214656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_ENCKEY			*subkey;
215656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	ASN1_INTEGER			*seqnum;
216656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	KRB5_AUTHDATA			*authorization;
217656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project	}	KRB5_AUTHENTBODY;
218656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
219656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT;
220656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_STACK_OF(KRB5_AUTHENTBODY)
221656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
222656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
223656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/*  DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) =
224656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	type *name##_new(void);
225656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	void name##_free(type *a);
226656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) =
227656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	 DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) =
228656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	  type *d2i_##name(type **a, const unsigned char **in, long len);
229656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	  int i2d_##name(type *a, unsigned char **out);
230656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project**	  DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it
231656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project*/
232656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
233656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA)
234656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME)
235656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY)
236656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY)
237656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_TICKET)
238656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_APREQ)
239656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
240656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM)
241656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY)
242656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA)
243656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY)
244656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectDECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT)
245656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
246656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
247656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* BEGIN ERROR CODES */
248656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* The following lines are auto generated by the script mkerr.pl. Any changes
249656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * made after this point may be overwritten when the script is next run.
250656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */
251656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
252656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef  __cplusplus
253656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project}
254656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
255656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif
256656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project
257