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