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