| 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 | |