| 1 | /* Generated from rfc2459.asn1 */ | 
| 2 | /* Do not edit */ | 
| 3 |  | 
| 4 | #ifndef __rfc2459_asn1_h__ | 
| 5 | #define __rfc2459_asn1_h__ | 
| 6 |  | 
| 7 | #include <stddef.h> | 
| 8 | #include <time.h> | 
| 9 |  | 
| 10 | #ifndef __asn1_common_definitions__ | 
| 11 | #define __asn1_common_definitions__ | 
| 12 |  | 
| 13 | #ifndef __HEIM_BASE_DATA__ | 
| 14 | #define __HEIM_BASE_DATA__ 1 | 
| 15 | struct heim_base_data { | 
| 16 |     size_t length; | 
| 17 |     void *data; | 
| 18 | }; | 
| 19 | typedef struct heim_base_data heim_octet_string; | 
| 20 | #endif | 
| 21 |  | 
| 22 | typedef struct heim_integer { | 
| 23 |   size_t length; | 
| 24 |   void *data; | 
| 25 |   int negative; | 
| 26 | } heim_integer; | 
| 27 |  | 
| 28 | typedef char *heim_general_string; | 
| 29 |  | 
| 30 | typedef char *heim_utf8_string; | 
| 31 |  | 
| 32 | typedef struct heim_base_data heim_printable_string; | 
| 33 |  | 
| 34 | typedef struct heim_base_data heim_ia5_string; | 
| 35 |  | 
| 36 | typedef struct heim_bmp_string { | 
| 37 |   size_t length; | 
| 38 |   uint16_t *data; | 
| 39 | } heim_bmp_string; | 
| 40 |  | 
| 41 | typedef struct heim_universal_string { | 
| 42 |   size_t length; | 
| 43 |   uint32_t *data; | 
| 44 | } heim_universal_string; | 
| 45 |  | 
| 46 | typedef char *heim_visible_string; | 
| 47 |  | 
| 48 | typedef struct heim_oid { | 
| 49 |   size_t length; | 
| 50 |   unsigned *components; | 
| 51 | } heim_oid; | 
| 52 |  | 
| 53 | typedef struct heim_bit_string { | 
| 54 |   size_t length; | 
| 55 |   void *data; | 
| 56 | } heim_bit_string; | 
| 57 |  | 
| 58 | typedef struct heim_base_data heim_any; | 
| 59 | typedef struct heim_base_data heim_any_set; | 
| 60 |  | 
| 61 | #define ASN1_MALLOC_ENCODE(T, B, BL, S, L, R)                  \ | 
| 62 |   do {                                                         \ | 
| 63 |     (BL) = length_##T((S));                                    \ | 
| 64 |     (B) = malloc((BL));                                        \ | 
| 65 |     if((B) == NULL) {                                          \ | 
| 66 |       (R) = ENOMEM;                                            \ | 
| 67 |     } else {                                                   \ | 
| 68 |       (R) = encode_##T(((unsigned char*)(B)) + (BL) - 1, (BL), \ | 
| 69 |                        (S), (L));                              \ | 
| 70 |       if((R) != 0) {                                           \ | 
| 71 |         free((B));                                             \ | 
| 72 |         (B) = NULL;                                            \ | 
| 73 |       }                                                        \ | 
| 74 |     }                                                          \ | 
| 75 |   } while (0) | 
| 76 |  | 
| 77 | #ifdef _WIN32 | 
| 78 | #ifndef ASN1_LIB | 
| 79 | #define ASN1EXP  __declspec(dllimport) | 
| 80 | #else | 
| 81 | #define ASN1EXP | 
| 82 | #endif | 
| 83 | #define ASN1CALL __stdcall | 
| 84 | #else | 
| 85 | #define ASN1EXP | 
| 86 | #define ASN1CALL | 
| 87 | #endif | 
| 88 | struct units; | 
| 89 |  | 
| 90 | #endif | 
| 91 |  | 
| 92 | #include <krb5/heim_asn1.h> | 
| 93 | /* | 
| 94 | Version ::= INTEGER { | 
| 95 |   rfc3280_version_1(0), | 
| 96 |   rfc3280_version_2(1), | 
| 97 |   rfc3280_version_3(2) | 
| 98 | } | 
| 99 | */ | 
| 100 |  | 
| 101 | typedef enum Version { | 
| 102 |   rfc3280_version_1 = 0, | 
| 103 |   rfc3280_version_2 = 1, | 
| 104 |   rfc3280_version_3 = 2 | 
| 105 | } Version; | 
| 106 |  | 
| 107 | ASN1EXP int    ASN1CALL decode_Version(const unsigned char *, size_t, Version *, size_t *); | 
| 108 | ASN1EXP int    ASN1CALL encode_Version(unsigned char *, size_t, const Version *, size_t *); | 
| 109 | ASN1EXP size_t ASN1CALL length_Version(const Version *); | 
| 110 | ASN1EXP int    ASN1CALL copy_Version  (const Version *, Version *); | 
| 111 | ASN1EXP void   ASN1CALL free_Version  (Version *); | 
| 112 |  | 
| 113 |  | 
| 114 | /* OBJECT IDENTIFIER id-pkcs-1 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) } */ | 
| 115 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs_1; | 
| 116 | #define ASN1_OID_ID_PKCS_1 (&asn1_oid_id_pkcs_1) | 
| 117 |  | 
| 118 | /* OBJECT IDENTIFIER id-pkcs1-rsaEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(1) } */ | 
| 119 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_rsaEncryption; | 
| 120 | #define ASN1_OID_ID_PKCS1_RSAENCRYPTION (&asn1_oid_id_pkcs1_rsaEncryption) | 
| 121 |  | 
| 122 | /* OBJECT IDENTIFIER id-pkcs1-md2WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(2) } */ | 
| 123 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_md2WithRSAEncryption; | 
| 124 | #define ASN1_OID_ID_PKCS1_MD2WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_md2WithRSAEncryption) | 
| 125 |  | 
| 126 | /* OBJECT IDENTIFIER id-pkcs1-md5WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(4) } */ | 
| 127 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_md5WithRSAEncryption; | 
| 128 | #define ASN1_OID_ID_PKCS1_MD5WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_md5WithRSAEncryption) | 
| 129 |  | 
| 130 | /* OBJECT IDENTIFIER id-pkcs1-sha1WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(5) } */ | 
| 131 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_sha1WithRSAEncryption; | 
| 132 | #define ASN1_OID_ID_PKCS1_SHA1WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_sha1WithRSAEncryption) | 
| 133 |  | 
| 134 | /* OBJECT IDENTIFIER id-pkcs1-sha256WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(11) } */ | 
| 135 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_sha256WithRSAEncryption; | 
| 136 | #define ASN1_OID_ID_PKCS1_SHA256WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_sha256WithRSAEncryption) | 
| 137 |  | 
| 138 | /* OBJECT IDENTIFIER id-pkcs1-sha384WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(12) } */ | 
| 139 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_sha384WithRSAEncryption; | 
| 140 | #define ASN1_OID_ID_PKCS1_SHA384WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_sha384WithRSAEncryption) | 
| 141 |  | 
| 142 | /* OBJECT IDENTIFIER id-pkcs1-sha512WithRSAEncryption ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(1) label-less(13) } */ | 
| 143 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs1_sha512WithRSAEncryption; | 
| 144 | #define ASN1_OID_ID_PKCS1_SHA512WITHRSAENCRYPTION (&asn1_oid_id_pkcs1_sha512WithRSAEncryption) | 
| 145 |  | 
| 146 | /* OBJECT IDENTIFIER id-heim-rsa-pkcs1-x509 ::= { label-less(1) label-less(2) label-less(752) label-less(43) label-less(16) label-less(1) } */ | 
| 147 | extern ASN1EXP const heim_oid asn1_oid_id_heim_rsa_pkcs1_x509; | 
| 148 | #define ASN1_OID_ID_HEIM_RSA_PKCS1_X509 (&asn1_oid_id_heim_rsa_pkcs1_x509) | 
| 149 |  | 
| 150 | /* OBJECT IDENTIFIER id-pkcs-2 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(2) } */ | 
| 151 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs_2; | 
| 152 | #define ASN1_OID_ID_PKCS_2 (&asn1_oid_id_pkcs_2) | 
| 153 |  | 
| 154 | /* OBJECT IDENTIFIER id-pkcs2-md2 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(2) label-less(2) } */ | 
| 155 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs2_md2; | 
| 156 | #define ASN1_OID_ID_PKCS2_MD2 (&asn1_oid_id_pkcs2_md2) | 
| 157 |  | 
| 158 | /* OBJECT IDENTIFIER id-pkcs2-md4 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(2) label-less(4) } */ | 
| 159 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs2_md4; | 
| 160 | #define ASN1_OID_ID_PKCS2_MD4 (&asn1_oid_id_pkcs2_md4) | 
| 161 |  | 
| 162 | /* OBJECT IDENTIFIER id-pkcs2-md5 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(2) label-less(5) } */ | 
| 163 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs2_md5; | 
| 164 | #define ASN1_OID_ID_PKCS2_MD5 (&asn1_oid_id_pkcs2_md5) | 
| 165 |  | 
| 166 | /* OBJECT IDENTIFIER id-rsa-digestAlgorithm ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(2) } */ | 
| 167 | extern ASN1EXP const heim_oid asn1_oid_id_rsa_digestAlgorithm; | 
| 168 | #define ASN1_OID_ID_RSA_DIGESTALGORITHM (&asn1_oid_id_rsa_digestAlgorithm) | 
| 169 |  | 
| 170 | /* OBJECT IDENTIFIER id-rsa-digest-md2 ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(2) label-less(2) } */ | 
| 171 | extern ASN1EXP const heim_oid asn1_oid_id_rsa_digest_md2; | 
| 172 | #define ASN1_OID_ID_RSA_DIGEST_MD2 (&asn1_oid_id_rsa_digest_md2) | 
| 173 |  | 
| 174 | /* OBJECT IDENTIFIER id-rsa-digest-md4 ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(2) label-less(4) } */ | 
| 175 | extern ASN1EXP const heim_oid asn1_oid_id_rsa_digest_md4; | 
| 176 | #define ASN1_OID_ID_RSA_DIGEST_MD4 (&asn1_oid_id_rsa_digest_md4) | 
| 177 |  | 
| 178 | /* OBJECT IDENTIFIER id-rsa-digest-md5 ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(2) label-less(5) } */ | 
| 179 | extern ASN1EXP const heim_oid asn1_oid_id_rsa_digest_md5; | 
| 180 | #define ASN1_OID_ID_RSA_DIGEST_MD5 (&asn1_oid_id_rsa_digest_md5) | 
| 181 |  | 
| 182 | /* OBJECT IDENTIFIER id-pkcs-3 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(3) } */ | 
| 183 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs_3; | 
| 184 | #define ASN1_OID_ID_PKCS_3 (&asn1_oid_id_pkcs_3) | 
| 185 |  | 
| 186 | /* OBJECT IDENTIFIER id-pkcs3-rc2-cbc ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(3) label-less(2) } */ | 
| 187 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs3_rc2_cbc; | 
| 188 | #define ASN1_OID_ID_PKCS3_RC2_CBC (&asn1_oid_id_pkcs3_rc2_cbc) | 
| 189 |  | 
| 190 | /* OBJECT IDENTIFIER id-pkcs3-rc4 ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(3) label-less(4) } */ | 
| 191 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs3_rc4; | 
| 192 | #define ASN1_OID_ID_PKCS3_RC4 (&asn1_oid_id_pkcs3_rc4) | 
| 193 |  | 
| 194 | /* OBJECT IDENTIFIER id-pkcs3-des-ede3-cbc ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) label-less(3) label-less(7) } */ | 
| 195 | extern ASN1EXP const heim_oid asn1_oid_id_pkcs3_des_ede3_cbc; | 
| 196 | #define ASN1_OID_ID_PKCS3_DES_EDE3_CBC (&asn1_oid_id_pkcs3_des_ede3_cbc) | 
| 197 |  | 
| 198 | /* OBJECT IDENTIFIER id-rsadsi-encalg ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(3) } */ | 
| 199 | extern ASN1EXP const heim_oid asn1_oid_id_rsadsi_encalg; | 
| 200 | #define ASN1_OID_ID_RSADSI_ENCALG (&asn1_oid_id_rsadsi_encalg) | 
| 201 |  | 
| 202 | /* OBJECT IDENTIFIER id-rsadsi-rc2-cbc ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(3) label-less(2) } */ | 
| 203 | extern ASN1EXP const heim_oid asn1_oid_id_rsadsi_rc2_cbc; | 
| 204 | #define ASN1_OID_ID_RSADSI_RC2_CBC (&asn1_oid_id_rsadsi_rc2_cbc) | 
| 205 |  | 
| 206 | /* OBJECT IDENTIFIER id-rsadsi-des-ede3-cbc ::= { iso(1) member-body(2) us(840) rsadsi(113549) label-less(3) label-less(7) } */ | 
| 207 | extern ASN1EXP const heim_oid asn1_oid_id_rsadsi_des_ede3_cbc; | 
| 208 | #define ASN1_OID_ID_RSADSI_DES_EDE3_CBC (&asn1_oid_id_rsadsi_des_ede3_cbc) | 
| 209 |  | 
| 210 | /* OBJECT IDENTIFIER id-secsig-sha-1 ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithm(2) label-less(26) } */ | 
| 211 | extern ASN1EXP const heim_oid asn1_oid_id_secsig_sha_1; | 
| 212 | #define ASN1_OID_ID_SECSIG_SHA_1 (&asn1_oid_id_secsig_sha_1) | 
| 213 |  | 
| 214 | /* OBJECT IDENTIFIER id-secsig-sha-1WithRSAEncryption ::= { iso(1) identified-organization(3) oiw(14) secsig(3) algorithm(2) label-less(29) } */ | 
| 215 | extern ASN1EXP const heim_oid asn1_oid_id_secsig_sha_1WithRSAEncryption; | 
| 216 | #define ASN1_OID_ID_SECSIG_SHA_1WITHRSAENCRYPTION (&asn1_oid_id_secsig_sha_1WithRSAEncryption) | 
| 217 |  | 
| 218 | /* OBJECT IDENTIFIER id-nistAlgorithm ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) } */ | 
| 219 | extern ASN1EXP const heim_oid asn1_oid_id_nistAlgorithm; | 
| 220 | #define ASN1_OID_ID_NISTALGORITHM (&asn1_oid_id_nistAlgorithm) | 
| 221 |  | 
| 222 | /* OBJECT IDENTIFIER id-nist-aes-algs ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(1) } */ | 
| 223 | extern ASN1EXP const heim_oid asn1_oid_id_nist_aes_algs; | 
| 224 | #define ASN1_OID_ID_NIST_AES_ALGS (&asn1_oid_id_nist_aes_algs) | 
| 225 |  | 
| 226 | /* OBJECT IDENTIFIER id-aes-128-cbc ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(1) label-less(2) } */ | 
| 227 | extern ASN1EXP const heim_oid asn1_oid_id_aes_128_cbc; | 
| 228 | #define ASN1_OID_ID_AES_128_CBC (&asn1_oid_id_aes_128_cbc) | 
| 229 |  | 
| 230 | /* OBJECT IDENTIFIER id-aes-192-cbc ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(1) label-less(22) } */ | 
| 231 | extern ASN1EXP const heim_oid asn1_oid_id_aes_192_cbc; | 
| 232 | #define ASN1_OID_ID_AES_192_CBC (&asn1_oid_id_aes_192_cbc) | 
| 233 |  | 
| 234 | /* OBJECT IDENTIFIER id-aes-256-cbc ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(1) label-less(42) } */ | 
| 235 | extern ASN1EXP const heim_oid asn1_oid_id_aes_256_cbc; | 
| 236 | #define ASN1_OID_ID_AES_256_CBC (&asn1_oid_id_aes_256_cbc) | 
| 237 |  | 
| 238 | /* OBJECT IDENTIFIER id-nist-sha-algs ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(2) } */ | 
| 239 | extern ASN1EXP const heim_oid asn1_oid_id_nist_sha_algs; | 
| 240 | #define ASN1_OID_ID_NIST_SHA_ALGS (&asn1_oid_id_nist_sha_algs) | 
| 241 |  | 
| 242 | /* OBJECT IDENTIFIER id-sha256 ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(2) label-less(1) } */ | 
| 243 | extern ASN1EXP const heim_oid asn1_oid_id_sha256; | 
| 244 | #define ASN1_OID_ID_SHA256 (&asn1_oid_id_sha256) | 
| 245 |  | 
| 246 | /* OBJECT IDENTIFIER id-sha224 ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(2) label-less(4) } */ | 
| 247 | extern ASN1EXP const heim_oid asn1_oid_id_sha224; | 
| 248 | #define ASN1_OID_ID_SHA224 (&asn1_oid_id_sha224) | 
| 249 |  | 
| 250 | /* OBJECT IDENTIFIER id-sha384 ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(2) label-less(2) } */ | 
| 251 | extern ASN1EXP const heim_oid asn1_oid_id_sha384; | 
| 252 | #define ASN1_OID_ID_SHA384 (&asn1_oid_id_sha384) | 
| 253 |  | 
| 254 | /* OBJECT IDENTIFIER id-sha512 ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) label-less(4) label-less(2) label-less(3) } */ | 
| 255 | extern ASN1EXP const heim_oid asn1_oid_id_sha512; | 
| 256 | #define ASN1_OID_ID_SHA512 (&asn1_oid_id_sha512) | 
| 257 |  | 
| 258 | /* OBJECT IDENTIFIER id-dhpublicnumber ::= { iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) label-less(1) } */ | 
| 259 | extern ASN1EXP const heim_oid asn1_oid_id_dhpublicnumber; | 
| 260 | #define ASN1_OID_ID_DHPUBLICNUMBER (&asn1_oid_id_dhpublicnumber) | 
| 261 |  | 
| 262 | /* OBJECT IDENTIFIER id-ecPublicKey ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) label-less(1) } */ | 
| 263 | extern ASN1EXP const heim_oid asn1_oid_id_ecPublicKey; | 
| 264 | #define ASN1_OID_ID_ECPUBLICKEY (&asn1_oid_id_ecPublicKey) | 
| 265 |  | 
| 266 | /* OBJECT IDENTIFIER id-ecDH ::= { iso(1) identified-organization(3) certicom(132) schemes(1) ecdh(12) } */ | 
| 267 | extern ASN1EXP const heim_oid asn1_oid_id_ecDH; | 
| 268 | #define ASN1_OID_ID_ECDH (&asn1_oid_id_ecDH) | 
| 269 |  | 
| 270 | /* OBJECT IDENTIFIER id-ecMQV ::= { iso(1) identified-organization(3) certicom(132) schemes(1) ecmqv(13) } */ | 
| 271 | extern ASN1EXP const heim_oid asn1_oid_id_ecMQV; | 
| 272 | #define ASN1_OID_ID_ECMQV (&asn1_oid_id_ecMQV) | 
| 273 |  | 
| 274 | /* OBJECT IDENTIFIER id-ecdsa-with-SHA512 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) label-less(4) } */ | 
| 275 | extern ASN1EXP const heim_oid asn1_oid_id_ecdsa_with_SHA512; | 
| 276 | #define ASN1_OID_ID_ECDSA_WITH_SHA512 (&asn1_oid_id_ecdsa_with_SHA512) | 
| 277 |  | 
| 278 | /* OBJECT IDENTIFIER id-ecdsa-with-SHA384 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) label-less(3) } */ | 
| 279 | extern ASN1EXP const heim_oid asn1_oid_id_ecdsa_with_SHA384; | 
| 280 | #define ASN1_OID_ID_ECDSA_WITH_SHA384 (&asn1_oid_id_ecdsa_with_SHA384) | 
| 281 |  | 
| 282 | /* OBJECT IDENTIFIER id-ecdsa-with-SHA256 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) label-less(2) } */ | 
| 283 | extern ASN1EXP const heim_oid asn1_oid_id_ecdsa_with_SHA256; | 
| 284 | #define ASN1_OID_ID_ECDSA_WITH_SHA256 (&asn1_oid_id_ecdsa_with_SHA256) | 
| 285 |  | 
| 286 | /* OBJECT IDENTIFIER id-ecdsa-with-SHA224 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) ecdsa-with-SHA2(3) label-less(1) } */ | 
| 287 | extern ASN1EXP const heim_oid asn1_oid_id_ecdsa_with_SHA224; | 
| 288 | #define ASN1_OID_ID_ECDSA_WITH_SHA224 (&asn1_oid_id_ecdsa_with_SHA224) | 
| 289 |  | 
| 290 | /* OBJECT IDENTIFIER id-ecdsa-with-SHA1 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) label-less(1) } */ | 
| 291 | extern ASN1EXP const heim_oid asn1_oid_id_ecdsa_with_SHA1; | 
| 292 | #define ASN1_OID_ID_ECDSA_WITH_SHA1 (&asn1_oid_id_ecdsa_with_SHA1) | 
| 293 |  | 
| 294 | /* OBJECT IDENTIFIER id-ec-group-secp256r1 ::= { iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3) prime(1) label-less(7) } */ | 
| 295 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp256r1; | 
| 296 | #define ASN1_OID_ID_EC_GROUP_SECP256R1 (&asn1_oid_id_ec_group_secp256r1) | 
| 297 |  | 
| 298 | /* OBJECT IDENTIFIER id-ec-group-secp160r1 ::= { iso(1) identified-organization(3) certicom(132) label-less(0) label-less(8) } */ | 
| 299 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp160r1; | 
| 300 | #define ASN1_OID_ID_EC_GROUP_SECP160R1 (&asn1_oid_id_ec_group_secp160r1) | 
| 301 |  | 
| 302 | /* OBJECT IDENTIFIER id-ec-group-secp160r2 ::= { iso(1) identified-organization(3) certicom(132) label-less(0) label-less(30) } */ | 
| 303 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp160r2; | 
| 304 | #define ASN1_OID_ID_EC_GROUP_SECP160R2 (&asn1_oid_id_ec_group_secp160r2) | 
| 305 |  | 
| 306 | /* OBJECT IDENTIFIER id-ec-group-secp224r1 ::= { iso(1) identified-organization(3) certicom(132) label-less(0) label-less(33) } */ | 
| 307 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp224r1; | 
| 308 | #define ASN1_OID_ID_EC_GROUP_SECP224R1 (&asn1_oid_id_ec_group_secp224r1) | 
| 309 |  | 
| 310 | /* OBJECT IDENTIFIER id-ec-group-secp384r1 ::= { iso(1) identified-organization(3) certicom(132) label-less(0) label-less(34) } */ | 
| 311 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp384r1; | 
| 312 | #define ASN1_OID_ID_EC_GROUP_SECP384R1 (&asn1_oid_id_ec_group_secp384r1) | 
| 313 |  | 
| 314 | /* OBJECT IDENTIFIER id-ec-group-secp521r1 ::= { iso(1) identified-organization(3) certicom(132) label-less(0) label-less(35) } */ | 
| 315 | extern ASN1EXP const heim_oid asn1_oid_id_ec_group_secp521r1; | 
| 316 | #define ASN1_OID_ID_EC_GROUP_SECP521R1 (&asn1_oid_id_ec_group_secp521r1) | 
| 317 |  | 
| 318 | /* OBJECT IDENTIFIER id-x9-57 ::= { iso(1) member-body(2) us(840) ansi-x942(10046) label-less(4) } */ | 
| 319 | extern ASN1EXP const heim_oid asn1_oid_id_x9_57; | 
| 320 | #define ASN1_OID_ID_X9_57 (&asn1_oid_id_x9_57) | 
| 321 |  | 
| 322 | /* OBJECT IDENTIFIER id-dsa ::= { iso(1) member-body(2) us(840) ansi-x942(10046) label-less(4) label-less(1) } */ | 
| 323 | extern ASN1EXP const heim_oid asn1_oid_id_dsa; | 
| 324 | #define ASN1_OID_ID_DSA (&asn1_oid_id_dsa) | 
| 325 |  | 
| 326 | /* OBJECT IDENTIFIER id-dsa-with-sha1 ::= { iso(1) member-body(2) us(840) ansi-x942(10046) label-less(4) label-less(3) } */ | 
| 327 | extern ASN1EXP const heim_oid asn1_oid_id_dsa_with_sha1; | 
| 328 | #define ASN1_OID_ID_DSA_WITH_SHA1 (&asn1_oid_id_dsa_with_sha1) | 
| 329 |  | 
| 330 | /* OBJECT IDENTIFIER id-x520-at ::= { joint-iso-ccitt(2) ds(5) label-less(4) } */ | 
| 331 | extern ASN1EXP const heim_oid asn1_oid_id_x520_at; | 
| 332 | #define ASN1_OID_ID_X520_AT (&asn1_oid_id_x520_at) | 
| 333 |  | 
| 334 | /* OBJECT IDENTIFIER id-at-commonName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(3) } */ | 
| 335 | extern ASN1EXP const heim_oid asn1_oid_id_at_commonName; | 
| 336 | #define ASN1_OID_ID_AT_COMMONNAME (&asn1_oid_id_at_commonName) | 
| 337 |  | 
| 338 | /* OBJECT IDENTIFIER id-at-surname ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(4) } */ | 
| 339 | extern ASN1EXP const heim_oid asn1_oid_id_at_surname; | 
| 340 | #define ASN1_OID_ID_AT_SURNAME (&asn1_oid_id_at_surname) | 
| 341 |  | 
| 342 | /* OBJECT IDENTIFIER id-at-serialNumber ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(5) } */ | 
| 343 | extern ASN1EXP const heim_oid asn1_oid_id_at_serialNumber; | 
| 344 | #define ASN1_OID_ID_AT_SERIALNUMBER (&asn1_oid_id_at_serialNumber) | 
| 345 |  | 
| 346 | /* OBJECT IDENTIFIER id-at-countryName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(6) } */ | 
| 347 | extern ASN1EXP const heim_oid asn1_oid_id_at_countryName; | 
| 348 | #define ASN1_OID_ID_AT_COUNTRYNAME (&asn1_oid_id_at_countryName) | 
| 349 |  | 
| 350 | /* OBJECT IDENTIFIER id-at-localityName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(7) } */ | 
| 351 | extern ASN1EXP const heim_oid asn1_oid_id_at_localityName; | 
| 352 | #define ASN1_OID_ID_AT_LOCALITYNAME (&asn1_oid_id_at_localityName) | 
| 353 |  | 
| 354 | /* OBJECT IDENTIFIER id-at-stateOrProvinceName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(8) } */ | 
| 355 | extern ASN1EXP const heim_oid asn1_oid_id_at_stateOrProvinceName; | 
| 356 | #define ASN1_OID_ID_AT_STATEORPROVINCENAME (&asn1_oid_id_at_stateOrProvinceName) | 
| 357 |  | 
| 358 | /* OBJECT IDENTIFIER id-at-streetAddress ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(9) } */ | 
| 359 | extern ASN1EXP const heim_oid asn1_oid_id_at_streetAddress; | 
| 360 | #define ASN1_OID_ID_AT_STREETADDRESS (&asn1_oid_id_at_streetAddress) | 
| 361 |  | 
| 362 | /* OBJECT IDENTIFIER id-at-organizationName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(10) } */ | 
| 363 | extern ASN1EXP const heim_oid asn1_oid_id_at_organizationName; | 
| 364 | #define ASN1_OID_ID_AT_ORGANIZATIONNAME (&asn1_oid_id_at_organizationName) | 
| 365 |  | 
| 366 | /* OBJECT IDENTIFIER id-at-organizationalUnitName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(11) } */ | 
| 367 | extern ASN1EXP const heim_oid asn1_oid_id_at_organizationalUnitName; | 
| 368 | #define ASN1_OID_ID_AT_ORGANIZATIONALUNITNAME (&asn1_oid_id_at_organizationalUnitName) | 
| 369 |  | 
| 370 | /* OBJECT IDENTIFIER id-at-title ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(12) } */ | 
| 371 | extern ASN1EXP const heim_oid asn1_oid_id_at_title; | 
| 372 | #define ASN1_OID_ID_AT_TITLE (&asn1_oid_id_at_title) | 
| 373 |  | 
| 374 | /* OBJECT IDENTIFIER id-at-description ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(13) } */ | 
| 375 | extern ASN1EXP const heim_oid asn1_oid_id_at_description; | 
| 376 | #define ASN1_OID_ID_AT_DESCRIPTION (&asn1_oid_id_at_description) | 
| 377 |  | 
| 378 | /* OBJECT IDENTIFIER id-at-name ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(41) } */ | 
| 379 | extern ASN1EXP const heim_oid asn1_oid_id_at_name; | 
| 380 | #define ASN1_OID_ID_AT_NAME (&asn1_oid_id_at_name) | 
| 381 |  | 
| 382 | /* OBJECT IDENTIFIER id-at-givenName ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(42) } */ | 
| 383 | extern ASN1EXP const heim_oid asn1_oid_id_at_givenName; | 
| 384 | #define ASN1_OID_ID_AT_GIVENNAME (&asn1_oid_id_at_givenName) | 
| 385 |  | 
| 386 | /* OBJECT IDENTIFIER id-at-initials ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(43) } */ | 
| 387 | extern ASN1EXP const heim_oid asn1_oid_id_at_initials; | 
| 388 | #define ASN1_OID_ID_AT_INITIALS (&asn1_oid_id_at_initials) | 
| 389 |  | 
| 390 | /* OBJECT IDENTIFIER id-at-generationQualifier ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(44) } */ | 
| 391 | extern ASN1EXP const heim_oid asn1_oid_id_at_generationQualifier; | 
| 392 | #define ASN1_OID_ID_AT_GENERATIONQUALIFIER (&asn1_oid_id_at_generationQualifier) | 
| 393 |  | 
| 394 | /* OBJECT IDENTIFIER id-at-pseudonym ::= { joint-iso-ccitt(2) ds(5) label-less(4) label-less(65) } */ | 
| 395 | extern ASN1EXP const heim_oid asn1_oid_id_at_pseudonym; | 
| 396 | #define ASN1_OID_ID_AT_PSEUDONYM (&asn1_oid_id_at_pseudonym) | 
| 397 |  | 
| 398 | /* OBJECT IDENTIFIER id-Userid ::= { label-less(0) label-less(9) label-less(2342) label-less(19200300) label-less(100) label-less(1) label-less(1) } */ | 
| 399 | extern ASN1EXP const heim_oid asn1_oid_id_Userid; | 
| 400 | #define ASN1_OID_ID_USERID (&asn1_oid_id_Userid) | 
| 401 |  | 
| 402 | /* OBJECT IDENTIFIER id-domainComponent ::= { label-less(0) label-less(9) label-less(2342) label-less(19200300) label-less(100) label-less(1) label-less(25) } */ | 
| 403 | extern ASN1EXP const heim_oid asn1_oid_id_domainComponent; | 
| 404 | #define ASN1_OID_ID_DOMAINCOMPONENT (&asn1_oid_id_domainComponent) | 
| 405 |  | 
| 406 | /* OBJECT IDENTIFIER id-x509-ce ::= { joint-iso-ccitt(2) ds(5) label-less(29) } */ | 
| 407 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce; | 
| 408 | #define ASN1_OID_ID_X509_CE (&asn1_oid_id_x509_ce) | 
| 409 |  | 
| 410 | /* | 
| 411 | AlgorithmIdentifier ::= SEQUENCE { | 
| 412 |   algorithm         OBJECT IDENTIFIER, | 
| 413 |   parameters      heim_any OPTIONAL, | 
| 414 | } | 
| 415 | */ | 
| 416 |  | 
| 417 | typedef struct AlgorithmIdentifier { | 
| 418 |   heim_oid algorithm; | 
| 419 |   heim_any *parameters; | 
| 420 | } AlgorithmIdentifier; | 
| 421 |  | 
| 422 | ASN1EXP int    ASN1CALL decode_AlgorithmIdentifier(const unsigned char *, size_t, AlgorithmIdentifier *, size_t *); | 
| 423 | ASN1EXP int    ASN1CALL encode_AlgorithmIdentifier(unsigned char *, size_t, const AlgorithmIdentifier *, size_t *); | 
| 424 | ASN1EXP size_t ASN1CALL length_AlgorithmIdentifier(const AlgorithmIdentifier *); | 
| 425 | ASN1EXP int    ASN1CALL copy_AlgorithmIdentifier  (const AlgorithmIdentifier *, AlgorithmIdentifier *); | 
| 426 | ASN1EXP void   ASN1CALL free_AlgorithmIdentifier  (AlgorithmIdentifier *); | 
| 427 |  | 
| 428 |  | 
| 429 | /* | 
| 430 | AttributeType ::= OBJECT IDENTIFIER | 
| 431 | */ | 
| 432 |  | 
| 433 | typedef heim_oid AttributeType; | 
| 434 |  | 
| 435 | ASN1EXP int    ASN1CALL decode_AttributeType(const unsigned char *, size_t, AttributeType *, size_t *); | 
| 436 | ASN1EXP int    ASN1CALL encode_AttributeType(unsigned char *, size_t, const AttributeType *, size_t *); | 
| 437 | ASN1EXP size_t ASN1CALL length_AttributeType(const AttributeType *); | 
| 438 | ASN1EXP int    ASN1CALL copy_AttributeType  (const AttributeType *, AttributeType *); | 
| 439 | ASN1EXP void   ASN1CALL free_AttributeType  (AttributeType *); | 
| 440 |  | 
| 441 |  | 
| 442 | /* | 
| 443 | AttributeValue ::= heim_any | 
| 444 | */ | 
| 445 |  | 
| 446 | typedef heim_any AttributeValue; | 
| 447 |  | 
| 448 | ASN1EXP int    ASN1CALL decode_AttributeValue(const unsigned char *, size_t, AttributeValue *, size_t *); | 
| 449 | ASN1EXP int    ASN1CALL encode_AttributeValue(unsigned char *, size_t, const AttributeValue *, size_t *); | 
| 450 | ASN1EXP size_t ASN1CALL length_AttributeValue(const AttributeValue *); | 
| 451 | ASN1EXP int    ASN1CALL copy_AttributeValue  (const AttributeValue *, AttributeValue *); | 
| 452 | ASN1EXP void   ASN1CALL free_AttributeValue  (AttributeValue *); | 
| 453 |  | 
| 454 |  | 
| 455 | /* | 
| 456 | DirectoryString ::= CHOICE { | 
| 457 |   ia5String           IA5String, | 
| 458 |   teletexString     TeletexString, | 
| 459 |   printableString     PrintableString, | 
| 460 |   universalString     UniversalString, | 
| 461 |   utf8String          UTF8String, | 
| 462 |   bmpString           BMPString, | 
| 463 | } | 
| 464 | */ | 
| 465 |  | 
| 466 | typedef struct DirectoryString { | 
| 467 |   enum DirectoryString_enum { | 
| 468 |     choice_DirectoryString_ia5String = 1, | 
| 469 |     choice_DirectoryString_teletexString, | 
| 470 |     choice_DirectoryString_printableString, | 
| 471 |     choice_DirectoryString_universalString, | 
| 472 |     choice_DirectoryString_utf8String, | 
| 473 |     choice_DirectoryString_bmpString | 
| 474 |   } element; | 
| 475 |   union { | 
| 476 |     heim_ia5_string ia5String; | 
| 477 |     heim_general_string teletexString; | 
| 478 |     heim_printable_string printableString; | 
| 479 |     heim_universal_string universalString; | 
| 480 |     heim_utf8_string utf8String; | 
| 481 |     heim_bmp_string bmpString; | 
| 482 |   } u; | 
| 483 | } DirectoryString; | 
| 484 |  | 
| 485 | ASN1EXP int    ASN1CALL decode_DirectoryString(const unsigned char *, size_t, DirectoryString *, size_t *); | 
| 486 | ASN1EXP int    ASN1CALL encode_DirectoryString(unsigned char *, size_t, const DirectoryString *, size_t *); | 
| 487 | ASN1EXP size_t ASN1CALL length_DirectoryString(const DirectoryString *); | 
| 488 | ASN1EXP int    ASN1CALL copy_DirectoryString  (const DirectoryString *, DirectoryString *); | 
| 489 | ASN1EXP void   ASN1CALL free_DirectoryString  (DirectoryString *); | 
| 490 |  | 
| 491 |  | 
| 492 | /* | 
| 493 | Attribute ::= SEQUENCE { | 
| 494 |   type            AttributeType, | 
| 495 |   value           SET OF heim_any, | 
| 496 | } | 
| 497 | */ | 
| 498 |  | 
| 499 | typedef struct Attribute { | 
| 500 |   AttributeType type; | 
| 501 |   struct Attribute_value { | 
| 502 |     unsigned int len; | 
| 503 |     heim_any *val; | 
| 504 |   } value; | 
| 505 | } Attribute; | 
| 506 |  | 
| 507 | ASN1EXP int    ASN1CALL decode_Attribute(const unsigned char *, size_t, Attribute *, size_t *); | 
| 508 | ASN1EXP int    ASN1CALL encode_Attribute(unsigned char *, size_t, const Attribute *, size_t *); | 
| 509 | ASN1EXP size_t ASN1CALL length_Attribute(const Attribute *); | 
| 510 | ASN1EXP int    ASN1CALL copy_Attribute  (const Attribute *, Attribute *); | 
| 511 | ASN1EXP void   ASN1CALL free_Attribute  (Attribute *); | 
| 512 |  | 
| 513 |  | 
| 514 | /* | 
| 515 | AttributeTypeAndValue ::= SEQUENCE { | 
| 516 |   type            AttributeType, | 
| 517 |   value           DirectoryString, | 
| 518 | } | 
| 519 | */ | 
| 520 |  | 
| 521 | typedef struct AttributeTypeAndValue { | 
| 522 |   AttributeType type; | 
| 523 |   DirectoryString value; | 
| 524 | } AttributeTypeAndValue; | 
| 525 |  | 
| 526 | ASN1EXP int    ASN1CALL decode_AttributeTypeAndValue(const unsigned char *, size_t, AttributeTypeAndValue *, size_t *); | 
| 527 | ASN1EXP int    ASN1CALL encode_AttributeTypeAndValue(unsigned char *, size_t, const AttributeTypeAndValue *, size_t *); | 
| 528 | ASN1EXP size_t ASN1CALL length_AttributeTypeAndValue(const AttributeTypeAndValue *); | 
| 529 | ASN1EXP int    ASN1CALL copy_AttributeTypeAndValue  (const AttributeTypeAndValue *, AttributeTypeAndValue *); | 
| 530 | ASN1EXP void   ASN1CALL free_AttributeTypeAndValue  (AttributeTypeAndValue *); | 
| 531 |  | 
| 532 |  | 
| 533 | /* | 
| 534 | RelativeDistinguishedName ::= SET OF AttributeTypeAndValue | 
| 535 | */ | 
| 536 |  | 
| 537 | typedef struct RelativeDistinguishedName { | 
| 538 |   unsigned int len; | 
| 539 |   AttributeTypeAndValue *val; | 
| 540 | } RelativeDistinguishedName; | 
| 541 |  | 
| 542 | ASN1EXP int    ASN1CALL decode_RelativeDistinguishedName(const unsigned char *, size_t, RelativeDistinguishedName *, size_t *); | 
| 543 | ASN1EXP int    ASN1CALL encode_RelativeDistinguishedName(unsigned char *, size_t, const RelativeDistinguishedName *, size_t *); | 
| 544 | ASN1EXP size_t ASN1CALL length_RelativeDistinguishedName(const RelativeDistinguishedName *); | 
| 545 | ASN1EXP int    ASN1CALL copy_RelativeDistinguishedName  (const RelativeDistinguishedName *, RelativeDistinguishedName *); | 
| 546 | ASN1EXP void   ASN1CALL free_RelativeDistinguishedName  (RelativeDistinguishedName *); | 
| 547 |  | 
| 548 |  | 
| 549 | /* | 
| 550 | RDNSequence ::= SEQUENCE OF RelativeDistinguishedName | 
| 551 | */ | 
| 552 |  | 
| 553 | typedef struct RDNSequence { | 
| 554 |   unsigned int len; | 
| 555 |   RelativeDistinguishedName *val; | 
| 556 | } RDNSequence; | 
| 557 |  | 
| 558 | ASN1EXP int    ASN1CALL decode_RDNSequence(const unsigned char *, size_t, RDNSequence *, size_t *); | 
| 559 | ASN1EXP int    ASN1CALL encode_RDNSequence(unsigned char *, size_t, const RDNSequence *, size_t *); | 
| 560 | ASN1EXP size_t ASN1CALL length_RDNSequence(const RDNSequence *); | 
| 561 | ASN1EXP int    ASN1CALL copy_RDNSequence  (const RDNSequence *, RDNSequence *); | 
| 562 | ASN1EXP void   ASN1CALL free_RDNSequence  (RDNSequence *); | 
| 563 |  | 
| 564 |  | 
| 565 | /* | 
| 566 | Name ::= CHOICE { | 
| 567 |   rdnSequence     RDNSequence, | 
| 568 | } | 
| 569 | */ | 
| 570 |  | 
| 571 | typedef struct Name { | 
| 572 |   heim_octet_string _save; | 
| 573 |   enum Name_enum { | 
| 574 |     choice_Name_rdnSequence = 1 | 
| 575 |   } element; | 
| 576 |   union { | 
| 577 |     RDNSequence rdnSequence; | 
| 578 |   } u; | 
| 579 | } Name; | 
| 580 |  | 
| 581 | ASN1EXP int    ASN1CALL decode_Name(const unsigned char *, size_t, Name *, size_t *); | 
| 582 | ASN1EXP int    ASN1CALL encode_Name(unsigned char *, size_t, const Name *, size_t *); | 
| 583 | ASN1EXP size_t ASN1CALL length_Name(const Name *); | 
| 584 | ASN1EXP int    ASN1CALL copy_Name  (const Name *, Name *); | 
| 585 | ASN1EXP void   ASN1CALL free_Name  (Name *); | 
| 586 |  | 
| 587 |  | 
| 588 | /* | 
| 589 | CertificateSerialNumber ::= INTEGER | 
| 590 | */ | 
| 591 |  | 
| 592 | typedef heim_integer CertificateSerialNumber; | 
| 593 |  | 
| 594 | ASN1EXP int    ASN1CALL decode_CertificateSerialNumber(const unsigned char *, size_t, CertificateSerialNumber *, size_t *); | 
| 595 | ASN1EXP int    ASN1CALL encode_CertificateSerialNumber(unsigned char *, size_t, const CertificateSerialNumber *, size_t *); | 
| 596 | ASN1EXP size_t ASN1CALL length_CertificateSerialNumber(const CertificateSerialNumber *); | 
| 597 | ASN1EXP int    ASN1CALL copy_CertificateSerialNumber  (const CertificateSerialNumber *, CertificateSerialNumber *); | 
| 598 | ASN1EXP void   ASN1CALL free_CertificateSerialNumber  (CertificateSerialNumber *); | 
| 599 |  | 
| 600 |  | 
| 601 | /* | 
| 602 | Time ::= CHOICE { | 
| 603 |   utcTime         UTCTime, | 
| 604 |   generalTime     GeneralizedTime, | 
| 605 | } | 
| 606 | */ | 
| 607 |  | 
| 608 | typedef struct Time { | 
| 609 |   enum Time_enum { | 
| 610 |     choice_Time_utcTime = 1, | 
| 611 |     choice_Time_generalTime | 
| 612 |   } element; | 
| 613 |   union { | 
| 614 |     time_t utcTime; | 
| 615 |     time_t generalTime; | 
| 616 |   } u; | 
| 617 | } Time; | 
| 618 |  | 
| 619 | ASN1EXP int    ASN1CALL decode_Time(const unsigned char *, size_t, Time *, size_t *); | 
| 620 | ASN1EXP int    ASN1CALL encode_Time(unsigned char *, size_t, const Time *, size_t *); | 
| 621 | ASN1EXP size_t ASN1CALL length_Time(const Time *); | 
| 622 | ASN1EXP int    ASN1CALL copy_Time  (const Time *, Time *); | 
| 623 | ASN1EXP void   ASN1CALL free_Time  (Time *); | 
| 624 |  | 
| 625 |  | 
| 626 | /* | 
| 627 | Validity ::= SEQUENCE { | 
| 628 |   notBefore       Time, | 
| 629 |   notAfter        Time, | 
| 630 | } | 
| 631 | */ | 
| 632 |  | 
| 633 | typedef struct Validity { | 
| 634 |   Time notBefore; | 
| 635 |   Time notAfter; | 
| 636 | } Validity; | 
| 637 |  | 
| 638 | ASN1EXP int    ASN1CALL decode_Validity(const unsigned char *, size_t, Validity *, size_t *); | 
| 639 | ASN1EXP int    ASN1CALL encode_Validity(unsigned char *, size_t, const Validity *, size_t *); | 
| 640 | ASN1EXP size_t ASN1CALL length_Validity(const Validity *); | 
| 641 | ASN1EXP int    ASN1CALL copy_Validity  (const Validity *, Validity *); | 
| 642 | ASN1EXP void   ASN1CALL free_Validity  (Validity *); | 
| 643 |  | 
| 644 |  | 
| 645 | /* | 
| 646 | UniqueIdentifier ::= BIT STRING { | 
| 647 | } | 
| 648 | */ | 
| 649 |  | 
| 650 | typedef heim_bit_string UniqueIdentifier; | 
| 651 |  | 
| 652 | ASN1EXP int    ASN1CALL decode_UniqueIdentifier(const unsigned char *, size_t, UniqueIdentifier *, size_t *); | 
| 653 | ASN1EXP int    ASN1CALL encode_UniqueIdentifier(unsigned char *, size_t, const UniqueIdentifier *, size_t *); | 
| 654 | ASN1EXP size_t ASN1CALL length_UniqueIdentifier(const UniqueIdentifier *); | 
| 655 | ASN1EXP int    ASN1CALL copy_UniqueIdentifier  (const UniqueIdentifier *, UniqueIdentifier *); | 
| 656 | ASN1EXP void   ASN1CALL free_UniqueIdentifier  (UniqueIdentifier *); | 
| 657 |  | 
| 658 |  | 
| 659 | /* | 
| 660 | SubjectPublicKeyInfo ::= SEQUENCE { | 
| 661 |   algorithm          AlgorithmIdentifier, | 
| 662 |   subjectPublicKey     BIT STRING { | 
| 663 |   }, | 
| 664 | } | 
| 665 | */ | 
| 666 |  | 
| 667 | typedef struct SubjectPublicKeyInfo { | 
| 668 |   AlgorithmIdentifier algorithm; | 
| 669 |   heim_bit_string subjectPublicKey; | 
| 670 | } SubjectPublicKeyInfo; | 
| 671 |  | 
| 672 | ASN1EXP int    ASN1CALL decode_SubjectPublicKeyInfo(const unsigned char *, size_t, SubjectPublicKeyInfo *, size_t *); | 
| 673 | ASN1EXP int    ASN1CALL encode_SubjectPublicKeyInfo(unsigned char *, size_t, const SubjectPublicKeyInfo *, size_t *); | 
| 674 | ASN1EXP size_t ASN1CALL length_SubjectPublicKeyInfo(const SubjectPublicKeyInfo *); | 
| 675 | ASN1EXP int    ASN1CALL copy_SubjectPublicKeyInfo  (const SubjectPublicKeyInfo *, SubjectPublicKeyInfo *); | 
| 676 | ASN1EXP void   ASN1CALL free_SubjectPublicKeyInfo  (SubjectPublicKeyInfo *); | 
| 677 |  | 
| 678 |  | 
| 679 | /* | 
| 680 | Extension ::= SEQUENCE { | 
| 681 |   extnID            OBJECT IDENTIFIER, | 
| 682 |   critical        BOOLEAN OPTIONAL, | 
| 683 |   extnValue       OCTET STRING, | 
| 684 | } | 
| 685 | */ | 
| 686 |  | 
| 687 | typedef struct Extension { | 
| 688 |   heim_oid extnID; | 
| 689 |   int *critical; | 
| 690 |   heim_octet_string extnValue; | 
| 691 | } Extension; | 
| 692 |  | 
| 693 | ASN1EXP int    ASN1CALL decode_Extension(const unsigned char *, size_t, Extension *, size_t *); | 
| 694 | ASN1EXP int    ASN1CALL encode_Extension(unsigned char *, size_t, const Extension *, size_t *); | 
| 695 | ASN1EXP size_t ASN1CALL length_Extension(const Extension *); | 
| 696 | ASN1EXP int    ASN1CALL copy_Extension  (const Extension *, Extension *); | 
| 697 | ASN1EXP void   ASN1CALL free_Extension  (Extension *); | 
| 698 |  | 
| 699 |  | 
| 700 | /* | 
| 701 | Extensions ::= SEQUENCE OF Extension | 
| 702 | */ | 
| 703 |  | 
| 704 | typedef struct Extensions { | 
| 705 |   unsigned int len; | 
| 706 |   Extension *val; | 
| 707 | } Extensions; | 
| 708 |  | 
| 709 | ASN1EXP int   ASN1CALL add_Extensions  (Extensions *, const Extension *); | 
| 710 | ASN1EXP int   ASN1CALL remove_Extensions  (Extensions *, unsigned int); | 
| 711 | ASN1EXP int    ASN1CALL decode_Extensions(const unsigned char *, size_t, Extensions *, size_t *); | 
| 712 | ASN1EXP int    ASN1CALL encode_Extensions(unsigned char *, size_t, const Extensions *, size_t *); | 
| 713 | ASN1EXP size_t ASN1CALL length_Extensions(const Extensions *); | 
| 714 | ASN1EXP int    ASN1CALL copy_Extensions  (const Extensions *, Extensions *); | 
| 715 | ASN1EXP void   ASN1CALL free_Extensions  (Extensions *); | 
| 716 |  | 
| 717 |  | 
| 718 | /* | 
| 719 | TBSCertificate ::= SEQUENCE { | 
| 720 |   version                [0] Version OPTIONAL, | 
| 721 |   serialNumber           CertificateSerialNumber, | 
| 722 |   signature              AlgorithmIdentifier, | 
| 723 |   issuer                 Name, | 
| 724 |   validity               Validity, | 
| 725 |   subject                Name, | 
| 726 |   subjectPublicKeyInfo   SubjectPublicKeyInfo, | 
| 727 |   issuerUniqueID         [1] IMPLICIT   BIT STRING { | 
| 728 |   } OPTIONAL, | 
| 729 |   subjectUniqueID        [2] IMPLICIT   BIT STRING { | 
| 730 |   } OPTIONAL, | 
| 731 |   extensions             [3] Extensions OPTIONAL, | 
| 732 | } | 
| 733 | */ | 
| 734 |  | 
| 735 | typedef struct TBSCertificate { | 
| 736 |   heim_octet_string _save; | 
| 737 |   Version *version; | 
| 738 |   CertificateSerialNumber serialNumber; | 
| 739 |   AlgorithmIdentifier signature; | 
| 740 |   Name issuer; | 
| 741 |   Validity validity; | 
| 742 |   Name subject; | 
| 743 |   SubjectPublicKeyInfo subjectPublicKeyInfo; | 
| 744 |   heim_bit_string *issuerUniqueID; | 
| 745 |   heim_bit_string *subjectUniqueID; | 
| 746 |   Extensions *extensions; | 
| 747 | } TBSCertificate; | 
| 748 |  | 
| 749 | ASN1EXP int    ASN1CALL decode_TBSCertificate(const unsigned char *, size_t, TBSCertificate *, size_t *); | 
| 750 | ASN1EXP int    ASN1CALL encode_TBSCertificate(unsigned char *, size_t, const TBSCertificate *, size_t *); | 
| 751 | ASN1EXP size_t ASN1CALL length_TBSCertificate(const TBSCertificate *); | 
| 752 | ASN1EXP int    ASN1CALL copy_TBSCertificate  (const TBSCertificate *, TBSCertificate *); | 
| 753 | ASN1EXP void   ASN1CALL free_TBSCertificate  (TBSCertificate *); | 
| 754 |  | 
| 755 |  | 
| 756 | /* | 
| 757 | Certificate ::= SEQUENCE { | 
| 758 |   tbsCertificate       TBSCertificate, | 
| 759 |   signatureAlgorithm   AlgorithmIdentifier, | 
| 760 |   signatureValue         BIT STRING { | 
| 761 |   }, | 
| 762 | } | 
| 763 | */ | 
| 764 |  | 
| 765 | typedef struct Certificate { | 
| 766 |   TBSCertificate tbsCertificate; | 
| 767 |   AlgorithmIdentifier signatureAlgorithm; | 
| 768 |   heim_bit_string signatureValue; | 
| 769 | } Certificate; | 
| 770 |  | 
| 771 | ASN1EXP int    ASN1CALL decode_Certificate(const unsigned char *, size_t, Certificate *, size_t *); | 
| 772 | ASN1EXP int    ASN1CALL encode_Certificate(unsigned char *, size_t, const Certificate *, size_t *); | 
| 773 | ASN1EXP size_t ASN1CALL length_Certificate(const Certificate *); | 
| 774 | ASN1EXP int    ASN1CALL copy_Certificate  (const Certificate *, Certificate *); | 
| 775 | ASN1EXP void   ASN1CALL free_Certificate  (Certificate *); | 
| 776 |  | 
| 777 |  | 
| 778 | /* | 
| 779 | Certificates ::= SEQUENCE OF Certificate | 
| 780 | */ | 
| 781 |  | 
| 782 | typedef struct Certificates { | 
| 783 |   unsigned int len; | 
| 784 |   Certificate *val; | 
| 785 | } Certificates; | 
| 786 |  | 
| 787 | ASN1EXP int    ASN1CALL decode_Certificates(const unsigned char *, size_t, Certificates *, size_t *); | 
| 788 | ASN1EXP int    ASN1CALL encode_Certificates(unsigned char *, size_t, const Certificates *, size_t *); | 
| 789 | ASN1EXP size_t ASN1CALL length_Certificates(const Certificates *); | 
| 790 | ASN1EXP int    ASN1CALL copy_Certificates  (const Certificates *, Certificates *); | 
| 791 | ASN1EXP void   ASN1CALL free_Certificates  (Certificates *); | 
| 792 |  | 
| 793 |  | 
| 794 | /* | 
| 795 | ValidationParms ::= SEQUENCE { | 
| 796 |   seed              BIT STRING { | 
| 797 |   }, | 
| 798 |   pgenCounter     INTEGER, | 
| 799 | } | 
| 800 | */ | 
| 801 |  | 
| 802 | typedef struct ValidationParms { | 
| 803 |   heim_bit_string seed; | 
| 804 |   heim_integer pgenCounter; | 
| 805 | } ValidationParms; | 
| 806 |  | 
| 807 | ASN1EXP int    ASN1CALL decode_ValidationParms(const unsigned char *, size_t, ValidationParms *, size_t *); | 
| 808 | ASN1EXP int    ASN1CALL encode_ValidationParms(unsigned char *, size_t, const ValidationParms *, size_t *); | 
| 809 | ASN1EXP size_t ASN1CALL length_ValidationParms(const ValidationParms *); | 
| 810 | ASN1EXP int    ASN1CALL copy_ValidationParms  (const ValidationParms *, ValidationParms *); | 
| 811 | ASN1EXP void   ASN1CALL free_ValidationParms  (ValidationParms *); | 
| 812 |  | 
| 813 |  | 
| 814 | /* | 
| 815 | DomainParameters ::= SEQUENCE { | 
| 816 |   p                 INTEGER, | 
| 817 |   g                 INTEGER, | 
| 818 |   q                 INTEGER OPTIONAL, | 
| 819 |   j                 INTEGER OPTIONAL, | 
| 820 |   validationParms   ValidationParms OPTIONAL, | 
| 821 | } | 
| 822 | */ | 
| 823 |  | 
| 824 | typedef struct DomainParameters { | 
| 825 |   heim_integer p; | 
| 826 |   heim_integer g; | 
| 827 |   heim_integer *q; | 
| 828 |   heim_integer *j; | 
| 829 |   ValidationParms *validationParms; | 
| 830 | } DomainParameters; | 
| 831 |  | 
| 832 | ASN1EXP int    ASN1CALL decode_DomainParameters(const unsigned char *, size_t, DomainParameters *, size_t *); | 
| 833 | ASN1EXP int    ASN1CALL encode_DomainParameters(unsigned char *, size_t, const DomainParameters *, size_t *); | 
| 834 | ASN1EXP size_t ASN1CALL length_DomainParameters(const DomainParameters *); | 
| 835 | ASN1EXP int    ASN1CALL copy_DomainParameters  (const DomainParameters *, DomainParameters *); | 
| 836 | ASN1EXP void   ASN1CALL free_DomainParameters  (DomainParameters *); | 
| 837 |  | 
| 838 |  | 
| 839 | /* | 
| 840 | DHParameter ::= SEQUENCE { | 
| 841 |   prime                INTEGER, | 
| 842 |   base                 INTEGER, | 
| 843 |   privateValueLength   INTEGER OPTIONAL, | 
| 844 | } | 
| 845 | */ | 
| 846 |  | 
| 847 | typedef struct DHParameter { | 
| 848 |   heim_integer prime; | 
| 849 |   heim_integer base; | 
| 850 |   heim_integer *privateValueLength; | 
| 851 | } DHParameter; | 
| 852 |  | 
| 853 | ASN1EXP int    ASN1CALL decode_DHParameter(const unsigned char *, size_t, DHParameter *, size_t *); | 
| 854 | ASN1EXP int    ASN1CALL encode_DHParameter(unsigned char *, size_t, const DHParameter *, size_t *); | 
| 855 | ASN1EXP size_t ASN1CALL length_DHParameter(const DHParameter *); | 
| 856 | ASN1EXP int    ASN1CALL copy_DHParameter  (const DHParameter *, DHParameter *); | 
| 857 | ASN1EXP void   ASN1CALL free_DHParameter  (DHParameter *); | 
| 858 |  | 
| 859 |  | 
| 860 | /* | 
| 861 | DHPublicKey ::= INTEGER | 
| 862 | */ | 
| 863 |  | 
| 864 | typedef heim_integer DHPublicKey; | 
| 865 |  | 
| 866 | ASN1EXP int    ASN1CALL decode_DHPublicKey(const unsigned char *, size_t, DHPublicKey *, size_t *); | 
| 867 | ASN1EXP int    ASN1CALL encode_DHPublicKey(unsigned char *, size_t, const DHPublicKey *, size_t *); | 
| 868 | ASN1EXP size_t ASN1CALL length_DHPublicKey(const DHPublicKey *); | 
| 869 | ASN1EXP int    ASN1CALL copy_DHPublicKey  (const DHPublicKey *, DHPublicKey *); | 
| 870 | ASN1EXP void   ASN1CALL free_DHPublicKey  (DHPublicKey *); | 
| 871 |  | 
| 872 |  | 
| 873 | /* | 
| 874 | OtherName ::= SEQUENCE { | 
| 875 |   type-id           OBJECT IDENTIFIER, | 
| 876 |   value           [0] heim_any, | 
| 877 | } | 
| 878 | */ | 
| 879 |  | 
| 880 | typedef struct OtherName { | 
| 881 |   heim_oid type_id; | 
| 882 |   heim_any value; | 
| 883 | } OtherName; | 
| 884 |  | 
| 885 | ASN1EXP int    ASN1CALL decode_OtherName(const unsigned char *, size_t, OtherName *, size_t *); | 
| 886 | ASN1EXP int    ASN1CALL encode_OtherName(unsigned char *, size_t, const OtherName *, size_t *); | 
| 887 | ASN1EXP size_t ASN1CALL length_OtherName(const OtherName *); | 
| 888 | ASN1EXP int    ASN1CALL copy_OtherName  (const OtherName *, OtherName *); | 
| 889 | ASN1EXP void   ASN1CALL free_OtherName  (OtherName *); | 
| 890 |  | 
| 891 |  | 
| 892 | /* | 
| 893 | GeneralName ::= CHOICE { | 
| 894 |   otherName                   [0] IMPLICIT SEQUENCE { | 
| 895 |     type-id             OBJECT IDENTIFIER, | 
| 896 |     value           [0] heim_any, | 
| 897 |   }, | 
| 898 |   rfc822Name                  [1] IMPLICIT   IA5String, | 
| 899 |   dNSName                     [2] IMPLICIT   IA5String, | 
| 900 |   directoryName               [4] IMPLICIT CHOICE { | 
| 901 |     rdnSequence     RDNSequence, | 
| 902 |   }, | 
| 903 |   uniformResourceIdentifier   [6] IMPLICIT   IA5String, | 
| 904 |   iPAddress                   [7] IMPLICIT OCTET STRING, | 
| 905 |   registeredID                [8] IMPLICIT   OBJECT IDENTIFIER, | 
| 906 | } | 
| 907 | */ | 
| 908 |  | 
| 909 | typedef struct GeneralName { | 
| 910 |   enum GeneralName_enum { | 
| 911 |     choice_GeneralName_otherName = 1, | 
| 912 |     choice_GeneralName_rfc822Name, | 
| 913 |     choice_GeneralName_dNSName, | 
| 914 |     choice_GeneralName_directoryName, | 
| 915 |     choice_GeneralName_uniformResourceIdentifier, | 
| 916 |     choice_GeneralName_iPAddress, | 
| 917 |     choice_GeneralName_registeredID | 
| 918 |   } element; | 
| 919 |   union { | 
| 920 |     struct GeneralName_otherName { | 
| 921 |       heim_oid type_id; | 
| 922 |       heim_any value; | 
| 923 |     } otherName; | 
| 924 |     heim_ia5_string rfc822Name; | 
| 925 |     heim_ia5_string dNSName; | 
| 926 |     struct GeneralName_directoryName { | 
| 927 |       enum GeneralName_directoryName_enum { | 
| 928 |         choice_GeneralName_directoryName_rdnSequence = 1 | 
| 929 |       } element; | 
| 930 |       union { | 
| 931 |         RDNSequence rdnSequence; | 
| 932 |       } u; | 
| 933 |     } directoryName; | 
| 934 |     heim_ia5_string uniformResourceIdentifier; | 
| 935 |     heim_octet_string iPAddress; | 
| 936 |     heim_oid registeredID; | 
| 937 |   } u; | 
| 938 | } GeneralName; | 
| 939 |  | 
| 940 | ASN1EXP int    ASN1CALL decode_GeneralName(const unsigned char *, size_t, GeneralName *, size_t *); | 
| 941 | ASN1EXP int    ASN1CALL encode_GeneralName(unsigned char *, size_t, const GeneralName *, size_t *); | 
| 942 | ASN1EXP size_t ASN1CALL length_GeneralName(const GeneralName *); | 
| 943 | ASN1EXP int    ASN1CALL copy_GeneralName  (const GeneralName *, GeneralName *); | 
| 944 | ASN1EXP void   ASN1CALL free_GeneralName  (GeneralName *); | 
| 945 |  | 
| 946 |  | 
| 947 | /* | 
| 948 | GeneralNames ::= SEQUENCE OF GeneralName | 
| 949 | */ | 
| 950 |  | 
| 951 | typedef struct GeneralNames { | 
| 952 |   unsigned int len; | 
| 953 |   GeneralName *val; | 
| 954 | } GeneralNames; | 
| 955 |  | 
| 956 | ASN1EXP int   ASN1CALL add_GeneralNames  (GeneralNames *, const GeneralName *); | 
| 957 | ASN1EXP int   ASN1CALL remove_GeneralNames  (GeneralNames *, unsigned int); | 
| 958 | ASN1EXP int    ASN1CALL decode_GeneralNames(const unsigned char *, size_t, GeneralNames *, size_t *); | 
| 959 | ASN1EXP int    ASN1CALL encode_GeneralNames(unsigned char *, size_t, const GeneralNames *, size_t *); | 
| 960 | ASN1EXP size_t ASN1CALL length_GeneralNames(const GeneralNames *); | 
| 961 | ASN1EXP int    ASN1CALL copy_GeneralNames  (const GeneralNames *, GeneralNames *); | 
| 962 | ASN1EXP void   ASN1CALL free_GeneralNames  (GeneralNames *); | 
| 963 |  | 
| 964 |  | 
| 965 | /* OBJECT IDENTIFIER id-x509-ce-keyUsage ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(15) } */ | 
| 966 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_keyUsage; | 
| 967 | #define ASN1_OID_ID_X509_CE_KEYUSAGE (&asn1_oid_id_x509_ce_keyUsage) | 
| 968 |  | 
| 969 | /* | 
| 970 | KeyUsage ::= BIT STRING { | 
| 971 |   digitalSignature(0), | 
| 972 |   nonRepudiation(1), | 
| 973 |   keyEncipherment(2), | 
| 974 |   dataEncipherment(3), | 
| 975 |   keyAgreement(4), | 
| 976 |   keyCertSign(5), | 
| 977 |   cRLSign(6), | 
| 978 |   encipherOnly(7), | 
| 979 |   decipherOnly(8) | 
| 980 | } | 
| 981 | */ | 
| 982 |  | 
| 983 | typedef struct KeyUsage { | 
| 984 |   unsigned int digitalSignature:1; | 
| 985 |   unsigned int nonRepudiation:1; | 
| 986 |   unsigned int keyEncipherment:1; | 
| 987 |   unsigned int dataEncipherment:1; | 
| 988 |   unsigned int keyAgreement:1; | 
| 989 |   unsigned int keyCertSign:1; | 
| 990 |   unsigned int cRLSign:1; | 
| 991 |   unsigned int encipherOnly:1; | 
| 992 |   unsigned int decipherOnly:1; | 
| 993 |   unsigned int _unused9:1; | 
| 994 |   unsigned int _unused10:1; | 
| 995 |   unsigned int _unused11:1; | 
| 996 |   unsigned int _unused12:1; | 
| 997 |   unsigned int _unused13:1; | 
| 998 |   unsigned int _unused14:1; | 
| 999 |   unsigned int _unused15:1; | 
| 1000 |   unsigned int _unused16:1; | 
| 1001 |   unsigned int _unused17:1; | 
| 1002 |   unsigned int _unused18:1; | 
| 1003 |   unsigned int _unused19:1; | 
| 1004 |   unsigned int _unused20:1; | 
| 1005 |   unsigned int _unused21:1; | 
| 1006 |   unsigned int _unused22:1; | 
| 1007 |   unsigned int _unused23:1; | 
| 1008 |   unsigned int _unused24:1; | 
| 1009 |   unsigned int _unused25:1; | 
| 1010 |   unsigned int _unused26:1; | 
| 1011 |   unsigned int _unused27:1; | 
| 1012 |   unsigned int _unused28:1; | 
| 1013 |   unsigned int _unused29:1; | 
| 1014 |   unsigned int _unused30:1; | 
| 1015 |   unsigned int _unused31:1; | 
| 1016 | } KeyUsage; | 
| 1017 |  | 
| 1018 |  | 
| 1019 | unsigned KeyUsage2int(KeyUsage); | 
| 1020 | KeyUsage int2KeyUsage(unsigned); | 
| 1021 | const struct units * asn1_KeyUsage_units(void); | 
| 1022 | ASN1EXP int    ASN1CALL decode_KeyUsage(const unsigned char *, size_t, KeyUsage *, size_t *); | 
| 1023 | ASN1EXP int    ASN1CALL encode_KeyUsage(unsigned char *, size_t, const KeyUsage *, size_t *); | 
| 1024 | ASN1EXP size_t ASN1CALL length_KeyUsage(const KeyUsage *); | 
| 1025 | ASN1EXP int    ASN1CALL copy_KeyUsage  (const KeyUsage *, KeyUsage *); | 
| 1026 | ASN1EXP void   ASN1CALL free_KeyUsage  (KeyUsage *); | 
| 1027 |  | 
| 1028 |  | 
| 1029 | /* OBJECT IDENTIFIER id-x509-ce-authorityKeyIdentifier ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(35) } */ | 
| 1030 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_authorityKeyIdentifier; | 
| 1031 | #define ASN1_OID_ID_X509_CE_AUTHORITYKEYIDENTIFIER (&asn1_oid_id_x509_ce_authorityKeyIdentifier) | 
| 1032 |  | 
| 1033 | /* | 
| 1034 | KeyIdentifier ::= OCTET STRING | 
| 1035 | */ | 
| 1036 |  | 
| 1037 | typedef heim_octet_string KeyIdentifier; | 
| 1038 |  | 
| 1039 | ASN1EXP int    ASN1CALL decode_KeyIdentifier(const unsigned char *, size_t, KeyIdentifier *, size_t *); | 
| 1040 | ASN1EXP int    ASN1CALL encode_KeyIdentifier(unsigned char *, size_t, const KeyIdentifier *, size_t *); | 
| 1041 | ASN1EXP size_t ASN1CALL length_KeyIdentifier(const KeyIdentifier *); | 
| 1042 | ASN1EXP int    ASN1CALL copy_KeyIdentifier  (const KeyIdentifier *, KeyIdentifier *); | 
| 1043 | ASN1EXP void   ASN1CALL free_KeyIdentifier  (KeyIdentifier *); | 
| 1044 |  | 
| 1045 |  | 
| 1046 | /* | 
| 1047 | AuthorityKeyIdentifier ::= SEQUENCE { | 
| 1048 |   keyIdentifier               [0] IMPLICIT OCTET STRING OPTIONAL, | 
| 1049 |   authorityCertIssuer         [1] IMPLICIT SEQUENCE OF GeneralName OPTIONAL, | 
| 1050 |   authorityCertSerialNumber   [2] IMPLICIT INTEGER OPTIONAL, | 
| 1051 | } | 
| 1052 | */ | 
| 1053 |  | 
| 1054 | typedef struct AuthorityKeyIdentifier { | 
| 1055 |   heim_octet_string *keyIdentifier; | 
| 1056 |   struct AuthorityKeyIdentifier_authorityCertIssuer { | 
| 1057 |     unsigned int len; | 
| 1058 |     GeneralName *val; | 
| 1059 |   } *authorityCertIssuer; | 
| 1060 |   heim_integer *authorityCertSerialNumber; | 
| 1061 | } AuthorityKeyIdentifier; | 
| 1062 |  | 
| 1063 | ASN1EXP int    ASN1CALL decode_AuthorityKeyIdentifier(const unsigned char *, size_t, AuthorityKeyIdentifier *, size_t *); | 
| 1064 | ASN1EXP int    ASN1CALL encode_AuthorityKeyIdentifier(unsigned char *, size_t, const AuthorityKeyIdentifier *, size_t *); | 
| 1065 | ASN1EXP size_t ASN1CALL length_AuthorityKeyIdentifier(const AuthorityKeyIdentifier *); | 
| 1066 | ASN1EXP int    ASN1CALL copy_AuthorityKeyIdentifier  (const AuthorityKeyIdentifier *, AuthorityKeyIdentifier *); | 
| 1067 | ASN1EXP void   ASN1CALL free_AuthorityKeyIdentifier  (AuthorityKeyIdentifier *); | 
| 1068 |  | 
| 1069 |  | 
| 1070 | /* OBJECT IDENTIFIER id-x509-ce-subjectKeyIdentifier ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(14) } */ | 
| 1071 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_subjectKeyIdentifier; | 
| 1072 | #define ASN1_OID_ID_X509_CE_SUBJECTKEYIDENTIFIER (&asn1_oid_id_x509_ce_subjectKeyIdentifier) | 
| 1073 |  | 
| 1074 | /* | 
| 1075 | SubjectKeyIdentifier ::= KeyIdentifier | 
| 1076 | */ | 
| 1077 |  | 
| 1078 | typedef KeyIdentifier SubjectKeyIdentifier; | 
| 1079 |  | 
| 1080 | ASN1EXP int    ASN1CALL decode_SubjectKeyIdentifier(const unsigned char *, size_t, SubjectKeyIdentifier *, size_t *); | 
| 1081 | ASN1EXP int    ASN1CALL encode_SubjectKeyIdentifier(unsigned char *, size_t, const SubjectKeyIdentifier *, size_t *); | 
| 1082 | ASN1EXP size_t ASN1CALL length_SubjectKeyIdentifier(const SubjectKeyIdentifier *); | 
| 1083 | ASN1EXP int    ASN1CALL copy_SubjectKeyIdentifier  (const SubjectKeyIdentifier *, SubjectKeyIdentifier *); | 
| 1084 | ASN1EXP void   ASN1CALL free_SubjectKeyIdentifier  (SubjectKeyIdentifier *); | 
| 1085 |  | 
| 1086 |  | 
| 1087 | /* OBJECT IDENTIFIER id-x509-ce-basicConstraints ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(19) } */ | 
| 1088 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_basicConstraints; | 
| 1089 | #define ASN1_OID_ID_X509_CE_BASICCONSTRAINTS (&asn1_oid_id_x509_ce_basicConstraints) | 
| 1090 |  | 
| 1091 | /* | 
| 1092 | BasicConstraints ::= SEQUENCE { | 
| 1093 |   cA                  BOOLEAN OPTIONAL, | 
| 1094 |   pathLenConstraint   INTEGER (0..4294967295) OPTIONAL, | 
| 1095 | } | 
| 1096 | */ | 
| 1097 |  | 
| 1098 | typedef struct BasicConstraints { | 
| 1099 |   int *cA; | 
| 1100 |   unsigned int *pathLenConstraint; | 
| 1101 | } BasicConstraints; | 
| 1102 |  | 
| 1103 | ASN1EXP int    ASN1CALL decode_BasicConstraints(const unsigned char *, size_t, BasicConstraints *, size_t *); | 
| 1104 | ASN1EXP int    ASN1CALL encode_BasicConstraints(unsigned char *, size_t, const BasicConstraints *, size_t *); | 
| 1105 | ASN1EXP size_t ASN1CALL length_BasicConstraints(const BasicConstraints *); | 
| 1106 | ASN1EXP int    ASN1CALL copy_BasicConstraints  (const BasicConstraints *, BasicConstraints *); | 
| 1107 | ASN1EXP void   ASN1CALL free_BasicConstraints  (BasicConstraints *); | 
| 1108 |  | 
| 1109 |  | 
| 1110 | /* OBJECT IDENTIFIER id-x509-ce-nameConstraints ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(30) } */ | 
| 1111 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_nameConstraints; | 
| 1112 | #define ASN1_OID_ID_X509_CE_NAMECONSTRAINTS (&asn1_oid_id_x509_ce_nameConstraints) | 
| 1113 |  | 
| 1114 | /* | 
| 1115 | BaseDistance ::= INTEGER | 
| 1116 | */ | 
| 1117 |  | 
| 1118 | typedef heim_integer BaseDistance; | 
| 1119 |  | 
| 1120 | ASN1EXP int    ASN1CALL decode_BaseDistance(const unsigned char *, size_t, BaseDistance *, size_t *); | 
| 1121 | ASN1EXP int    ASN1CALL encode_BaseDistance(unsigned char *, size_t, const BaseDistance *, size_t *); | 
| 1122 | ASN1EXP size_t ASN1CALL length_BaseDistance(const BaseDistance *); | 
| 1123 | ASN1EXP int    ASN1CALL copy_BaseDistance  (const BaseDistance *, BaseDistance *); | 
| 1124 | ASN1EXP void   ASN1CALL free_BaseDistance  (BaseDistance *); | 
| 1125 |  | 
| 1126 |  | 
| 1127 | /* | 
| 1128 | GeneralSubtree ::= SEQUENCE { | 
| 1129 |   base            GeneralName, | 
| 1130 |   minimum         [0] IMPLICIT INTEGER OPTIONAL, | 
| 1131 |   maximum         [1] IMPLICIT INTEGER OPTIONAL, | 
| 1132 | } | 
| 1133 | */ | 
| 1134 |  | 
| 1135 | typedef struct GeneralSubtree { | 
| 1136 |   GeneralName base; | 
| 1137 |   heim_integer *minimum; | 
| 1138 |   heim_integer *maximum; | 
| 1139 | } GeneralSubtree; | 
| 1140 |  | 
| 1141 | ASN1EXP int    ASN1CALL decode_GeneralSubtree(const unsigned char *, size_t, GeneralSubtree *, size_t *); | 
| 1142 | ASN1EXP int    ASN1CALL encode_GeneralSubtree(unsigned char *, size_t, const GeneralSubtree *, size_t *); | 
| 1143 | ASN1EXP size_t ASN1CALL length_GeneralSubtree(const GeneralSubtree *); | 
| 1144 | ASN1EXP int    ASN1CALL copy_GeneralSubtree  (const GeneralSubtree *, GeneralSubtree *); | 
| 1145 | ASN1EXP void   ASN1CALL free_GeneralSubtree  (GeneralSubtree *); | 
| 1146 |  | 
| 1147 |  | 
| 1148 | /* | 
| 1149 | GeneralSubtrees ::= SEQUENCE OF GeneralSubtree | 
| 1150 | */ | 
| 1151 |  | 
| 1152 | typedef struct GeneralSubtrees { | 
| 1153 |   unsigned int len; | 
| 1154 |   GeneralSubtree *val; | 
| 1155 | } GeneralSubtrees; | 
| 1156 |  | 
| 1157 | ASN1EXP int    ASN1CALL decode_GeneralSubtrees(const unsigned char *, size_t, GeneralSubtrees *, size_t *); | 
| 1158 | ASN1EXP int    ASN1CALL encode_GeneralSubtrees(unsigned char *, size_t, const GeneralSubtrees *, size_t *); | 
| 1159 | ASN1EXP size_t ASN1CALL length_GeneralSubtrees(const GeneralSubtrees *); | 
| 1160 | ASN1EXP int    ASN1CALL copy_GeneralSubtrees  (const GeneralSubtrees *, GeneralSubtrees *); | 
| 1161 | ASN1EXP void   ASN1CALL free_GeneralSubtrees  (GeneralSubtrees *); | 
| 1162 |  | 
| 1163 |  | 
| 1164 | /* | 
| 1165 | NameConstraints ::= SEQUENCE { | 
| 1166 |   permittedSubtrees   [0] IMPLICIT SEQUENCE OF GeneralSubtree OPTIONAL, | 
| 1167 |   excludedSubtrees    [1] IMPLICIT SEQUENCE OF GeneralSubtree OPTIONAL, | 
| 1168 | } | 
| 1169 | */ | 
| 1170 |  | 
| 1171 | typedef struct NameConstraints { | 
| 1172 |   struct NameConstraints_permittedSubtrees { | 
| 1173 |     unsigned int len; | 
| 1174 |     GeneralSubtree *val; | 
| 1175 |   } *permittedSubtrees; | 
| 1176 |   struct NameConstraints_excludedSubtrees { | 
| 1177 |     unsigned int len; | 
| 1178 |     GeneralSubtree *val; | 
| 1179 |   } *excludedSubtrees; | 
| 1180 | } NameConstraints; | 
| 1181 |  | 
| 1182 | ASN1EXP int    ASN1CALL decode_NameConstraints(const unsigned char *, size_t, NameConstraints *, size_t *); | 
| 1183 | ASN1EXP int    ASN1CALL encode_NameConstraints(unsigned char *, size_t, const NameConstraints *, size_t *); | 
| 1184 | ASN1EXP size_t ASN1CALL length_NameConstraints(const NameConstraints *); | 
| 1185 | ASN1EXP int    ASN1CALL copy_NameConstraints  (const NameConstraints *, NameConstraints *); | 
| 1186 | ASN1EXP void   ASN1CALL free_NameConstraints  (NameConstraints *); | 
| 1187 |  | 
| 1188 |  | 
| 1189 | /* OBJECT IDENTIFIER id-x509-ce-privateKeyUsagePeriod ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(16) } */ | 
| 1190 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_privateKeyUsagePeriod; | 
| 1191 | #define ASN1_OID_ID_X509_CE_PRIVATEKEYUSAGEPERIOD (&asn1_oid_id_x509_ce_privateKeyUsagePeriod) | 
| 1192 |  | 
| 1193 | /* OBJECT IDENTIFIER id-x509-ce-certificatePolicies ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(32) } */ | 
| 1194 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_certificatePolicies; | 
| 1195 | #define ASN1_OID_ID_X509_CE_CERTIFICATEPOLICIES (&asn1_oid_id_x509_ce_certificatePolicies) | 
| 1196 |  | 
| 1197 | /* OBJECT IDENTIFIER id-x509-ce-policyMappings ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(33) } */ | 
| 1198 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_policyMappings; | 
| 1199 | #define ASN1_OID_ID_X509_CE_POLICYMAPPINGS (&asn1_oid_id_x509_ce_policyMappings) | 
| 1200 |  | 
| 1201 | /* OBJECT IDENTIFIER id-x509-ce-subjectAltName ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(17) } */ | 
| 1202 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_subjectAltName; | 
| 1203 | #define ASN1_OID_ID_X509_CE_SUBJECTALTNAME (&asn1_oid_id_x509_ce_subjectAltName) | 
| 1204 |  | 
| 1205 | /* OBJECT IDENTIFIER id-x509-ce-issuerAltName ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(18) } */ | 
| 1206 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_issuerAltName; | 
| 1207 | #define ASN1_OID_ID_X509_CE_ISSUERALTNAME (&asn1_oid_id_x509_ce_issuerAltName) | 
| 1208 |  | 
| 1209 | /* OBJECT IDENTIFIER id-x509-ce-subjectDirectoryAttributes ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(9) } */ | 
| 1210 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_subjectDirectoryAttributes; | 
| 1211 | #define ASN1_OID_ID_X509_CE_SUBJECTDIRECTORYATTRIBUTES (&asn1_oid_id_x509_ce_subjectDirectoryAttributes) | 
| 1212 |  | 
| 1213 | /* OBJECT IDENTIFIER id-x509-ce-policyConstraints ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(36) } */ | 
| 1214 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_policyConstraints; | 
| 1215 | #define ASN1_OID_ID_X509_CE_POLICYCONSTRAINTS (&asn1_oid_id_x509_ce_policyConstraints) | 
| 1216 |  | 
| 1217 | /* OBJECT IDENTIFIER id-x509-ce-extKeyUsage ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(37) } */ | 
| 1218 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_extKeyUsage; | 
| 1219 | #define ASN1_OID_ID_X509_CE_EXTKEYUSAGE (&asn1_oid_id_x509_ce_extKeyUsage) | 
| 1220 |  | 
| 1221 | /* | 
| 1222 | ExtKeyUsage ::= SEQUENCE OF OBJECT IDENTIFIER | 
| 1223 | */ | 
| 1224 |  | 
| 1225 | typedef struct ExtKeyUsage { | 
| 1226 |   unsigned int len; | 
| 1227 |   heim_oid *val; | 
| 1228 | } ExtKeyUsage; | 
| 1229 |  | 
| 1230 | ASN1EXP int    ASN1CALL decode_ExtKeyUsage(const unsigned char *, size_t, ExtKeyUsage *, size_t *); | 
| 1231 | ASN1EXP int    ASN1CALL encode_ExtKeyUsage(unsigned char *, size_t, const ExtKeyUsage *, size_t *); | 
| 1232 | ASN1EXP size_t ASN1CALL length_ExtKeyUsage(const ExtKeyUsage *); | 
| 1233 | ASN1EXP int    ASN1CALL copy_ExtKeyUsage  (const ExtKeyUsage *, ExtKeyUsage *); | 
| 1234 | ASN1EXP void   ASN1CALL free_ExtKeyUsage  (ExtKeyUsage *); | 
| 1235 |  | 
| 1236 |  | 
| 1237 | /* OBJECT IDENTIFIER id-x509-ce-cRLDistributionPoints ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(31) } */ | 
| 1238 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_cRLDistributionPoints; | 
| 1239 | #define ASN1_OID_ID_X509_CE_CRLDISTRIBUTIONPOINTS (&asn1_oid_id_x509_ce_cRLDistributionPoints) | 
| 1240 |  | 
| 1241 | /* OBJECT IDENTIFIER id-x509-ce-deltaCRLIndicator ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(27) } */ | 
| 1242 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_deltaCRLIndicator; | 
| 1243 | #define ASN1_OID_ID_X509_CE_DELTACRLINDICATOR (&asn1_oid_id_x509_ce_deltaCRLIndicator) | 
| 1244 |  | 
| 1245 | /* OBJECT IDENTIFIER id-x509-ce-issuingDistributionPoint ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(28) } */ | 
| 1246 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_issuingDistributionPoint; | 
| 1247 | #define ASN1_OID_ID_X509_CE_ISSUINGDISTRIBUTIONPOINT (&asn1_oid_id_x509_ce_issuingDistributionPoint) | 
| 1248 |  | 
| 1249 | /* OBJECT IDENTIFIER id-x509-ce-holdInstructionCode ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(23) } */ | 
| 1250 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_holdInstructionCode; | 
| 1251 | #define ASN1_OID_ID_X509_CE_HOLDINSTRUCTIONCODE (&asn1_oid_id_x509_ce_holdInstructionCode) | 
| 1252 |  | 
| 1253 | /* OBJECT IDENTIFIER id-x509-ce-invalidityDate ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(24) } */ | 
| 1254 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_invalidityDate; | 
| 1255 | #define ASN1_OID_ID_X509_CE_INVALIDITYDATE (&asn1_oid_id_x509_ce_invalidityDate) | 
| 1256 |  | 
| 1257 | /* OBJECT IDENTIFIER id-x509-ce-certificateIssuer ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(29) } */ | 
| 1258 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_certificateIssuer; | 
| 1259 | #define ASN1_OID_ID_X509_CE_CERTIFICATEISSUER (&asn1_oid_id_x509_ce_certificateIssuer) | 
| 1260 |  | 
| 1261 | /* OBJECT IDENTIFIER id-x509-ce-inhibitAnyPolicy ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(54) } */ | 
| 1262 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_inhibitAnyPolicy; | 
| 1263 | #define ASN1_OID_ID_X509_CE_INHIBITANYPOLICY (&asn1_oid_id_x509_ce_inhibitAnyPolicy) | 
| 1264 |  | 
| 1265 | /* | 
| 1266 | DistributionPointReasonFlags ::= BIT STRING { | 
| 1267 |   unused(0), | 
| 1268 |   keyCompromise(1), | 
| 1269 |   cACompromise(2), | 
| 1270 |   affiliationChanged(3), | 
| 1271 |   superseded(4), | 
| 1272 |   cessationOfOperation(5), | 
| 1273 |   certificateHold(6), | 
| 1274 |   privilegeWithdrawn(7), | 
| 1275 |   aACompromise(8) | 
| 1276 | } | 
| 1277 | */ | 
| 1278 |  | 
| 1279 | typedef struct DistributionPointReasonFlags { | 
| 1280 |   unsigned int unused:1; | 
| 1281 |   unsigned int keyCompromise:1; | 
| 1282 |   unsigned int cACompromise:1; | 
| 1283 |   unsigned int affiliationChanged:1; | 
| 1284 |   unsigned int superseded:1; | 
| 1285 |   unsigned int cessationOfOperation:1; | 
| 1286 |   unsigned int certificateHold:1; | 
| 1287 |   unsigned int privilegeWithdrawn:1; | 
| 1288 |   unsigned int aACompromise:1; | 
| 1289 |   unsigned int _unused9:1; | 
| 1290 |   unsigned int _unused10:1; | 
| 1291 |   unsigned int _unused11:1; | 
| 1292 |   unsigned int _unused12:1; | 
| 1293 |   unsigned int _unused13:1; | 
| 1294 |   unsigned int _unused14:1; | 
| 1295 |   unsigned int _unused15:1; | 
| 1296 |   unsigned int _unused16:1; | 
| 1297 |   unsigned int _unused17:1; | 
| 1298 |   unsigned int _unused18:1; | 
| 1299 |   unsigned int _unused19:1; | 
| 1300 |   unsigned int _unused20:1; | 
| 1301 |   unsigned int _unused21:1; | 
| 1302 |   unsigned int _unused22:1; | 
| 1303 |   unsigned int _unused23:1; | 
| 1304 |   unsigned int _unused24:1; | 
| 1305 |   unsigned int _unused25:1; | 
| 1306 |   unsigned int _unused26:1; | 
| 1307 |   unsigned int _unused27:1; | 
| 1308 |   unsigned int _unused28:1; | 
| 1309 |   unsigned int _unused29:1; | 
| 1310 |   unsigned int _unused30:1; | 
| 1311 |   unsigned int _unused31:1; | 
| 1312 | } DistributionPointReasonFlags; | 
| 1313 |  | 
| 1314 |  | 
| 1315 | unsigned DistributionPointReasonFlags2int(DistributionPointReasonFlags); | 
| 1316 | DistributionPointReasonFlags int2DistributionPointReasonFlags(unsigned); | 
| 1317 | const struct units * asn1_DistributionPointReasonFlags_units(void); | 
| 1318 | ASN1EXP int    ASN1CALL decode_DistributionPointReasonFlags(const unsigned char *, size_t, DistributionPointReasonFlags *, size_t *); | 
| 1319 | ASN1EXP int    ASN1CALL encode_DistributionPointReasonFlags(unsigned char *, size_t, const DistributionPointReasonFlags *, size_t *); | 
| 1320 | ASN1EXP size_t ASN1CALL length_DistributionPointReasonFlags(const DistributionPointReasonFlags *); | 
| 1321 | ASN1EXP int    ASN1CALL copy_DistributionPointReasonFlags  (const DistributionPointReasonFlags *, DistributionPointReasonFlags *); | 
| 1322 | ASN1EXP void   ASN1CALL free_DistributionPointReasonFlags  (DistributionPointReasonFlags *); | 
| 1323 |  | 
| 1324 |  | 
| 1325 | /* | 
| 1326 | DistributionPointName ::= CHOICE { | 
| 1327 |   fullName                  [0] IMPLICIT SEQUENCE OF GeneralName, | 
| 1328 |   nameRelativeToCRLIssuer   [1] RelativeDistinguishedName, | 
| 1329 | } | 
| 1330 | */ | 
| 1331 |  | 
| 1332 | typedef struct DistributionPointName { | 
| 1333 |   enum DistributionPointName_enum { | 
| 1334 |     choice_DistributionPointName_fullName = 1, | 
| 1335 |     choice_DistributionPointName_nameRelativeToCRLIssuer | 
| 1336 |   } element; | 
| 1337 |   union { | 
| 1338 |     struct DistributionPointName_fullName { | 
| 1339 |       unsigned int len; | 
| 1340 |       GeneralName *val; | 
| 1341 |     } fullName; | 
| 1342 |     RelativeDistinguishedName nameRelativeToCRLIssuer; | 
| 1343 |   } u; | 
| 1344 | } DistributionPointName; | 
| 1345 |  | 
| 1346 | ASN1EXP int    ASN1CALL decode_DistributionPointName(const unsigned char *, size_t, DistributionPointName *, size_t *); | 
| 1347 | ASN1EXP int    ASN1CALL encode_DistributionPointName(unsigned char *, size_t, const DistributionPointName *, size_t *); | 
| 1348 | ASN1EXP size_t ASN1CALL length_DistributionPointName(const DistributionPointName *); | 
| 1349 | ASN1EXP int    ASN1CALL copy_DistributionPointName  (const DistributionPointName *, DistributionPointName *); | 
| 1350 | ASN1EXP void   ASN1CALL free_DistributionPointName  (DistributionPointName *); | 
| 1351 |  | 
| 1352 |  | 
| 1353 | /* | 
| 1354 | DistributionPoint ::= SEQUENCE { | 
| 1355 |   distributionPoint   [0] IMPLICIT heim_any OPTIONAL, | 
| 1356 |   reasons             [1] IMPLICIT heim_any OPTIONAL, | 
| 1357 |   cRLIssuer           [2] IMPLICIT heim_any OPTIONAL, | 
| 1358 | } | 
| 1359 | */ | 
| 1360 |  | 
| 1361 | typedef struct DistributionPoint { | 
| 1362 |   heim_any *distributionPoint; | 
| 1363 |   heim_any *reasons; | 
| 1364 |   heim_any *cRLIssuer; | 
| 1365 | } DistributionPoint; | 
| 1366 |  | 
| 1367 | ASN1EXP int    ASN1CALL decode_DistributionPoint(const unsigned char *, size_t, DistributionPoint *, size_t *); | 
| 1368 | ASN1EXP int    ASN1CALL encode_DistributionPoint(unsigned char *, size_t, const DistributionPoint *, size_t *); | 
| 1369 | ASN1EXP size_t ASN1CALL length_DistributionPoint(const DistributionPoint *); | 
| 1370 | ASN1EXP int    ASN1CALL copy_DistributionPoint  (const DistributionPoint *, DistributionPoint *); | 
| 1371 | ASN1EXP void   ASN1CALL free_DistributionPoint  (DistributionPoint *); | 
| 1372 |  | 
| 1373 |  | 
| 1374 | /* | 
| 1375 | CRLDistributionPoints ::= SEQUENCE OF DistributionPoint | 
| 1376 | */ | 
| 1377 |  | 
| 1378 | typedef struct CRLDistributionPoints { | 
| 1379 |   unsigned int len; | 
| 1380 |   DistributionPoint *val; | 
| 1381 | } CRLDistributionPoints; | 
| 1382 |  | 
| 1383 | ASN1EXP int   ASN1CALL add_CRLDistributionPoints  (CRLDistributionPoints *, const DistributionPoint *); | 
| 1384 | ASN1EXP int   ASN1CALL remove_CRLDistributionPoints  (CRLDistributionPoints *, unsigned int); | 
| 1385 | ASN1EXP int    ASN1CALL decode_CRLDistributionPoints(const unsigned char *, size_t, CRLDistributionPoints *, size_t *); | 
| 1386 | ASN1EXP int    ASN1CALL encode_CRLDistributionPoints(unsigned char *, size_t, const CRLDistributionPoints *, size_t *); | 
| 1387 | ASN1EXP size_t ASN1CALL length_CRLDistributionPoints(const CRLDistributionPoints *); | 
| 1388 | ASN1EXP int    ASN1CALL copy_CRLDistributionPoints  (const CRLDistributionPoints *, CRLDistributionPoints *); | 
| 1389 | ASN1EXP void   ASN1CALL free_CRLDistributionPoints  (CRLDistributionPoints *); | 
| 1390 |  | 
| 1391 |  | 
| 1392 | /* | 
| 1393 | DSASigValue ::= SEQUENCE { | 
| 1394 |   r               INTEGER, | 
| 1395 |   s               INTEGER, | 
| 1396 | } | 
| 1397 | */ | 
| 1398 |  | 
| 1399 | typedef struct DSASigValue { | 
| 1400 |   heim_integer r; | 
| 1401 |   heim_integer s; | 
| 1402 | } DSASigValue; | 
| 1403 |  | 
| 1404 | ASN1EXP int    ASN1CALL decode_DSASigValue(const unsigned char *, size_t, DSASigValue *, size_t *); | 
| 1405 | ASN1EXP int    ASN1CALL encode_DSASigValue(unsigned char *, size_t, const DSASigValue *, size_t *); | 
| 1406 | ASN1EXP size_t ASN1CALL length_DSASigValue(const DSASigValue *); | 
| 1407 | ASN1EXP int    ASN1CALL copy_DSASigValue  (const DSASigValue *, DSASigValue *); | 
| 1408 | ASN1EXP void   ASN1CALL free_DSASigValue  (DSASigValue *); | 
| 1409 |  | 
| 1410 |  | 
| 1411 | /* | 
| 1412 | DSAPublicKey ::= INTEGER | 
| 1413 | */ | 
| 1414 |  | 
| 1415 | typedef heim_integer DSAPublicKey; | 
| 1416 |  | 
| 1417 | ASN1EXP int    ASN1CALL decode_DSAPublicKey(const unsigned char *, size_t, DSAPublicKey *, size_t *); | 
| 1418 | ASN1EXP int    ASN1CALL encode_DSAPublicKey(unsigned char *, size_t, const DSAPublicKey *, size_t *); | 
| 1419 | ASN1EXP size_t ASN1CALL length_DSAPublicKey(const DSAPublicKey *); | 
| 1420 | ASN1EXP int    ASN1CALL copy_DSAPublicKey  (const DSAPublicKey *, DSAPublicKey *); | 
| 1421 | ASN1EXP void   ASN1CALL free_DSAPublicKey  (DSAPublicKey *); | 
| 1422 |  | 
| 1423 |  | 
| 1424 | /* | 
| 1425 | DSAParams ::= SEQUENCE { | 
| 1426 |   p               INTEGER, | 
| 1427 |   q               INTEGER, | 
| 1428 |   g               INTEGER, | 
| 1429 | } | 
| 1430 | */ | 
| 1431 |  | 
| 1432 | typedef struct DSAParams { | 
| 1433 |   heim_integer p; | 
| 1434 |   heim_integer q; | 
| 1435 |   heim_integer g; | 
| 1436 | } DSAParams; | 
| 1437 |  | 
| 1438 | ASN1EXP int    ASN1CALL decode_DSAParams(const unsigned char *, size_t, DSAParams *, size_t *); | 
| 1439 | ASN1EXP int    ASN1CALL encode_DSAParams(unsigned char *, size_t, const DSAParams *, size_t *); | 
| 1440 | ASN1EXP size_t ASN1CALL length_DSAParams(const DSAParams *); | 
| 1441 | ASN1EXP int    ASN1CALL copy_DSAParams  (const DSAParams *, DSAParams *); | 
| 1442 | ASN1EXP void   ASN1CALL free_DSAParams  (DSAParams *); | 
| 1443 |  | 
| 1444 |  | 
| 1445 | /* | 
| 1446 | ECPoint ::= OCTET STRING | 
| 1447 | */ | 
| 1448 |  | 
| 1449 | typedef heim_octet_string ECPoint; | 
| 1450 |  | 
| 1451 | ASN1EXP int    ASN1CALL decode_ECPoint(const unsigned char *, size_t, ECPoint *, size_t *); | 
| 1452 | ASN1EXP int    ASN1CALL encode_ECPoint(unsigned char *, size_t, const ECPoint *, size_t *); | 
| 1453 | ASN1EXP size_t ASN1CALL length_ECPoint(const ECPoint *); | 
| 1454 | ASN1EXP int    ASN1CALL copy_ECPoint  (const ECPoint *, ECPoint *); | 
| 1455 | ASN1EXP void   ASN1CALL free_ECPoint  (ECPoint *); | 
| 1456 |  | 
| 1457 |  | 
| 1458 | /* | 
| 1459 | ECParameters ::= CHOICE { | 
| 1460 |   namedCurve        OBJECT IDENTIFIER, | 
| 1461 | } | 
| 1462 | */ | 
| 1463 |  | 
| 1464 | typedef struct ECParameters { | 
| 1465 |   enum ECParameters_enum { | 
| 1466 |     choice_ECParameters_namedCurve = 1 | 
| 1467 |   } element; | 
| 1468 |   union { | 
| 1469 |     heim_oid namedCurve; | 
| 1470 |   } u; | 
| 1471 | } ECParameters; | 
| 1472 |  | 
| 1473 | ASN1EXP int    ASN1CALL decode_ECParameters(const unsigned char *, size_t, ECParameters *, size_t *); | 
| 1474 | ASN1EXP int    ASN1CALL encode_ECParameters(unsigned char *, size_t, const ECParameters *, size_t *); | 
| 1475 | ASN1EXP size_t ASN1CALL length_ECParameters(const ECParameters *); | 
| 1476 | ASN1EXP int    ASN1CALL copy_ECParameters  (const ECParameters *, ECParameters *); | 
| 1477 | ASN1EXP void   ASN1CALL free_ECParameters  (ECParameters *); | 
| 1478 |  | 
| 1479 |  | 
| 1480 | /* | 
| 1481 | ECDSA-Sig-Value ::= SEQUENCE { | 
| 1482 |   r               INTEGER, | 
| 1483 |   s               INTEGER, | 
| 1484 | } | 
| 1485 | */ | 
| 1486 |  | 
| 1487 | typedef struct ECDSA_Sig_Value { | 
| 1488 |   heim_integer r; | 
| 1489 |   heim_integer s; | 
| 1490 | } ECDSA_Sig_Value; | 
| 1491 |  | 
| 1492 | ASN1EXP int    ASN1CALL decode_ECDSA_Sig_Value(const unsigned char *, size_t, ECDSA_Sig_Value *, size_t *); | 
| 1493 | ASN1EXP int    ASN1CALL encode_ECDSA_Sig_Value(unsigned char *, size_t, const ECDSA_Sig_Value *, size_t *); | 
| 1494 | ASN1EXP size_t ASN1CALL length_ECDSA_Sig_Value(const ECDSA_Sig_Value *); | 
| 1495 | ASN1EXP int    ASN1CALL copy_ECDSA_Sig_Value  (const ECDSA_Sig_Value *, ECDSA_Sig_Value *); | 
| 1496 | ASN1EXP void   ASN1CALL free_ECDSA_Sig_Value  (ECDSA_Sig_Value *); | 
| 1497 |  | 
| 1498 |  | 
| 1499 | /* | 
| 1500 | RSAPublicKey ::= SEQUENCE { | 
| 1501 |   modulus          INTEGER, | 
| 1502 |   publicExponent   INTEGER, | 
| 1503 | } | 
| 1504 | */ | 
| 1505 |  | 
| 1506 | typedef struct RSAPublicKey { | 
| 1507 |   heim_integer modulus; | 
| 1508 |   heim_integer publicExponent; | 
| 1509 | } RSAPublicKey; | 
| 1510 |  | 
| 1511 | ASN1EXP int    ASN1CALL decode_RSAPublicKey(const unsigned char *, size_t, RSAPublicKey *, size_t *); | 
| 1512 | ASN1EXP int    ASN1CALL encode_RSAPublicKey(unsigned char *, size_t, const RSAPublicKey *, size_t *); | 
| 1513 | ASN1EXP size_t ASN1CALL length_RSAPublicKey(const RSAPublicKey *); | 
| 1514 | ASN1EXP int    ASN1CALL copy_RSAPublicKey  (const RSAPublicKey *, RSAPublicKey *); | 
| 1515 | ASN1EXP void   ASN1CALL free_RSAPublicKey  (RSAPublicKey *); | 
| 1516 |  | 
| 1517 |  | 
| 1518 | /* | 
| 1519 | RSAPrivateKey ::= SEQUENCE { | 
| 1520 |   version           INTEGER (0..4294967295), | 
| 1521 |   modulus           INTEGER, | 
| 1522 |   publicExponent    INTEGER, | 
| 1523 |   privateExponent   INTEGER, | 
| 1524 |   prime1            INTEGER, | 
| 1525 |   prime2            INTEGER, | 
| 1526 |   exponent1         INTEGER, | 
| 1527 |   exponent2         INTEGER, | 
| 1528 |   coefficient       INTEGER, | 
| 1529 | } | 
| 1530 | */ | 
| 1531 |  | 
| 1532 | typedef struct RSAPrivateKey { | 
| 1533 |   unsigned int version; | 
| 1534 |   heim_integer modulus; | 
| 1535 |   heim_integer publicExponent; | 
| 1536 |   heim_integer privateExponent; | 
| 1537 |   heim_integer prime1; | 
| 1538 |   heim_integer prime2; | 
| 1539 |   heim_integer exponent1; | 
| 1540 |   heim_integer exponent2; | 
| 1541 |   heim_integer coefficient; | 
| 1542 | } RSAPrivateKey; | 
| 1543 |  | 
| 1544 | ASN1EXP int    ASN1CALL decode_RSAPrivateKey(const unsigned char *, size_t, RSAPrivateKey *, size_t *); | 
| 1545 | ASN1EXP int    ASN1CALL encode_RSAPrivateKey(unsigned char *, size_t, const RSAPrivateKey *, size_t *); | 
| 1546 | ASN1EXP size_t ASN1CALL length_RSAPrivateKey(const RSAPrivateKey *); | 
| 1547 | ASN1EXP int    ASN1CALL copy_RSAPrivateKey  (const RSAPrivateKey *, RSAPrivateKey *); | 
| 1548 | ASN1EXP void   ASN1CALL free_RSAPrivateKey  (RSAPrivateKey *); | 
| 1549 |  | 
| 1550 |  | 
| 1551 | /* | 
| 1552 | DigestInfo ::= SEQUENCE { | 
| 1553 |   digestAlgorithm   AlgorithmIdentifier, | 
| 1554 |   digest            OCTET STRING, | 
| 1555 | } | 
| 1556 | */ | 
| 1557 |  | 
| 1558 | typedef struct DigestInfo { | 
| 1559 |   AlgorithmIdentifier digestAlgorithm; | 
| 1560 |   heim_octet_string digest; | 
| 1561 | } DigestInfo; | 
| 1562 |  | 
| 1563 | ASN1EXP int    ASN1CALL decode_DigestInfo(const unsigned char *, size_t, DigestInfo *, size_t *); | 
| 1564 | ASN1EXP int    ASN1CALL encode_DigestInfo(unsigned char *, size_t, const DigestInfo *, size_t *); | 
| 1565 | ASN1EXP size_t ASN1CALL length_DigestInfo(const DigestInfo *); | 
| 1566 | ASN1EXP int    ASN1CALL copy_DigestInfo  (const DigestInfo *, DigestInfo *); | 
| 1567 | ASN1EXP void   ASN1CALL free_DigestInfo  (DigestInfo *); | 
| 1568 |  | 
| 1569 |  | 
| 1570 | /* | 
| 1571 | TBSCRLCertList ::= SEQUENCE { | 
| 1572 |   version               Version OPTIONAL, | 
| 1573 |   signature             AlgorithmIdentifier, | 
| 1574 |   issuer                Name, | 
| 1575 |   thisUpdate            Time, | 
| 1576 |   nextUpdate            Time OPTIONAL, | 
| 1577 |   revokedCertificates   SEQUENCE OF SEQUENCE { | 
| 1578 |   userCertificate      CertificateSerialNumber, | 
| 1579 |   revocationDate       Time, | 
| 1580 |   crlEntryExtensions   Extensions OPTIONAL, | 
| 1581 | } OPTIONAL, | 
| 1582 |   crlExtensions         [0] Extensions OPTIONAL, | 
| 1583 | } | 
| 1584 | */ | 
| 1585 |  | 
| 1586 | typedef struct TBSCRLCertList { | 
| 1587 |   heim_octet_string _save; | 
| 1588 |   Version *version; | 
| 1589 |   AlgorithmIdentifier signature; | 
| 1590 |   Name issuer; | 
| 1591 |   Time thisUpdate; | 
| 1592 |   Time *nextUpdate; | 
| 1593 |   struct TBSCRLCertList_revokedCertificates { | 
| 1594 |     unsigned int len; | 
| 1595 |     struct TBSCRLCertList_revokedCertificates_val { | 
| 1596 |       CertificateSerialNumber userCertificate; | 
| 1597 |       Time revocationDate; | 
| 1598 |       Extensions *crlEntryExtensions; | 
| 1599 |     } *val; | 
| 1600 |   } *revokedCertificates; | 
| 1601 |   Extensions *crlExtensions; | 
| 1602 | } TBSCRLCertList; | 
| 1603 |  | 
| 1604 | ASN1EXP int    ASN1CALL decode_TBSCRLCertList(const unsigned char *, size_t, TBSCRLCertList *, size_t *); | 
| 1605 | ASN1EXP int    ASN1CALL encode_TBSCRLCertList(unsigned char *, size_t, const TBSCRLCertList *, size_t *); | 
| 1606 | ASN1EXP size_t ASN1CALL length_TBSCRLCertList(const TBSCRLCertList *); | 
| 1607 | ASN1EXP int    ASN1CALL copy_TBSCRLCertList  (const TBSCRLCertList *, TBSCRLCertList *); | 
| 1608 | ASN1EXP void   ASN1CALL free_TBSCRLCertList  (TBSCRLCertList *); | 
| 1609 |  | 
| 1610 |  | 
| 1611 | /* | 
| 1612 | CRLCertificateList ::= SEQUENCE { | 
| 1613 |   tbsCertList          TBSCRLCertList, | 
| 1614 |   signatureAlgorithm   AlgorithmIdentifier, | 
| 1615 |   signatureValue         BIT STRING { | 
| 1616 |   }, | 
| 1617 | } | 
| 1618 | */ | 
| 1619 |  | 
| 1620 | typedef struct CRLCertificateList { | 
| 1621 |   TBSCRLCertList tbsCertList; | 
| 1622 |   AlgorithmIdentifier signatureAlgorithm; | 
| 1623 |   heim_bit_string signatureValue; | 
| 1624 | } CRLCertificateList; | 
| 1625 |  | 
| 1626 | ASN1EXP int    ASN1CALL decode_CRLCertificateList(const unsigned char *, size_t, CRLCertificateList *, size_t *); | 
| 1627 | ASN1EXP int    ASN1CALL encode_CRLCertificateList(unsigned char *, size_t, const CRLCertificateList *, size_t *); | 
| 1628 | ASN1EXP size_t ASN1CALL length_CRLCertificateList(const CRLCertificateList *); | 
| 1629 | ASN1EXP int    ASN1CALL copy_CRLCertificateList  (const CRLCertificateList *, CRLCertificateList *); | 
| 1630 | ASN1EXP void   ASN1CALL free_CRLCertificateList  (CRLCertificateList *); | 
| 1631 |  | 
| 1632 |  | 
| 1633 | /* OBJECT IDENTIFIER id-x509-ce-cRLNumber ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(20) } */ | 
| 1634 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_cRLNumber; | 
| 1635 | #define ASN1_OID_ID_X509_CE_CRLNUMBER (&asn1_oid_id_x509_ce_cRLNumber) | 
| 1636 |  | 
| 1637 | /* OBJECT IDENTIFIER id-x509-ce-freshestCRL ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(46) } */ | 
| 1638 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_freshestCRL; | 
| 1639 | #define ASN1_OID_ID_X509_CE_FRESHESTCRL (&asn1_oid_id_x509_ce_freshestCRL) | 
| 1640 |  | 
| 1641 | /* OBJECT IDENTIFIER id-x509-ce-cRLReason ::= { joint-iso-ccitt(2) ds(5) label-less(29) label-less(21) } */ | 
| 1642 | extern ASN1EXP const heim_oid asn1_oid_id_x509_ce_cRLReason; | 
| 1643 | #define ASN1_OID_ID_X509_CE_CRLREASON (&asn1_oid_id_x509_ce_cRLReason) | 
| 1644 |  | 
| 1645 | /* | 
| 1646 | CRLReason ::= INTEGER { | 
| 1647 |   unspecified(0), | 
| 1648 |   keyCompromise(1), | 
| 1649 |   cACompromise(2), | 
| 1650 |   affiliationChanged(3), | 
| 1651 |   superseded(4), | 
| 1652 |   cessationOfOperation(5), | 
| 1653 |   certificateHold(6), | 
| 1654 |   removeFromCRL(8), | 
| 1655 |   privilegeWithdrawn(9), | 
| 1656 |   aACompromise(10) | 
| 1657 | } | 
| 1658 | */ | 
| 1659 |  | 
| 1660 | typedef enum CRLReason { | 
| 1661 |   unspecified = 0, | 
| 1662 |   keyCompromise = 1, | 
| 1663 |   cACompromise = 2, | 
| 1664 |   affiliationChanged = 3, | 
| 1665 |   superseded = 4, | 
| 1666 |   cessationOfOperation = 5, | 
| 1667 |   certificateHold = 6, | 
| 1668 |   removeFromCRL = 8, | 
| 1669 |   privilegeWithdrawn = 9, | 
| 1670 |   aACompromise = 10 | 
| 1671 | } CRLReason; | 
| 1672 |  | 
| 1673 | ASN1EXP int    ASN1CALL decode_CRLReason(const unsigned char *, size_t, CRLReason *, size_t *); | 
| 1674 | ASN1EXP int    ASN1CALL encode_CRLReason(unsigned char *, size_t, const CRLReason *, size_t *); | 
| 1675 | ASN1EXP size_t ASN1CALL length_CRLReason(const CRLReason *); | 
| 1676 | ASN1EXP int    ASN1CALL copy_CRLReason  (const CRLReason *, CRLReason *); | 
| 1677 | ASN1EXP void   ASN1CALL free_CRLReason  (CRLReason *); | 
| 1678 |  | 
| 1679 |  | 
| 1680 | /* | 
| 1681 | PKIXXmppAddr ::= UTF8String | 
| 1682 | */ | 
| 1683 |  | 
| 1684 | typedef heim_utf8_string PKIXXmppAddr; | 
| 1685 |  | 
| 1686 | ASN1EXP int    ASN1CALL decode_PKIXXmppAddr(const unsigned char *, size_t, PKIXXmppAddr *, size_t *); | 
| 1687 | ASN1EXP int    ASN1CALL encode_PKIXXmppAddr(unsigned char *, size_t, const PKIXXmppAddr *, size_t *); | 
| 1688 | ASN1EXP size_t ASN1CALL length_PKIXXmppAddr(const PKIXXmppAddr *); | 
| 1689 | ASN1EXP int    ASN1CALL copy_PKIXXmppAddr  (const PKIXXmppAddr *, PKIXXmppAddr *); | 
| 1690 | ASN1EXP void   ASN1CALL free_PKIXXmppAddr  (PKIXXmppAddr *); | 
| 1691 |  | 
| 1692 |  | 
| 1693 | /* OBJECT IDENTIFIER id-pkix ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) } */ | 
| 1694 | extern ASN1EXP const heim_oid asn1_oid_id_pkix; | 
| 1695 | #define ASN1_OID_ID_PKIX (&asn1_oid_id_pkix) | 
| 1696 |  | 
| 1697 | /* OBJECT IDENTIFIER id-pkix-on ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(8) } */ | 
| 1698 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_on; | 
| 1699 | #define ASN1_OID_ID_PKIX_ON (&asn1_oid_id_pkix_on) | 
| 1700 |  | 
| 1701 | /* OBJECT IDENTIFIER id-pkix-on-xmppAddr ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(8) label-less(5) } */ | 
| 1702 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_on_xmppAddr; | 
| 1703 | #define ASN1_OID_ID_PKIX_ON_XMPPADDR (&asn1_oid_id_pkix_on_xmppAddr) | 
| 1704 |  | 
| 1705 | /* OBJECT IDENTIFIER id-pkix-on-dnsSRV ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(8) label-less(7) } */ | 
| 1706 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_on_dnsSRV; | 
| 1707 | #define ASN1_OID_ID_PKIX_ON_DNSSRV (&asn1_oid_id_pkix_on_dnsSRV) | 
| 1708 |  | 
| 1709 | /* OBJECT IDENTIFIER id-pkix-kp ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) } */ | 
| 1710 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp; | 
| 1711 | #define ASN1_OID_ID_PKIX_KP (&asn1_oid_id_pkix_kp) | 
| 1712 |  | 
| 1713 | /* OBJECT IDENTIFIER id-pkix-kp-serverAuth ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) label-less(1) } */ | 
| 1714 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp_serverAuth; | 
| 1715 | #define ASN1_OID_ID_PKIX_KP_SERVERAUTH (&asn1_oid_id_pkix_kp_serverAuth) | 
| 1716 |  | 
| 1717 | /* OBJECT IDENTIFIER id-pkix-kp-clientAuth ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) label-less(2) } */ | 
| 1718 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp_clientAuth; | 
| 1719 | #define ASN1_OID_ID_PKIX_KP_CLIENTAUTH (&asn1_oid_id_pkix_kp_clientAuth) | 
| 1720 |  | 
| 1721 | /* OBJECT IDENTIFIER id-pkix-kp-emailProtection ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) label-less(4) } */ | 
| 1722 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp_emailProtection; | 
| 1723 | #define ASN1_OID_ID_PKIX_KP_EMAILPROTECTION (&asn1_oid_id_pkix_kp_emailProtection) | 
| 1724 |  | 
| 1725 | /* OBJECT IDENTIFIER id-pkix-kp-timeStamping ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) label-less(8) } */ | 
| 1726 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp_timeStamping; | 
| 1727 | #define ASN1_OID_ID_PKIX_KP_TIMESTAMPING (&asn1_oid_id_pkix_kp_timeStamping) | 
| 1728 |  | 
| 1729 | /* OBJECT IDENTIFIER id-pkix-kp-OCSPSigning ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(3) label-less(9) } */ | 
| 1730 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_kp_OCSPSigning; | 
| 1731 | #define ASN1_OID_ID_PKIX_KP_OCSPSIGNING (&asn1_oid_id_pkix_kp_OCSPSigning) | 
| 1732 |  | 
| 1733 | /* OBJECT IDENTIFIER id-pkix-pe ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(1) } */ | 
| 1734 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_pe; | 
| 1735 | #define ASN1_OID_ID_PKIX_PE (&asn1_oid_id_pkix_pe) | 
| 1736 |  | 
| 1737 | /* OBJECT IDENTIFIER id-pkix-pe-authorityInfoAccess ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(1) label-less(1) } */ | 
| 1738 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_pe_authorityInfoAccess; | 
| 1739 | #define ASN1_OID_ID_PKIX_PE_AUTHORITYINFOACCESS (&asn1_oid_id_pkix_pe_authorityInfoAccess) | 
| 1740 |  | 
| 1741 | /* | 
| 1742 | AccessDescription ::= SEQUENCE { | 
| 1743 |   accessMethod       OBJECT IDENTIFIER, | 
| 1744 |   accessLocation   GeneralName, | 
| 1745 | } | 
| 1746 | */ | 
| 1747 |  | 
| 1748 | typedef struct AccessDescription { | 
| 1749 |   heim_oid accessMethod; | 
| 1750 |   GeneralName accessLocation; | 
| 1751 | } AccessDescription; | 
| 1752 |  | 
| 1753 | ASN1EXP int    ASN1CALL decode_AccessDescription(const unsigned char *, size_t, AccessDescription *, size_t *); | 
| 1754 | ASN1EXP int    ASN1CALL encode_AccessDescription(unsigned char *, size_t, const AccessDescription *, size_t *); | 
| 1755 | ASN1EXP size_t ASN1CALL length_AccessDescription(const AccessDescription *); | 
| 1756 | ASN1EXP int    ASN1CALL copy_AccessDescription  (const AccessDescription *, AccessDescription *); | 
| 1757 | ASN1EXP void   ASN1CALL free_AccessDescription  (AccessDescription *); | 
| 1758 |  | 
| 1759 |  | 
| 1760 | /* | 
| 1761 | AuthorityInfoAccessSyntax ::= SEQUENCE OF AccessDescription | 
| 1762 | */ | 
| 1763 |  | 
| 1764 | typedef struct AuthorityInfoAccessSyntax { | 
| 1765 |   unsigned int len; | 
| 1766 |   AccessDescription *val; | 
| 1767 | } AuthorityInfoAccessSyntax; | 
| 1768 |  | 
| 1769 | ASN1EXP int    ASN1CALL decode_AuthorityInfoAccessSyntax(const unsigned char *, size_t, AuthorityInfoAccessSyntax *, size_t *); | 
| 1770 | ASN1EXP int    ASN1CALL encode_AuthorityInfoAccessSyntax(unsigned char *, size_t, const AuthorityInfoAccessSyntax *, size_t *); | 
| 1771 | ASN1EXP size_t ASN1CALL length_AuthorityInfoAccessSyntax(const AuthorityInfoAccessSyntax *); | 
| 1772 | ASN1EXP int    ASN1CALL copy_AuthorityInfoAccessSyntax  (const AuthorityInfoAccessSyntax *, AuthorityInfoAccessSyntax *); | 
| 1773 | ASN1EXP void   ASN1CALL free_AuthorityInfoAccessSyntax  (AuthorityInfoAccessSyntax *); | 
| 1774 |  | 
| 1775 |  | 
| 1776 | /* OBJECT IDENTIFIER id-pkix-pe-proxyCertInfo ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(1) label-less(14) } */ | 
| 1777 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_pe_proxyCertInfo; | 
| 1778 | #define ASN1_OID_ID_PKIX_PE_PROXYCERTINFO (&asn1_oid_id_pkix_pe_proxyCertInfo) | 
| 1779 |  | 
| 1780 | /* OBJECT IDENTIFIER id-pkix-ppl ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(21) } */ | 
| 1781 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_ppl; | 
| 1782 | #define ASN1_OID_ID_PKIX_PPL (&asn1_oid_id_pkix_ppl) | 
| 1783 |  | 
| 1784 | /* OBJECT IDENTIFIER id-pkix-ppl-anyLanguage ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(21) label-less(0) } */ | 
| 1785 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_ppl_anyLanguage; | 
| 1786 | #define ASN1_OID_ID_PKIX_PPL_ANYLANGUAGE (&asn1_oid_id_pkix_ppl_anyLanguage) | 
| 1787 |  | 
| 1788 | /* OBJECT IDENTIFIER id-pkix-ppl-inheritAll ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(21) label-less(1) } */ | 
| 1789 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_ppl_inheritAll; | 
| 1790 | #define ASN1_OID_ID_PKIX_PPL_INHERITALL (&asn1_oid_id_pkix_ppl_inheritAll) | 
| 1791 |  | 
| 1792 | /* OBJECT IDENTIFIER id-pkix-ppl-independent ::= { iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) pkix(7) label-less(21) label-less(2) } */ | 
| 1793 | extern ASN1EXP const heim_oid asn1_oid_id_pkix_ppl_independent; | 
| 1794 | #define ASN1_OID_ID_PKIX_PPL_INDEPENDENT (&asn1_oid_id_pkix_ppl_independent) | 
| 1795 |  | 
| 1796 | /* | 
| 1797 | ProxyPolicy ::= SEQUENCE { | 
| 1798 |   policyLanguage     OBJECT IDENTIFIER, | 
| 1799 |   policy           OCTET STRING OPTIONAL, | 
| 1800 | } | 
| 1801 | */ | 
| 1802 |  | 
| 1803 | typedef struct ProxyPolicy { | 
| 1804 |   heim_oid policyLanguage; | 
| 1805 |   heim_octet_string *policy; | 
| 1806 | } ProxyPolicy; | 
| 1807 |  | 
| 1808 | ASN1EXP int    ASN1CALL decode_ProxyPolicy(const unsigned char *, size_t, ProxyPolicy *, size_t *); | 
| 1809 | ASN1EXP int    ASN1CALL encode_ProxyPolicy(unsigned char *, size_t, const ProxyPolicy *, size_t *); | 
| 1810 | ASN1EXP size_t ASN1CALL length_ProxyPolicy(const ProxyPolicy *); | 
| 1811 | ASN1EXP int    ASN1CALL copy_ProxyPolicy  (const ProxyPolicy *, ProxyPolicy *); | 
| 1812 | ASN1EXP void   ASN1CALL free_ProxyPolicy  (ProxyPolicy *); | 
| 1813 |  | 
| 1814 |  | 
| 1815 | /* | 
| 1816 | ProxyCertInfo ::= SEQUENCE { | 
| 1817 |   pCPathLenConstraint   INTEGER (0..4294967295) OPTIONAL, | 
| 1818 |   proxyPolicy           ProxyPolicy, | 
| 1819 | } | 
| 1820 | */ | 
| 1821 |  | 
| 1822 | typedef struct ProxyCertInfo { | 
| 1823 |   unsigned int *pCPathLenConstraint; | 
| 1824 |   ProxyPolicy proxyPolicy; | 
| 1825 | } ProxyCertInfo; | 
| 1826 |  | 
| 1827 | ASN1EXP int    ASN1CALL decode_ProxyCertInfo(const unsigned char *, size_t, ProxyCertInfo *, size_t *); | 
| 1828 | ASN1EXP int    ASN1CALL encode_ProxyCertInfo(unsigned char *, size_t, const ProxyCertInfo *, size_t *); | 
| 1829 | ASN1EXP size_t ASN1CALL length_ProxyCertInfo(const ProxyCertInfo *); | 
| 1830 | ASN1EXP int    ASN1CALL copy_ProxyCertInfo  (const ProxyCertInfo *, ProxyCertInfo *); | 
| 1831 | ASN1EXP void   ASN1CALL free_ProxyCertInfo  (ProxyCertInfo *); | 
| 1832 |  | 
| 1833 |  | 
| 1834 | /* OBJECT IDENTIFIER id-uspkicommon-card-id ::= { label-less(2) label-less(16) label-less(840) label-less(1) label-less(101) label-less(3) label-less(6) label-less(6) } */ | 
| 1835 | extern ASN1EXP const heim_oid asn1_oid_id_uspkicommon_card_id; | 
| 1836 | #define ASN1_OID_ID_USPKICOMMON_CARD_ID (&asn1_oid_id_uspkicommon_card_id) | 
| 1837 |  | 
| 1838 | /* OBJECT IDENTIFIER id-uspkicommon-piv-interim ::= { label-less(2) label-less(16) label-less(840) label-less(1) label-less(101) label-less(3) label-less(6) label-less(9) label-less(1) } */ | 
| 1839 | extern ASN1EXP const heim_oid asn1_oid_id_uspkicommon_piv_interim; | 
| 1840 | #define ASN1_OID_ID_USPKICOMMON_PIV_INTERIM (&asn1_oid_id_uspkicommon_piv_interim) | 
| 1841 |  | 
| 1842 | /* OBJECT IDENTIFIER id-netscape ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) netscape(113730) } */ | 
| 1843 | extern ASN1EXP const heim_oid asn1_oid_id_netscape; | 
| 1844 | #define ASN1_OID_ID_NETSCAPE (&asn1_oid_id_netscape) | 
| 1845 |  | 
| 1846 | /* OBJECT IDENTIFIER id-netscape-cert-comment ::= { joint-iso-itu-t(2) country(16) us(840) organization(1) netscape(113730) label-less(1) label-less(13) } */ | 
| 1847 | extern ASN1EXP const heim_oid ; | 
| 1848 | #define  (&asn1_oid_id_netscape_cert_comment) | 
| 1849 |  | 
| 1850 | /* OBJECT IDENTIFIER id-ms-cert-enroll-domaincontroller ::= { label-less(1) label-less(3) label-less(6) label-less(1) label-less(4) label-less(1) label-less(311) label-less(20) label-less(2) } */ | 
| 1851 | extern ASN1EXP const heim_oid asn1_oid_id_ms_cert_enroll_domaincontroller; | 
| 1852 | #define ASN1_OID_ID_MS_CERT_ENROLL_DOMAINCONTROLLER (&asn1_oid_id_ms_cert_enroll_domaincontroller) | 
| 1853 |  | 
| 1854 | /* OBJECT IDENTIFIER id-ms-client-authentication ::= { label-less(1) label-less(3) label-less(6) label-less(1) label-less(5) label-less(5) label-less(7) label-less(3) label-less(2) } */ | 
| 1855 | extern ASN1EXP const heim_oid asn1_oid_id_ms_client_authentication; | 
| 1856 | #define ASN1_OID_ID_MS_CLIENT_AUTHENTICATION (&asn1_oid_id_ms_client_authentication) | 
| 1857 |  | 
| 1858 | #endif /* __rfc2459_asn1_h__ */ | 
| 1859 |  |