Line data Source code
1 : /* Generated from /builds/samba-team/lts-community/samba/third_party/heimdal/lib/asn1/pkinit.asn1 */
2 : /* Do not edit */
3 :
4 : #if defined(_WIN32) && !defined(ASN1_LIB)
5 : # error "ASN1_LIB must be defined"
6 : #endif
7 : #include <stdio.h>
8 : #include <stdlib.h>
9 : #include <time.h>
10 : #include <string.h>
11 : #include <errno.h>
12 : #include <limits.h>
13 : #include <krb5-types.h>
14 : #include "pkinit_asn1.h"
15 : #include "pkinit_asn1-priv.h"
16 : #include <asn1_err.h>
17 : #include <der.h>
18 : #include <asn1-template.h>
19 :
20 : #include <parse_units.h>
21 :
22 : static const struct asn1_type_func asn1_extern_EncryptionKey = {
23 : (asn1_type_encode)encode_EncryptionKey,
24 : (asn1_type_decode)decode_EncryptionKey,
25 : (asn1_type_length)length_EncryptionKey,
26 : (asn1_type_copy)copy_EncryptionKey,
27 : (asn1_type_release)free_EncryptionKey,
28 : (asn1_type_print)print_EncryptionKey,
29 : sizeof(EncryptionKey)
30 : };
31 : static const struct asn1_type_func asn1_extern_PrincipalName = {
32 : (asn1_type_encode)encode_PrincipalName,
33 : (asn1_type_decode)decode_PrincipalName,
34 : (asn1_type_length)length_PrincipalName,
35 : (asn1_type_copy)copy_PrincipalName,
36 : (asn1_type_release)free_PrincipalName,
37 : (asn1_type_print)print_PrincipalName,
38 : sizeof(PrincipalName)
39 : };
40 : static const struct asn1_type_func asn1_extern_Realm = {
41 : (asn1_type_encode)encode_Realm,
42 : (asn1_type_decode)decode_Realm,
43 : (asn1_type_length)length_Realm,
44 : (asn1_type_copy)copy_Realm,
45 : (asn1_type_release)free_Realm,
46 : (asn1_type_print)print_Realm,
47 : sizeof(Realm)
48 : };
49 : static const struct asn1_type_func asn1_extern_KerberosTime = {
50 : (asn1_type_encode)encode_KerberosTime,
51 : (asn1_type_decode)decode_KerberosTime,
52 : (asn1_type_length)length_KerberosTime,
53 : (asn1_type_copy)copy_KerberosTime,
54 : (asn1_type_release)free_KerberosTime,
55 : (asn1_type_print)print_KerberosTime,
56 : sizeof(KerberosTime)
57 : };
58 : static const struct asn1_type_func asn1_extern_Checksum = {
59 : (asn1_type_encode)encode_Checksum,
60 : (asn1_type_decode)decode_Checksum,
61 : (asn1_type_length)length_Checksum,
62 : (asn1_type_copy)copy_Checksum,
63 : (asn1_type_release)free_Checksum,
64 : (asn1_type_print)print_Checksum,
65 : sizeof(Checksum)
66 : };
67 : static const struct asn1_type_func asn1_extern_Ticket = {
68 : (asn1_type_encode)encode_Ticket,
69 : (asn1_type_decode)decode_Ticket,
70 : (asn1_type_length)length_Ticket,
71 : (asn1_type_copy)copy_Ticket,
72 : (asn1_type_release)free_Ticket,
73 : (asn1_type_print)print_Ticket,
74 : sizeof(Ticket)
75 : };
76 : static const struct asn1_type_func asn1_extern_IssuerAndSerialNumber = {
77 : (asn1_type_encode)encode_IssuerAndSerialNumber,
78 : (asn1_type_decode)decode_IssuerAndSerialNumber,
79 : (asn1_type_length)length_IssuerAndSerialNumber,
80 : (asn1_type_copy)copy_IssuerAndSerialNumber,
81 : (asn1_type_release)free_IssuerAndSerialNumber,
82 : (asn1_type_print)print_IssuerAndSerialNumber,
83 : sizeof(IssuerAndSerialNumber)
84 : };
85 : static const struct asn1_type_func asn1_extern_SubjectPublicKeyInfo = {
86 : (asn1_type_encode)encode_SubjectPublicKeyInfo,
87 : (asn1_type_decode)decode_SubjectPublicKeyInfo,
88 : (asn1_type_length)length_SubjectPublicKeyInfo,
89 : (asn1_type_copy)copy_SubjectPublicKeyInfo,
90 : (asn1_type_release)free_SubjectPublicKeyInfo,
91 : (asn1_type_print)print_SubjectPublicKeyInfo,
92 : sizeof(SubjectPublicKeyInfo)
93 : };
94 : static const struct asn1_type_func asn1_extern_AlgorithmIdentifier = {
95 : (asn1_type_encode)encode_AlgorithmIdentifier,
96 : (asn1_type_decode)decode_AlgorithmIdentifier,
97 : (asn1_type_length)length_AlgorithmIdentifier,
98 : (asn1_type_copy)copy_AlgorithmIdentifier,
99 : (asn1_type_release)free_AlgorithmIdentifier,
100 : (asn1_type_print)print_AlgorithmIdentifier,
101 : sizeof(AlgorithmIdentifier)
102 : };
103 : static const struct asn1_type_func asn1_extern_HEIM_ANY = {
104 : (asn1_type_encode)encode_HEIM_ANY,
105 : (asn1_type_decode)decode_HEIM_ANY,
106 : (asn1_type_length)length_HEIM_ANY,
107 : (asn1_type_copy)copy_HEIM_ANY,
108 : (asn1_type_release)free_HEIM_ANY,
109 : (asn1_type_print)print_HEIM_ANY,
110 : sizeof(HEIM_ANY)
111 : };
112 : static unsigned oid_id_pkinit_variable_num[7] = { 1, 3, 6, 1, 5, 2, 3};
113 : const heim_oid asn1_oid_id_pkinit = { 7, oid_id_pkinit_variable_num };
114 :
115 : static unsigned oid_id_pkauthdata_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 1};
116 : const heim_oid asn1_oid_id_pkauthdata = { 8, oid_id_pkauthdata_variable_num };
117 :
118 : static unsigned oid_id_pkdhkeydata_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 2};
119 : const heim_oid asn1_oid_id_pkdhkeydata = { 8, oid_id_pkdhkeydata_variable_num };
120 :
121 : static unsigned oid_id_pkrkeydata_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 3};
122 : const heim_oid asn1_oid_id_pkrkeydata = { 8, oid_id_pkrkeydata_variable_num };
123 :
124 : static unsigned oid_id_pkekuoid_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 4};
125 : const heim_oid asn1_oid_id_pkekuoid = { 8, oid_id_pkekuoid_variable_num };
126 :
127 : static unsigned oid_id_pkkdcekuoid_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 5};
128 : const heim_oid asn1_oid_id_pkkdcekuoid = { 8, oid_id_pkkdcekuoid_variable_num };
129 :
130 : static unsigned oid_id_heim_eku_pkinit_certlife_is_max_life_variable_num[6] = { 1, 2, 752, 43, 16, 3};
131 : const heim_oid asn1_oid_id_heim_eku_pkinit_certlife_is_max_life = { 6, oid_id_heim_eku_pkinit_certlife_is_max_life_variable_num };
132 :
133 : static unsigned oid_id_apple_system_id_variable_num[7] = { 1, 2, 840, 113635, 100, 4, 4};
134 : const heim_oid asn1_oid_id_apple_system_id = { 7, oid_id_apple_system_id_variable_num };
135 :
136 : static unsigned oid_id_pkinit_kdf_variable_num[8] = { 1, 3, 6, 1, 5, 2, 3, 6};
137 : const heim_oid asn1_oid_id_pkinit_kdf = { 8, oid_id_pkinit_kdf_variable_num };
138 :
139 : static unsigned oid_id_pkinit_kdf_ah_sha1_variable_num[9] = { 1, 3, 6, 1, 5, 2, 3, 6, 1};
140 : const heim_oid asn1_oid_id_pkinit_kdf_ah_sha1 = { 9, oid_id_pkinit_kdf_ah_sha1_variable_num };
141 :
142 : static unsigned oid_id_pkinit_kdf_ah_sha256_variable_num[9] = { 1, 3, 6, 1, 5, 2, 3, 6, 2};
143 : const heim_oid asn1_oid_id_pkinit_kdf_ah_sha256 = { 9, oid_id_pkinit_kdf_ah_sha256_variable_num };
144 :
145 : static unsigned oid_id_pkinit_kdf_ah_sha512_variable_num[9] = { 1, 3, 6, 1, 5, 2, 3, 6, 3};
146 : const heim_oid asn1_oid_id_pkinit_kdf_ah_sha512 = { 9, oid_id_pkinit_kdf_ah_sha512_variable_num };
147 :
148 : static unsigned oid_id_pkinit_san_variable_num[7] = { 1, 3, 6, 1, 5, 2, 2};
149 : const heim_oid asn1_oid_id_pkinit_san = { 7, oid_id_pkinit_san_variable_num };
150 :
151 : static unsigned oid_id_pkinit_ms_eku_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 20, 2, 2};
152 : const heim_oid asn1_oid_id_pkinit_ms_eku = { 10, oid_id_pkinit_ms_eku_variable_num };
153 :
154 : static unsigned oid_id_pkinit_ms_san_variable_num[10] = { 1, 3, 6, 1, 4, 1, 311, 20, 2, 3};
155 : const heim_oid asn1_oid_id_pkinit_ms_san = { 10, oid_id_pkinit_ms_san_variable_num };
156 :
157 : extern const struct asn1_template asn1_MS_UPN_SAN[];
158 : extern const struct asn1_template asn1_MS_UPN_SAN[];
159 : extern const struct asn1_template asn1_DHNonce[];
160 : extern const struct asn1_template asn1_DHNonce[];
161 : extern const struct asn1_template asn1_KDFAlgorithmId[];
162 : extern const struct asn1_template asn1_TrustedCA[];
163 : extern const struct asn1_template asn1_ExternalPrincipalIdentifier[];
164 : extern const struct asn1_template asn1_ExternalPrincipalIdentifiers[];
165 : extern const struct asn1_template asn1_PA_PK_AS_REQ[];
166 : extern const struct asn1_template asn1_PKAuthenticator[];
167 : extern const struct asn1_template asn1_AuthPack[];
168 : extern const struct asn1_template asn1_TD_TRUSTED_CERTIFIERS[];
169 : extern const struct asn1_template asn1_TD_TRUSTED_CERTIFIERS[];
170 : extern const struct asn1_template asn1_TD_INVALID_CERTIFICATES[];
171 : extern const struct asn1_template asn1_TD_INVALID_CERTIFICATES[];
172 : extern const struct asn1_template asn1_AD_INITIAL_VERIFIED_CAS[];
173 : extern const struct asn1_template asn1_DHRepInfo[];
174 : extern const struct asn1_template asn1_PA_PK_AS_REP[];
175 : extern const struct asn1_template asn1_KDCDHKeyInfo[];
176 : extern const struct asn1_template asn1_ReplyKeyPack[];
177 : extern const struct asn1_template asn1_TD_DH_PARAMETERS[];
178 : extern const struct asn1_template asn1_PKAuthenticator_Win2k[];
179 : extern const struct asn1_template asn1_AuthPack_Win2k[];
180 : extern const struct asn1_template asn1_TrustedCA_Win2k[];
181 : extern const struct asn1_template asn1_PA_PK_AS_REQ_Win2k[];
182 : extern const struct asn1_template asn1_PA_PK_AS_REP_Win2k[];
183 : extern const struct asn1_template asn1_KDCDHKeyInfo_Win2k[];
184 : extern const struct asn1_template asn1_ReplyKeyPack_Win2k[];
185 : extern const struct asn1_template asn1_PA_PK_AS_REP_BTMM[];
186 : extern const struct asn1_template asn1_PkinitSP80056AOtherInfo[];
187 : extern const struct asn1_template asn1_PkinitSuppPubInfo[];
188 : /* template_members: MS_UPN_SAN exp exp */
189 : /* generate_template_type: MS_UPN_SAN_tag__0 */
190 : const struct asn1_template asn1_MS_UPN_SAN_tag__0[] = {
191 : /* 0 */ { 0, sizeof(heim_utf8_string), ((void *)(uintptr_t)1) },
192 : /* 1 */ { A1_PARSE_T(A1T_UTF8_STRING), 0, NULL }
193 : };
194 : /* generate_template_type: MS_UPN_SAN */
195 : const struct asn1_template asn1_MS_UPN_SAN[] = {
196 : /* 0 */ { 0, sizeof(MS_UPN_SAN), ((void *)(uintptr_t)1) },
197 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_UTF8String), 0, asn1_MS_UPN_SAN_tag__0 }
198 : };
199 :
200 : int ASN1CALL
201 0 : decode_MS_UPN_SAN(const unsigned char *p, size_t len, MS_UPN_SAN *data, size_t *size)
202 : {
203 0 : memset(data, 0, sizeof(*data));
204 0 : return _asn1_decode_top(asn1_MS_UPN_SAN, 0|0, p, len, data, size);
205 : }
206 :
207 :
208 : int ASN1CALL
209 0 : encode_MS_UPN_SAN(unsigned char *p, size_t len, const MS_UPN_SAN *data, size_t *size)
210 : {
211 0 : return _asn1_encode(asn1_MS_UPN_SAN, p, len, data, size);
212 : }
213 :
214 :
215 : size_t ASN1CALL
216 0 : length_MS_UPN_SAN(const MS_UPN_SAN *data)
217 : {
218 0 : return _asn1_length(asn1_MS_UPN_SAN, data);
219 : }
220 :
221 :
222 : void ASN1CALL
223 0 : free_MS_UPN_SAN(MS_UPN_SAN *data)
224 : {
225 0 : _asn1_free_top(asn1_MS_UPN_SAN, data);
226 0 : }
227 :
228 :
229 : int ASN1CALL
230 0 : copy_MS_UPN_SAN(const MS_UPN_SAN *from, MS_UPN_SAN *to)
231 : {
232 0 : return _asn1_copy_top(asn1_MS_UPN_SAN, from, to);
233 : }
234 :
235 :
236 : char * ASN1CALL
237 0 : print_MS_UPN_SAN(const MS_UPN_SAN *data, int flags)
238 : {
239 0 : return _asn1_print_top(asn1_MS_UPN_SAN, flags, data);
240 : }
241 :
242 : /* template_members: DHNonce exp exp */
243 : /* generate_template_type: DHNonce_tag__1 */
244 : const struct asn1_template asn1_DHNonce_tag__1[] = {
245 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
246 : /* 1 */ { A1_PARSE_T(A1T_OCTET_STRING), 0, NULL }
247 : };
248 : /* generate_template_type: DHNonce */
249 : const struct asn1_template asn1_DHNonce[] = {
250 : /* 0 */ { 0, sizeof(DHNonce), ((void *)(uintptr_t)1) },
251 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_DHNonce_tag__1 }
252 : };
253 :
254 : int ASN1CALL
255 0 : decode_DHNonce(const unsigned char *p, size_t len, DHNonce *data, size_t *size)
256 : {
257 0 : memset(data, 0, sizeof(*data));
258 0 : return _asn1_decode_top(asn1_DHNonce, 0|0, p, len, data, size);
259 : }
260 :
261 :
262 : int ASN1CALL
263 0 : encode_DHNonce(unsigned char *p, size_t len, const DHNonce *data, size_t *size)
264 : {
265 0 : return _asn1_encode(asn1_DHNonce, p, len, data, size);
266 : }
267 :
268 :
269 : size_t ASN1CALL
270 0 : length_DHNonce(const DHNonce *data)
271 : {
272 0 : return _asn1_length(asn1_DHNonce, data);
273 : }
274 :
275 :
276 : void ASN1CALL
277 0 : free_DHNonce(DHNonce *data)
278 : {
279 0 : _asn1_free_top(asn1_DHNonce, data);
280 0 : }
281 :
282 :
283 : int ASN1CALL
284 0 : copy_DHNonce(const DHNonce *from, DHNonce *to)
285 : {
286 0 : return _asn1_copy_top(asn1_DHNonce, from, to);
287 : }
288 :
289 :
290 : char * ASN1CALL
291 0 : print_DHNonce(const DHNonce *data, int flags)
292 : {
293 0 : return _asn1_print_top(asn1_DHNonce, flags, data);
294 : }
295 :
296 : /* template_members: KDFAlgorithmId exp exp */
297 : /* tsequence: members isstruct: 1 */
298 : /* template_members: KDFAlgorithmId exp exp */
299 : /* template_members: heim_oid exp exp */
300 : /* generate_template_type: heim_oid_tag_kdf_id_4 */
301 : const struct asn1_template asn1_heim_oid_tag_kdf_id_4[] = {
302 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
303 : /* 1 */ { A1_PARSE_T(A1T_OID), 0, NULL }
304 : };
305 : /* generate_template_type: KDFAlgorithmId_tag_kdf_id_3 */
306 : const struct asn1_template asn1_KDFAlgorithmId_tag_kdf_id_3[] = {
307 : /* 0 */ { 0, sizeof(heim_oid), ((void *)(uintptr_t)1) },
308 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OID), 0, asn1_heim_oid_tag_kdf_id_4 }
309 : };
310 : /* generate_template_type: KDFAlgorithmId_tag__2 */
311 : const struct asn1_template asn1_KDFAlgorithmId_tag__2[] = {
312 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct KDFAlgorithmId), ((void *)(uintptr_t)4) },
313 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KDFAlgorithmId, kdf_id), asn1_KDFAlgorithmId_tag_kdf_id_3 },
314 : /* 2 */ { A1_OP_NAME, 0, "KDFAlgorithmId" },
315 : /* 3 */ { A1_OP_NAME, 0, "kdf-id" },
316 : /* 4 */ { A1_OP_NAME, 0, "..." }
317 : };
318 : /* generate_template_type: KDFAlgorithmId */
319 : const struct asn1_template asn1_KDFAlgorithmId[] = {
320 : /* 0 */ { 0, sizeof(KDFAlgorithmId), ((void *)(uintptr_t)1) },
321 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KDFAlgorithmId_tag__2 }
322 : };
323 :
324 : int ASN1CALL
325 0 : decode_KDFAlgorithmId(const unsigned char *p, size_t len, KDFAlgorithmId *data, size_t *size)
326 : {
327 0 : memset(data, 0, sizeof(*data));
328 0 : return _asn1_decode_top(asn1_KDFAlgorithmId, 0|0, p, len, data, size);
329 : }
330 :
331 :
332 : int ASN1CALL
333 0 : encode_KDFAlgorithmId(unsigned char *p, size_t len, const KDFAlgorithmId *data, size_t *size)
334 : {
335 0 : return _asn1_encode(asn1_KDFAlgorithmId, p, len, data, size);
336 : }
337 :
338 :
339 : size_t ASN1CALL
340 0 : length_KDFAlgorithmId(const KDFAlgorithmId *data)
341 : {
342 0 : return _asn1_length(asn1_KDFAlgorithmId, data);
343 : }
344 :
345 :
346 : void ASN1CALL
347 0 : free_KDFAlgorithmId(KDFAlgorithmId *data)
348 : {
349 0 : _asn1_free_top(asn1_KDFAlgorithmId, data);
350 0 : }
351 :
352 :
353 : int ASN1CALL
354 0 : copy_KDFAlgorithmId(const KDFAlgorithmId *from, KDFAlgorithmId *to)
355 : {
356 0 : return _asn1_copy_top(asn1_KDFAlgorithmId, from, to);
357 : }
358 :
359 :
360 : char * ASN1CALL
361 0 : print_KDFAlgorithmId(const KDFAlgorithmId *data, int flags)
362 : {
363 0 : return _asn1_print_top(asn1_KDFAlgorithmId, flags, data);
364 : }
365 :
366 : /* template_members: TrustedCA exp exp */
367 : /* tsequence: members isstruct: 1 */
368 : /* template_members: TrustedCA exp imp */
369 : /* template_members: heim_octet_string exp exp */
370 : /* generate_template_type: heim_octet_string_tag_caName_7 */
371 : /* generate_template_type: TrustedCA_tag_caName_6 */
372 : const struct asn1_template asn1_TrustedCA_tag_caName_6[] = {
373 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
374 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_OctetString), 0, asn1_DHNonce_tag__1 }
375 : };
376 : /* template_members: TrustedCA exp exp */
377 : /* template_members: heim_integer exp exp */
378 : /* generate_template_type: heim_integer_tag_certificateSerialNumber_9 */
379 : const struct asn1_template asn1_heim_integer_tag_certificateSerialNumber_9[] = {
380 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
381 : /* 1 */ { A1_PARSE_T(A1T_HEIM_INTEGER), 0, NULL }
382 : };
383 : /* generate_template_type: TrustedCA_tag_certificateSerialNumber_8 */
384 : const struct asn1_template asn1_TrustedCA_tag_certificateSerialNumber_8[] = {
385 : /* 0 */ { 0, sizeof(heim_integer), ((void *)(uintptr_t)1) },
386 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_heim_integer_tag_certificateSerialNumber_9 }
387 : };
388 : /* template_members: TrustedCA exp exp */
389 : /* template_members: heim_octet_string exp exp */
390 : /* generate_template_type: heim_octet_string_tag_subjectKeyIdentifier_11 */
391 : /* generate_template_type: TrustedCA_tag_subjectKeyIdentifier_10 */
392 : /* generate_template_type: TrustedCA_tag__5 */
393 : const struct asn1_template asn1_TrustedCA_tag__5[] = {
394 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct TrustedCA), ((void *)(uintptr_t)8) },
395 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, offsetof(struct TrustedCA, caName), asn1_TrustedCA_tag_caName_6 },
396 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct TrustedCA, certificateSerialNumber), asn1_TrustedCA_tag_certificateSerialNumber_8 },
397 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct TrustedCA, subjectKeyIdentifier), asn1_TrustedCA_tag_caName_6 },
398 : /* 4 */ { A1_OP_NAME, 0, "TrustedCA" },
399 : /* 5 */ { A1_OP_NAME, 0, "caName" },
400 : /* 6 */ { A1_OP_NAME, 0, "certificateSerialNumber" },
401 : /* 7 */ { A1_OP_NAME, 0, "subjectKeyIdentifier" },
402 : /* 8 */ { A1_OP_NAME, 0, "..." }
403 : };
404 : /* generate_template_type: TrustedCA */
405 : const struct asn1_template asn1_TrustedCA[] = {
406 : /* 0 */ { 0, sizeof(TrustedCA), ((void *)(uintptr_t)1) },
407 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TrustedCA_tag__5 }
408 : };
409 :
410 : int ASN1CALL
411 0 : decode_TrustedCA(const unsigned char *p, size_t len, TrustedCA *data, size_t *size)
412 : {
413 0 : memset(data, 0, sizeof(*data));
414 0 : return _asn1_decode_top(asn1_TrustedCA, 0|0, p, len, data, size);
415 : }
416 :
417 :
418 : int ASN1CALL
419 0 : encode_TrustedCA(unsigned char *p, size_t len, const TrustedCA *data, size_t *size)
420 : {
421 0 : return _asn1_encode(asn1_TrustedCA, p, len, data, size);
422 : }
423 :
424 :
425 : size_t ASN1CALL
426 0 : length_TrustedCA(const TrustedCA *data)
427 : {
428 0 : return _asn1_length(asn1_TrustedCA, data);
429 : }
430 :
431 :
432 : void ASN1CALL
433 0 : free_TrustedCA(TrustedCA *data)
434 : {
435 0 : _asn1_free_top(asn1_TrustedCA, data);
436 0 : }
437 :
438 :
439 : int ASN1CALL
440 0 : copy_TrustedCA(const TrustedCA *from, TrustedCA *to)
441 : {
442 0 : return _asn1_copy_top(asn1_TrustedCA, from, to);
443 : }
444 :
445 :
446 : char * ASN1CALL
447 0 : print_TrustedCA(const TrustedCA *data, int flags)
448 : {
449 0 : return _asn1_print_top(asn1_TrustedCA, flags, data);
450 : }
451 :
452 : /* template_members: ExternalPrincipalIdentifier exp exp */
453 : /* tsequence: members isstruct: 1 */
454 : /* template_members: ExternalPrincipalIdentifier exp imp */
455 : /* template_members: heim_octet_string exp exp */
456 : /* generate_template_type: heim_octet_string_tag_subjectName_14 */
457 : /* generate_template_type: ExternalPrincipalIdentifier_tag_subjectName_13 */
458 : /* template_members: ExternalPrincipalIdentifier exp imp */
459 : /* template_members: heim_octet_string exp exp */
460 : /* generate_template_type: heim_octet_string_tag_issuerAndSerialNumber_16 */
461 : /* generate_template_type: ExternalPrincipalIdentifier_tag_issuerAndSerialNumber_15 */
462 : /* template_members: ExternalPrincipalIdentifier exp imp */
463 : /* template_members: heim_octet_string exp exp */
464 : /* generate_template_type: heim_octet_string_tag_subjectKeyIdentifier_18 */
465 : /* generate_template_type: ExternalPrincipalIdentifier_tag_subjectKeyIdentifier_17 */
466 : /* generate_template_type: ExternalPrincipalIdentifier_tag__12 */
467 : const struct asn1_template asn1_ExternalPrincipalIdentifier_tag__12[] = {
468 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct ExternalPrincipalIdentifier), ((void *)(uintptr_t)8) },
469 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct ExternalPrincipalIdentifier, subjectName), asn1_TrustedCA_tag_caName_6 },
470 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct ExternalPrincipalIdentifier, issuerAndSerialNumber), asn1_TrustedCA_tag_caName_6 },
471 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct ExternalPrincipalIdentifier, subjectKeyIdentifier), asn1_TrustedCA_tag_caName_6 },
472 : /* 4 */ { A1_OP_NAME, 0, "ExternalPrincipalIdentifier" },
473 : /* 5 */ { A1_OP_NAME, 0, "subjectName" },
474 : /* 6 */ { A1_OP_NAME, 0, "issuerAndSerialNumber" },
475 : /* 7 */ { A1_OP_NAME, 0, "subjectKeyIdentifier" },
476 : /* 8 */ { A1_OP_NAME, 0, "..." }
477 : };
478 : /* generate_template_type: ExternalPrincipalIdentifier */
479 : const struct asn1_template asn1_ExternalPrincipalIdentifier[] = {
480 : /* 0 */ { 0, sizeof(ExternalPrincipalIdentifier), ((void *)(uintptr_t)1) },
481 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ExternalPrincipalIdentifier_tag__12 }
482 : };
483 :
484 : int ASN1CALL
485 0 : decode_ExternalPrincipalIdentifier(const unsigned char *p, size_t len, ExternalPrincipalIdentifier *data, size_t *size)
486 : {
487 0 : memset(data, 0, sizeof(*data));
488 0 : return _asn1_decode_top(asn1_ExternalPrincipalIdentifier, 0|0, p, len, data, size);
489 : }
490 :
491 :
492 : int ASN1CALL
493 0 : encode_ExternalPrincipalIdentifier(unsigned char *p, size_t len, const ExternalPrincipalIdentifier *data, size_t *size)
494 : {
495 0 : return _asn1_encode(asn1_ExternalPrincipalIdentifier, p, len, data, size);
496 : }
497 :
498 :
499 : size_t ASN1CALL
500 0 : length_ExternalPrincipalIdentifier(const ExternalPrincipalIdentifier *data)
501 : {
502 0 : return _asn1_length(asn1_ExternalPrincipalIdentifier, data);
503 : }
504 :
505 :
506 : void ASN1CALL
507 0 : free_ExternalPrincipalIdentifier(ExternalPrincipalIdentifier *data)
508 : {
509 0 : _asn1_free_top(asn1_ExternalPrincipalIdentifier, data);
510 0 : }
511 :
512 :
513 : int ASN1CALL
514 0 : copy_ExternalPrincipalIdentifier(const ExternalPrincipalIdentifier *from, ExternalPrincipalIdentifier *to)
515 : {
516 0 : return _asn1_copy_top(asn1_ExternalPrincipalIdentifier, from, to);
517 : }
518 :
519 :
520 : char * ASN1CALL
521 0 : print_ExternalPrincipalIdentifier(const ExternalPrincipalIdentifier *data, int flags)
522 : {
523 0 : return _asn1_print_top(asn1_ExternalPrincipalIdentifier, flags, data);
524 : }
525 :
526 : /* template_members: ExternalPrincipalIdentifiers exp exp */
527 : /* generate_template_type: ExternalPrincipalIdentifier_seofTstruct_0 */
528 : const struct asn1_template asn1_ExternalPrincipalIdentifier_seofTstruct_0[] = {
529 : /* 0 */ { 0, sizeof(ExternalPrincipalIdentifier), ((void *)(uintptr_t)1) },
530 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifier }
531 : };
532 : /* generate_template_type: ExternalPrincipalIdentifiers_tag__19 */
533 : const struct asn1_template asn1_ExternalPrincipalIdentifiers_tag__19[] = {
534 : /* 0 */ { 0, sizeof(ExternalPrincipalIdentifier), ((void *)(uintptr_t)1) },
535 : /* 1 */ { A1_OP_SEQOF, 0, asn1_ExternalPrincipalIdentifier_seofTstruct_0 }
536 : };
537 : /* generate_template_type: ExternalPrincipalIdentifiers */
538 : const struct asn1_template asn1_ExternalPrincipalIdentifiers[] = {
539 : /* 0 */ { 0, sizeof(ExternalPrincipalIdentifiers), ((void *)(uintptr_t)1) },
540 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ExternalPrincipalIdentifiers_tag__19 }
541 : };
542 :
543 : int ASN1CALL
544 0 : decode_ExternalPrincipalIdentifiers(const unsigned char *p, size_t len, ExternalPrincipalIdentifiers *data, size_t *size)
545 : {
546 0 : memset(data, 0, sizeof(*data));
547 0 : return _asn1_decode_top(asn1_ExternalPrincipalIdentifiers, 0|0, p, len, data, size);
548 : }
549 :
550 :
551 : int ASN1CALL
552 0 : encode_ExternalPrincipalIdentifiers(unsigned char *p, size_t len, const ExternalPrincipalIdentifiers *data, size_t *size)
553 : {
554 0 : return _asn1_encode(asn1_ExternalPrincipalIdentifiers, p, len, data, size);
555 : }
556 :
557 :
558 : size_t ASN1CALL
559 0 : length_ExternalPrincipalIdentifiers(const ExternalPrincipalIdentifiers *data)
560 : {
561 0 : return _asn1_length(asn1_ExternalPrincipalIdentifiers, data);
562 : }
563 :
564 :
565 : void ASN1CALL
566 0 : free_ExternalPrincipalIdentifiers(ExternalPrincipalIdentifiers *data)
567 : {
568 0 : _asn1_free_top(asn1_ExternalPrincipalIdentifiers, data);
569 0 : }
570 :
571 :
572 : int ASN1CALL
573 0 : copy_ExternalPrincipalIdentifiers(const ExternalPrincipalIdentifiers *from, ExternalPrincipalIdentifiers *to)
574 : {
575 0 : return _asn1_copy_top(asn1_ExternalPrincipalIdentifiers, from, to);
576 : }
577 :
578 :
579 : char * ASN1CALL
580 0 : print_ExternalPrincipalIdentifiers(const ExternalPrincipalIdentifiers *data, int flags)
581 : {
582 0 : return _asn1_print_top(asn1_ExternalPrincipalIdentifiers, flags, data);
583 : }
584 :
585 : /* template_members: PA_PK_AS_REQ exp exp */
586 : /* tsequence: members isstruct: 1 */
587 : /* template_members: PA_PK_AS_REQ exp imp */
588 : /* template_members: heim_octet_string exp exp */
589 : /* generate_template_type: heim_octet_string_tag_signedAuthPack_22 */
590 : /* generate_template_type: PA_PK_AS_REQ_tag_signedAuthPack_21 */
591 : /* template_members: PA_PK_AS_REQ exp exp */
592 : /* generate_template_type: PA_PK_AS_REQ_tag_trustedCertifiers_23 */
593 : const struct asn1_template asn1_PA_PK_AS_REQ_tag_trustedCertifiers_23[] = {
594 : /* 0 */ { 0, sizeof(ExternalPrincipalIdentifiers), ((void *)(uintptr_t)1) },
595 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifiers }
596 : };
597 : /* template_members: PA_PK_AS_REQ exp imp */
598 : /* template_members: heim_octet_string exp exp */
599 : /* generate_template_type: heim_octet_string_tag_kdcPkId_25 */
600 : /* generate_template_type: PA_PK_AS_REQ_tag_kdcPkId_24 */
601 : /* generate_template_type: PA_PK_AS_REQ_tag__20 */
602 : const struct asn1_template asn1_PA_PK_AS_REQ_tag__20[] = {
603 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct PA_PK_AS_REQ), ((void *)(uintptr_t)8) },
604 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, offsetof(struct PA_PK_AS_REQ, signedAuthPack), asn1_TrustedCA_tag_caName_6 },
605 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REQ, trustedCertifiers), asn1_PA_PK_AS_REQ_tag_trustedCertifiers_23 },
606 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,2)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PA_PK_AS_REQ, kdcPkId), asn1_TrustedCA_tag_caName_6 },
607 : /* 4 */ { A1_OP_NAME, 0, "PA_PK_AS_REQ" },
608 : /* 5 */ { A1_OP_NAME, 0, "signedAuthPack" },
609 : /* 6 */ { A1_OP_NAME, 0, "trustedCertifiers" },
610 : /* 7 */ { A1_OP_NAME, 0, "kdcPkId" },
611 : /* 8 */ { A1_OP_NAME, 0, "..." }
612 : };
613 : /* generate_template_type: PA_PK_AS_REQ */
614 : const struct asn1_template asn1_PA_PK_AS_REQ[] = {
615 : /* 0 */ { 0, sizeof(PA_PK_AS_REQ), ((void *)(uintptr_t)1) },
616 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REQ_tag__20 }
617 : };
618 :
619 : int ASN1CALL
620 0 : decode_PA_PK_AS_REQ(const unsigned char *p, size_t len, PA_PK_AS_REQ *data, size_t *size)
621 : {
622 0 : memset(data, 0, sizeof(*data));
623 0 : return _asn1_decode_top(asn1_PA_PK_AS_REQ, 0|0, p, len, data, size);
624 : }
625 :
626 :
627 : int ASN1CALL
628 77 : encode_PA_PK_AS_REQ(unsigned char *p, size_t len, const PA_PK_AS_REQ *data, size_t *size)
629 : {
630 77 : return _asn1_encode(asn1_PA_PK_AS_REQ, p, len, data, size);
631 : }
632 :
633 :
634 : size_t ASN1CALL
635 77 : length_PA_PK_AS_REQ(const PA_PK_AS_REQ *data)
636 : {
637 77 : return _asn1_length(asn1_PA_PK_AS_REQ, data);
638 : }
639 :
640 :
641 : void ASN1CALL
642 77 : free_PA_PK_AS_REQ(PA_PK_AS_REQ *data)
643 : {
644 77 : _asn1_free_top(asn1_PA_PK_AS_REQ, data);
645 77 : }
646 :
647 :
648 : int ASN1CALL
649 0 : copy_PA_PK_AS_REQ(const PA_PK_AS_REQ *from, PA_PK_AS_REQ *to)
650 : {
651 0 : return _asn1_copy_top(asn1_PA_PK_AS_REQ, from, to);
652 : }
653 :
654 :
655 : char * ASN1CALL
656 0 : print_PA_PK_AS_REQ(const PA_PK_AS_REQ *data, int flags)
657 : {
658 0 : return _asn1_print_top(asn1_PA_PK_AS_REQ, flags, data);
659 : }
660 :
661 : /* template_members: PKAuthenticator exp exp */
662 : /* tsequence: members isstruct: 1 */
663 : /* template_members: PKAuthenticator exp exp */
664 : /* template_members: heim_integer exp exp */
665 : /* generate_template_type: heim_integer_tag_cusec_28 */
666 : /* generate_template_type: PKAuthenticator_tag_cusec_27 */
667 : /* template_members: PKAuthenticator exp exp */
668 : /* generate_template_type: PKAuthenticator_tag_ctime_29 */
669 : const struct asn1_template asn1_PKAuthenticator_tag_ctime_29[] = {
670 : /* 0 */ { 0, sizeof(KerberosTime), ((void *)(uintptr_t)1) },
671 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_KerberosTime}
672 : };
673 : /* template_members: PKAuthenticator exp exp */
674 : /* template_members: unsigned exp exp */
675 : /* generate_template_type: unsigned_tag_nonce_31 */
676 : const struct asn1_template asn1_unsigned_tag_nonce_31[] = {
677 : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
678 : /* 1 */ { A1_PARSE_T(A1T_UNSIGNED), 0, NULL }
679 : };
680 : /* generate_template_type: PKAuthenticator_tag_nonce_30 */
681 : const struct asn1_template asn1_PKAuthenticator_tag_nonce_30[] = {
682 : /* 0 */ { 0, sizeof(unsigned), ((void *)(uintptr_t)1) },
683 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_unsigned_tag_nonce_31 }
684 : };
685 : /* template_members: PKAuthenticator exp exp */
686 : /* template_members: heim_octet_string exp exp */
687 : /* generate_template_type: heim_octet_string_tag_paChecksum_33 */
688 : /* generate_template_type: PKAuthenticator_tag_paChecksum_32 */
689 : /* generate_template_type: PKAuthenticator_tag__26 */
690 : const struct asn1_template asn1_PKAuthenticator_tag__26[] = {
691 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct PKAuthenticator), ((void *)(uintptr_t)10) },
692 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PKAuthenticator, cusec), asn1_TrustedCA_tag_certificateSerialNumber_8 },
693 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PKAuthenticator, ctime), asn1_PKAuthenticator_tag_ctime_29 },
694 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PKAuthenticator, nonce), asn1_PKAuthenticator_tag_nonce_30 },
695 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct PKAuthenticator, paChecksum), asn1_TrustedCA_tag_caName_6 },
696 : /* 5 */ { A1_OP_NAME, 0, "PKAuthenticator" },
697 : /* 6 */ { A1_OP_NAME, 0, "cusec" },
698 : /* 7 */ { A1_OP_NAME, 0, "ctime" },
699 : /* 8 */ { A1_OP_NAME, 0, "nonce" },
700 : /* 9 */ { A1_OP_NAME, 0, "paChecksum" },
701 : /* 10 */ { A1_OP_NAME, 0, "..." }
702 : };
703 : /* generate_template_type: PKAuthenticator */
704 : const struct asn1_template asn1_PKAuthenticator[] = {
705 : /* 0 */ { 0, sizeof(PKAuthenticator), ((void *)(uintptr_t)1) },
706 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PKAuthenticator_tag__26 }
707 : };
708 :
709 : int ASN1CALL
710 0 : decode_PKAuthenticator(const unsigned char *p, size_t len, PKAuthenticator *data, size_t *size)
711 : {
712 0 : memset(data, 0, sizeof(*data));
713 0 : return _asn1_decode_top(asn1_PKAuthenticator, 0|0, p, len, data, size);
714 : }
715 :
716 :
717 : int ASN1CALL
718 0 : encode_PKAuthenticator(unsigned char *p, size_t len, const PKAuthenticator *data, size_t *size)
719 : {
720 0 : return _asn1_encode(asn1_PKAuthenticator, p, len, data, size);
721 : }
722 :
723 :
724 : size_t ASN1CALL
725 0 : length_PKAuthenticator(const PKAuthenticator *data)
726 : {
727 0 : return _asn1_length(asn1_PKAuthenticator, data);
728 : }
729 :
730 :
731 : void ASN1CALL
732 0 : free_PKAuthenticator(PKAuthenticator *data)
733 : {
734 0 : _asn1_free_top(asn1_PKAuthenticator, data);
735 0 : }
736 :
737 :
738 : int ASN1CALL
739 0 : copy_PKAuthenticator(const PKAuthenticator *from, PKAuthenticator *to)
740 : {
741 0 : return _asn1_copy_top(asn1_PKAuthenticator, from, to);
742 : }
743 :
744 :
745 : char * ASN1CALL
746 0 : print_PKAuthenticator(const PKAuthenticator *data, int flags)
747 : {
748 0 : return _asn1_print_top(asn1_PKAuthenticator, flags, data);
749 : }
750 :
751 : /* template_members: AuthPack exp exp */
752 : /* tsequence: members isstruct: 1 */
753 : /* template_members: AuthPack exp exp */
754 : /* generate_template_type: AuthPack_tag_pkAuthenticator_35 */
755 : const struct asn1_template asn1_AuthPack_tag_pkAuthenticator_35[] = {
756 : /* 0 */ { 0, sizeof(PKAuthenticator), ((void *)(uintptr_t)1) },
757 : /* 1 */ { A1_OP_TYPE , 0, asn1_PKAuthenticator }
758 : };
759 : /* template_members: AuthPack exp exp */
760 : /* generate_template_type: AuthPack_tag_clientPublicValue_36 */
761 : const struct asn1_template asn1_AuthPack_tag_clientPublicValue_36[] = {
762 : /* 0 */ { 0, sizeof(SubjectPublicKeyInfo), ((void *)(uintptr_t)1) },
763 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_SubjectPublicKeyInfo}
764 : };
765 : /* template_members: AuthPack exp exp */
766 : /* template_members: AuthPack exp exp */
767 : /* generate_template_type: AuthPack_supportedCMSTypes_1 */
768 : const struct asn1_template asn1_AuthPack_supportedCMSTypes_1[] = {
769 : /* 0 */ { 0, sizeof(AlgorithmIdentifier), ((void *)(uintptr_t)1) },
770 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_AlgorithmIdentifier}
771 : };
772 : /* generate_template_type: AuthPack_tag_supportedCMSTypes_38 */
773 : const struct asn1_template asn1_AuthPack_tag_supportedCMSTypes_38[] = {
774 : /* 0 */ { 0, sizeof(struct AuthPack_supportedCMSTypes), ((void *)(uintptr_t)1) },
775 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedCMSTypes_1 }
776 : };
777 : /* generate_template_type: AuthPack_tag_supportedCMSTypes_37 */
778 : const struct asn1_template asn1_AuthPack_tag_supportedCMSTypes_37[] = {
779 : /* 0 */ { 0, sizeof(struct AuthPack_supportedCMSTypes), ((void *)(uintptr_t)1) },
780 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag_supportedCMSTypes_38 }
781 : };
782 : /* template_members: AuthPack exp exp */
783 : /* generate_template_type: AuthPack_tag_clientDHNonce_39 */
784 : const struct asn1_template asn1_AuthPack_tag_clientDHNonce_39[] = {
785 : /* 0 */ { 0, sizeof(DHNonce), ((void *)(uintptr_t)1) },
786 : /* 1 */ { A1_OP_TYPE , 0, asn1_DHNonce }
787 : };
788 : /* template_members: AuthPack exp exp */
789 : /* template_members: AuthPack exp exp */
790 : /* generate_template_type: AuthPack_supportedKDFs_2 */
791 : const struct asn1_template asn1_AuthPack_supportedKDFs_2[] = {
792 : /* 0 */ { 0, sizeof(KDFAlgorithmId), ((void *)(uintptr_t)1) },
793 : /* 1 */ { A1_OP_TYPE , 0, asn1_KDFAlgorithmId }
794 : };
795 : /* generate_template_type: AuthPack_tag_supportedKDFs_41 */
796 : const struct asn1_template asn1_AuthPack_tag_supportedKDFs_41[] = {
797 : /* 0 */ { 0, sizeof(struct AuthPack_supportedKDFs), ((void *)(uintptr_t)1) },
798 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedKDFs_2 }
799 : };
800 : /* generate_template_type: AuthPack_tag_supportedKDFs_40 */
801 : const struct asn1_template asn1_AuthPack_tag_supportedKDFs_40[] = {
802 : /* 0 */ { 0, sizeof(struct AuthPack_supportedKDFs), ((void *)(uintptr_t)1) },
803 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag_supportedKDFs_41 }
804 : };
805 : /* generate_template_type: AuthPack_tag__34 */
806 : const struct asn1_template asn1_AuthPack_tag__34[] = {
807 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct AuthPack), ((void *)(uintptr_t)13) },
808 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct AuthPack, pkAuthenticator), asn1_AuthPack_tag_pkAuthenticator_35 },
809 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, clientPublicValue), asn1_AuthPack_tag_clientPublicValue_36 },
810 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, supportedCMSTypes), asn1_AuthPack_tag_supportedCMSTypes_37 },
811 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, clientDHNonce), asn1_AuthPack_tag_clientDHNonce_39 },
812 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, supportedKDFs), asn1_AuthPack_tag_supportedKDFs_40 },
813 : /* 6 */ { A1_OP_NAME, 0, "AuthPack" },
814 : /* 7 */ { A1_OP_NAME, 0, "pkAuthenticator" },
815 : /* 8 */ { A1_OP_NAME, 0, "clientPublicValue" },
816 : /* 9 */ { A1_OP_NAME, 0, "supportedCMSTypes" },
817 : /* 10 */ { A1_OP_NAME, 0, "clientDHNonce" },
818 : /* 11 */ { A1_OP_NAME, 0, "..." },
819 : /* 12 */ { A1_OP_NAME, 0, "supportedKDFs" },
820 : /* 13 */ { A1_OP_NAME, 0, "..." }
821 : };
822 : /* generate_template_type: AuthPack */
823 : const struct asn1_template asn1_AuthPack[] = {
824 : /* 0 */ { 0, sizeof(AuthPack), ((void *)(uintptr_t)1) },
825 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag__34 }
826 : };
827 :
828 : int ASN1CALL
829 0 : decode_AuthPack(const unsigned char *p, size_t len, AuthPack *data, size_t *size)
830 : {
831 0 : memset(data, 0, sizeof(*data));
832 0 : return _asn1_decode_top(asn1_AuthPack, 0|0, p, len, data, size);
833 : }
834 :
835 :
836 : int ASN1CALL
837 77 : encode_AuthPack(unsigned char *p, size_t len, const AuthPack *data, size_t *size)
838 : {
839 77 : return _asn1_encode(asn1_AuthPack, p, len, data, size);
840 : }
841 :
842 :
843 : size_t ASN1CALL
844 77 : length_AuthPack(const AuthPack *data)
845 : {
846 77 : return _asn1_length(asn1_AuthPack, data);
847 : }
848 :
849 :
850 : void ASN1CALL
851 77 : free_AuthPack(AuthPack *data)
852 : {
853 77 : _asn1_free_top(asn1_AuthPack, data);
854 77 : }
855 :
856 :
857 : int ASN1CALL
858 0 : copy_AuthPack(const AuthPack *from, AuthPack *to)
859 : {
860 0 : return _asn1_copy_top(asn1_AuthPack, from, to);
861 : }
862 :
863 :
864 : char * ASN1CALL
865 0 : print_AuthPack(const AuthPack *data, int flags)
866 : {
867 0 : return _asn1_print_top(asn1_AuthPack, flags, data);
868 : }
869 :
870 : /* generate_template_type: TD_TRUSTED_CERTIFIERS */
871 : const struct asn1_template asn1_TD_TRUSTED_CERTIFIERS[] = {
872 : /* 0 */ { 0, sizeof(TD_TRUSTED_CERTIFIERS), ((void *)(uintptr_t)1) },
873 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifiers }
874 : };
875 :
876 : int ASN1CALL
877 0 : decode_TD_TRUSTED_CERTIFIERS(const unsigned char *p, size_t len, TD_TRUSTED_CERTIFIERS *data, size_t *size)
878 : {
879 0 : memset(data, 0, sizeof(*data));
880 0 : return _asn1_decode_top(asn1_TD_TRUSTED_CERTIFIERS, 0|0, p, len, data, size);
881 : }
882 :
883 :
884 : int ASN1CALL
885 0 : encode_TD_TRUSTED_CERTIFIERS(unsigned char *p, size_t len, const TD_TRUSTED_CERTIFIERS *data, size_t *size)
886 : {
887 0 : return _asn1_encode(asn1_TD_TRUSTED_CERTIFIERS, p, len, data, size);
888 : }
889 :
890 :
891 : size_t ASN1CALL
892 0 : length_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *data)
893 : {
894 0 : return _asn1_length(asn1_TD_TRUSTED_CERTIFIERS, data);
895 : }
896 :
897 :
898 : void ASN1CALL
899 0 : free_TD_TRUSTED_CERTIFIERS(TD_TRUSTED_CERTIFIERS *data)
900 : {
901 0 : _asn1_free_top(asn1_TD_TRUSTED_CERTIFIERS, data);
902 0 : }
903 :
904 :
905 : int ASN1CALL
906 0 : copy_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *from, TD_TRUSTED_CERTIFIERS *to)
907 : {
908 0 : return _asn1_copy_top(asn1_TD_TRUSTED_CERTIFIERS, from, to);
909 : }
910 :
911 :
912 : char * ASN1CALL
913 0 : print_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *data, int flags)
914 : {
915 0 : return _asn1_print_top(asn1_TD_TRUSTED_CERTIFIERS, flags, data);
916 : }
917 :
918 : /* generate_template_type: TD_INVALID_CERTIFICATES */
919 : const struct asn1_template asn1_TD_INVALID_CERTIFICATES[] = {
920 : /* 0 */ { 0, sizeof(TD_INVALID_CERTIFICATES), ((void *)(uintptr_t)1) },
921 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifiers }
922 : };
923 :
924 : int ASN1CALL
925 0 : decode_TD_INVALID_CERTIFICATES(const unsigned char *p, size_t len, TD_INVALID_CERTIFICATES *data, size_t *size)
926 : {
927 0 : memset(data, 0, sizeof(*data));
928 0 : return _asn1_decode_top(asn1_TD_INVALID_CERTIFICATES, 0|0, p, len, data, size);
929 : }
930 :
931 :
932 : int ASN1CALL
933 0 : encode_TD_INVALID_CERTIFICATES(unsigned char *p, size_t len, const TD_INVALID_CERTIFICATES *data, size_t *size)
934 : {
935 0 : return _asn1_encode(asn1_TD_INVALID_CERTIFICATES, p, len, data, size);
936 : }
937 :
938 :
939 : size_t ASN1CALL
940 0 : length_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *data)
941 : {
942 0 : return _asn1_length(asn1_TD_INVALID_CERTIFICATES, data);
943 : }
944 :
945 :
946 : void ASN1CALL
947 0 : free_TD_INVALID_CERTIFICATES(TD_INVALID_CERTIFICATES *data)
948 : {
949 0 : _asn1_free_top(asn1_TD_INVALID_CERTIFICATES, data);
950 0 : }
951 :
952 :
953 : int ASN1CALL
954 0 : copy_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *from, TD_INVALID_CERTIFICATES *to)
955 : {
956 0 : return _asn1_copy_top(asn1_TD_INVALID_CERTIFICATES, from, to);
957 : }
958 :
959 :
960 : char * ASN1CALL
961 0 : print_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *data, int flags)
962 : {
963 0 : return _asn1_print_top(asn1_TD_INVALID_CERTIFICATES, flags, data);
964 : }
965 :
966 : /* template_members: AD_INITIAL_VERIFIED_CAS exp exp */
967 : /* generate_template_type: ExternalPrincipalIdentifier_seofTstruct_3 */
968 : /* generate_template_type: AD_INITIAL_VERIFIED_CAS_tag__42 */
969 : /* generate_template_type: AD_INITIAL_VERIFIED_CAS */
970 : const struct asn1_template asn1_AD_INITIAL_VERIFIED_CAS[] = {
971 : /* 0 */ { 0, sizeof(AD_INITIAL_VERIFIED_CAS), ((void *)(uintptr_t)1) },
972 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ExternalPrincipalIdentifiers_tag__19 }
973 : };
974 :
975 : int ASN1CALL
976 0 : decode_AD_INITIAL_VERIFIED_CAS(const unsigned char *p, size_t len, AD_INITIAL_VERIFIED_CAS *data, size_t *size)
977 : {
978 0 : memset(data, 0, sizeof(*data));
979 0 : return _asn1_decode_top(asn1_AD_INITIAL_VERIFIED_CAS, 0|0, p, len, data, size);
980 : }
981 :
982 :
983 : int ASN1CALL
984 0 : encode_AD_INITIAL_VERIFIED_CAS(unsigned char *p, size_t len, const AD_INITIAL_VERIFIED_CAS *data, size_t *size)
985 : {
986 0 : return _asn1_encode(asn1_AD_INITIAL_VERIFIED_CAS, p, len, data, size);
987 : }
988 :
989 :
990 : size_t ASN1CALL
991 0 : length_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *data)
992 : {
993 0 : return _asn1_length(asn1_AD_INITIAL_VERIFIED_CAS, data);
994 : }
995 :
996 :
997 : void ASN1CALL
998 0 : free_AD_INITIAL_VERIFIED_CAS(AD_INITIAL_VERIFIED_CAS *data)
999 : {
1000 0 : _asn1_free_top(asn1_AD_INITIAL_VERIFIED_CAS, data);
1001 0 : }
1002 :
1003 :
1004 : int ASN1CALL
1005 0 : copy_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *from, AD_INITIAL_VERIFIED_CAS *to)
1006 : {
1007 0 : return _asn1_copy_top(asn1_AD_INITIAL_VERIFIED_CAS, from, to);
1008 : }
1009 :
1010 :
1011 : char * ASN1CALL
1012 0 : print_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *data, int flags)
1013 : {
1014 0 : return _asn1_print_top(asn1_AD_INITIAL_VERIFIED_CAS, flags, data);
1015 : }
1016 :
1017 : /* template_members: DHRepInfo exp exp */
1018 : /* tsequence: members isstruct: 1 */
1019 : /* template_members: DHRepInfo exp imp */
1020 : /* template_members: heim_octet_string exp exp */
1021 : /* generate_template_type: heim_octet_string_tag_dhSignedData_45 */
1022 : /* generate_template_type: DHRepInfo_tag_dhSignedData_44 */
1023 : /* template_members: DHRepInfo exp exp */
1024 : /* generate_template_type: DHRepInfo_tag_serverDHNonce_46 */
1025 : /* template_members: DHRepInfo exp exp */
1026 : /* generate_template_type: DHRepInfo_tag_kdf_47 */
1027 : /* generate_template_type: DHRepInfo_tag__43 */
1028 : const struct asn1_template asn1_DHRepInfo_tag__43[] = {
1029 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct DHRepInfo), ((void *)(uintptr_t)9) },
1030 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, offsetof(struct DHRepInfo, dhSignedData), asn1_TrustedCA_tag_caName_6 },
1031 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DHRepInfo, serverDHNonce), asn1_AuthPack_tag_clientDHNonce_39 },
1032 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DHRepInfo, kdf), asn1_AuthPack_supportedKDFs_2 },
1033 : /* 4 */ { A1_OP_NAME, 0, "DHRepInfo" },
1034 : /* 5 */ { A1_OP_NAME, 0, "dhSignedData" },
1035 : /* 6 */ { A1_OP_NAME, 0, "serverDHNonce" },
1036 : /* 7 */ { A1_OP_NAME, 0, "..." },
1037 : /* 8 */ { A1_OP_NAME, 0, "kdf" },
1038 : /* 9 */ { A1_OP_NAME, 0, "..." }
1039 : };
1040 : /* generate_template_type: DHRepInfo */
1041 : const struct asn1_template asn1_DHRepInfo[] = {
1042 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1043 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DHRepInfo_tag__43 }
1044 : };
1045 :
1046 : int ASN1CALL
1047 0 : decode_DHRepInfo(const unsigned char *p, size_t len, DHRepInfo *data, size_t *size)
1048 : {
1049 0 : memset(data, 0, sizeof(*data));
1050 0 : return _asn1_decode_top(asn1_DHRepInfo, 0|0, p, len, data, size);
1051 : }
1052 :
1053 :
1054 : int ASN1CALL
1055 0 : encode_DHRepInfo(unsigned char *p, size_t len, const DHRepInfo *data, size_t *size)
1056 : {
1057 0 : return _asn1_encode(asn1_DHRepInfo, p, len, data, size);
1058 : }
1059 :
1060 :
1061 : size_t ASN1CALL
1062 0 : length_DHRepInfo(const DHRepInfo *data)
1063 : {
1064 0 : return _asn1_length(asn1_DHRepInfo, data);
1065 : }
1066 :
1067 :
1068 : void ASN1CALL
1069 0 : free_DHRepInfo(DHRepInfo *data)
1070 : {
1071 0 : _asn1_free_top(asn1_DHRepInfo, data);
1072 0 : }
1073 :
1074 :
1075 : int ASN1CALL
1076 0 : copy_DHRepInfo(const DHRepInfo *from, DHRepInfo *to)
1077 : {
1078 0 : return _asn1_copy_top(asn1_DHRepInfo, from, to);
1079 : }
1080 :
1081 :
1082 : char * ASN1CALL
1083 0 : print_DHRepInfo(const DHRepInfo *data, int flags)
1084 : {
1085 0 : return _asn1_print_top(asn1_DHRepInfo, flags, data);
1086 : }
1087 :
1088 : /* template_members: DHRepInfo exp exp */
1089 : /* generate_template_type: DHRepInfo_tag__48 */
1090 : const struct asn1_template asn1_DHRepInfo_tag__48[] = {
1091 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1092 : /* 1 */ { A1_OP_TYPE , 0, asn1_DHRepInfo }
1093 : };
1094 : /* generate_template_type: PA_PK_AS_REP_choice_dhInfo */
1095 : const struct asn1_template asn1_PA_PK_AS_REP_choice_dhInfo[] = {
1096 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1097 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DHRepInfo_tag__48 }
1098 : };
1099 : /* template_members: heim_octet_string imp imp */
1100 : /* template_members: heim_octet_string exp exp */
1101 : /* generate_template_type: heim_octet_string_tag__50 */
1102 : /* generate_template_type: heim_octet_string_tag__49 */
1103 : /* generate_template_type: PA_PK_AS_REP_choice_encKeyPack */
1104 : const struct asn1_template asn1_PA_PK_AS_REP_choice_encKeyPack[] = {
1105 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
1106 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_IMPLICIT, 0, asn1_TrustedCA_tag_caName_6 }
1107 : };
1108 : static const struct asn1_template asn1_choice_PA_PK_AS_REP_0[] = {
1109 : /* 0 */ { offsetof(PA_PK_AS_REP, u.asn1_ellipsis), offsetof(PA_PK_AS_REP, element), ((void *)(uintptr_t)5) },
1110 : /* 1 */ { choice_PA_PK_AS_REP_dhInfo, offsetof(PA_PK_AS_REP, u.dhInfo), asn1_PA_PK_AS_REP_choice_dhInfo },
1111 : /* 2 */ { choice_PA_PK_AS_REP_encKeyPack, offsetof(PA_PK_AS_REP, u.encKeyPack), asn1_PA_PK_AS_REP_choice_encKeyPack },
1112 : /* 3 */ { 0, 0, "dhInfo" },
1113 : /* 4 */ { 0, 0, "encKeyPack" },
1114 : /* 5 */ { 0, 0, "..." }
1115 : };
1116 : /* generate_template_type: PA_PK_AS_REP */
1117 : const struct asn1_template asn1_PA_PK_AS_REP[] = {
1118 : /* 0 */ { 0, sizeof(PA_PK_AS_REP), ((void *)(uintptr_t)1) },
1119 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_PA_PK_AS_REP_0 }
1120 : };
1121 :
1122 : int ASN1CALL
1123 0 : decode_PA_PK_AS_REP(const unsigned char *p, size_t len, PA_PK_AS_REP *data, size_t *size)
1124 : {
1125 0 : memset(data, 0, sizeof(*data));
1126 0 : return _asn1_decode_top(asn1_PA_PK_AS_REP, 0|0, p, len, data, size);
1127 : }
1128 :
1129 :
1130 : int ASN1CALL
1131 0 : encode_PA_PK_AS_REP(unsigned char *p, size_t len, const PA_PK_AS_REP *data, size_t *size)
1132 : {
1133 0 : return _asn1_encode(asn1_PA_PK_AS_REP, p, len, data, size);
1134 : }
1135 :
1136 :
1137 : size_t ASN1CALL
1138 0 : length_PA_PK_AS_REP(const PA_PK_AS_REP *data)
1139 : {
1140 0 : return _asn1_length(asn1_PA_PK_AS_REP, data);
1141 : }
1142 :
1143 :
1144 : void ASN1CALL
1145 0 : free_PA_PK_AS_REP(PA_PK_AS_REP *data)
1146 : {
1147 0 : _asn1_free_top(asn1_PA_PK_AS_REP, data);
1148 0 : }
1149 :
1150 :
1151 : int ASN1CALL
1152 0 : copy_PA_PK_AS_REP(const PA_PK_AS_REP *from, PA_PK_AS_REP *to)
1153 : {
1154 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP, from, to);
1155 : }
1156 :
1157 :
1158 : char * ASN1CALL
1159 0 : print_PA_PK_AS_REP(const PA_PK_AS_REP *data, int flags)
1160 : {
1161 0 : return _asn1_print_top(asn1_PA_PK_AS_REP, flags, data);
1162 : }
1163 :
1164 : /* template_members: KDCDHKeyInfo exp exp */
1165 : /* tsequence: members isstruct: 1 */
1166 : /* template_members: KDCDHKeyInfo exp exp */
1167 : /* template_members: KDCDHKeyInfo exp exp */
1168 : /* generate_template_type: KDCDHKeyInfo_tag_subjectPublicKey_53 */
1169 : const struct asn1_template asn1_KDCDHKeyInfo_tag_subjectPublicKey_53[] = {
1170 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1171 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1172 : };
1173 : /* generate_template_type: KDCDHKeyInfo_tag_subjectPublicKey_52 */
1174 : const struct asn1_template asn1_KDCDHKeyInfo_tag_subjectPublicKey_52[] = {
1175 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1176 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_KDCDHKeyInfo_tag_subjectPublicKey_53 }
1177 : };
1178 : /* template_members: KDCDHKeyInfo exp exp */
1179 : /* template_members: unsigned exp exp */
1180 : /* generate_template_type: unsigned_tag_nonce_55 */
1181 : /* generate_template_type: KDCDHKeyInfo_tag_nonce_54 */
1182 : /* template_members: KDCDHKeyInfo exp exp */
1183 : /* generate_template_type: KDCDHKeyInfo_tag_dhKeyExpiration_56 */
1184 : /* generate_template_type: KDCDHKeyInfo_tag__51 */
1185 : const struct asn1_template asn1_KDCDHKeyInfo_tag__51[] = {
1186 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct KDCDHKeyInfo), ((void *)(uintptr_t)8) },
1187 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KDCDHKeyInfo, subjectPublicKey), asn1_KDCDHKeyInfo_tag_subjectPublicKey_52 },
1188 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct KDCDHKeyInfo, nonce), asn1_PKAuthenticator_tag_nonce_30 },
1189 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct KDCDHKeyInfo, dhKeyExpiration), asn1_PKAuthenticator_tag_ctime_29 },
1190 : /* 4 */ { A1_OP_NAME, 0, "KDCDHKeyInfo" },
1191 : /* 5 */ { A1_OP_NAME, 0, "subjectPublicKey" },
1192 : /* 6 */ { A1_OP_NAME, 0, "nonce" },
1193 : /* 7 */ { A1_OP_NAME, 0, "dhKeyExpiration" },
1194 : /* 8 */ { A1_OP_NAME, 0, "..." }
1195 : };
1196 : /* generate_template_type: KDCDHKeyInfo */
1197 : const struct asn1_template asn1_KDCDHKeyInfo[] = {
1198 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1199 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KDCDHKeyInfo_tag__51 }
1200 : };
1201 :
1202 : int ASN1CALL
1203 0 : decode_KDCDHKeyInfo(const unsigned char *p, size_t len, KDCDHKeyInfo *data, size_t *size)
1204 : {
1205 0 : memset(data, 0, sizeof(*data));
1206 0 : return _asn1_decode_top(asn1_KDCDHKeyInfo, 0|0, p, len, data, size);
1207 : }
1208 :
1209 :
1210 : int ASN1CALL
1211 0 : encode_KDCDHKeyInfo(unsigned char *p, size_t len, const KDCDHKeyInfo *data, size_t *size)
1212 : {
1213 0 : return _asn1_encode(asn1_KDCDHKeyInfo, p, len, data, size);
1214 : }
1215 :
1216 :
1217 : size_t ASN1CALL
1218 0 : length_KDCDHKeyInfo(const KDCDHKeyInfo *data)
1219 : {
1220 0 : return _asn1_length(asn1_KDCDHKeyInfo, data);
1221 : }
1222 :
1223 :
1224 : void ASN1CALL
1225 0 : free_KDCDHKeyInfo(KDCDHKeyInfo *data)
1226 : {
1227 0 : _asn1_free_top(asn1_KDCDHKeyInfo, data);
1228 0 : }
1229 :
1230 :
1231 : int ASN1CALL
1232 0 : copy_KDCDHKeyInfo(const KDCDHKeyInfo *from, KDCDHKeyInfo *to)
1233 : {
1234 0 : return _asn1_copy_top(asn1_KDCDHKeyInfo, from, to);
1235 : }
1236 :
1237 :
1238 : char * ASN1CALL
1239 0 : print_KDCDHKeyInfo(const KDCDHKeyInfo *data, int flags)
1240 : {
1241 0 : return _asn1_print_top(asn1_KDCDHKeyInfo, flags, data);
1242 : }
1243 :
1244 : /* template_members: ReplyKeyPack exp exp */
1245 : /* tsequence: members isstruct: 1 */
1246 : /* template_members: ReplyKeyPack exp exp */
1247 : /* generate_template_type: ReplyKeyPack_tag_replyKey_58 */
1248 : const struct asn1_template asn1_ReplyKeyPack_tag_replyKey_58[] = {
1249 : /* 0 */ { 0, sizeof(EncryptionKey), ((void *)(uintptr_t)1) },
1250 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_EncryptionKey}
1251 : };
1252 : /* template_members: ReplyKeyPack exp exp */
1253 : /* generate_template_type: ReplyKeyPack_tag_asChecksum_59 */
1254 : const struct asn1_template asn1_ReplyKeyPack_tag_asChecksum_59[] = {
1255 : /* 0 */ { 0, sizeof(Checksum), ((void *)(uintptr_t)1) },
1256 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Checksum}
1257 : };
1258 : /* generate_template_type: ReplyKeyPack_tag__57 */
1259 : const struct asn1_template asn1_ReplyKeyPack_tag__57[] = {
1260 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct ReplyKeyPack), ((void *)(uintptr_t)6) },
1261 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct ReplyKeyPack, replyKey), asn1_ReplyKeyPack_tag_replyKey_58 },
1262 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct ReplyKeyPack, asChecksum), asn1_ReplyKeyPack_tag_asChecksum_59 },
1263 : /* 3 */ { A1_OP_NAME, 0, "ReplyKeyPack" },
1264 : /* 4 */ { A1_OP_NAME, 0, "replyKey" },
1265 : /* 5 */ { A1_OP_NAME, 0, "asChecksum" },
1266 : /* 6 */ { A1_OP_NAME, 0, "..." }
1267 : };
1268 : /* generate_template_type: ReplyKeyPack */
1269 : const struct asn1_template asn1_ReplyKeyPack[] = {
1270 : /* 0 */ { 0, sizeof(ReplyKeyPack), ((void *)(uintptr_t)1) },
1271 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ReplyKeyPack_tag__57 }
1272 : };
1273 :
1274 : int ASN1CALL
1275 0 : decode_ReplyKeyPack(const unsigned char *p, size_t len, ReplyKeyPack *data, size_t *size)
1276 : {
1277 0 : memset(data, 0, sizeof(*data));
1278 0 : return _asn1_decode_top(asn1_ReplyKeyPack, 0|0, p, len, data, size);
1279 : }
1280 :
1281 :
1282 : int ASN1CALL
1283 0 : encode_ReplyKeyPack(unsigned char *p, size_t len, const ReplyKeyPack *data, size_t *size)
1284 : {
1285 0 : return _asn1_encode(asn1_ReplyKeyPack, p, len, data, size);
1286 : }
1287 :
1288 :
1289 : size_t ASN1CALL
1290 0 : length_ReplyKeyPack(const ReplyKeyPack *data)
1291 : {
1292 0 : return _asn1_length(asn1_ReplyKeyPack, data);
1293 : }
1294 :
1295 :
1296 : void ASN1CALL
1297 0 : free_ReplyKeyPack(ReplyKeyPack *data)
1298 : {
1299 0 : _asn1_free_top(asn1_ReplyKeyPack, data);
1300 0 : }
1301 :
1302 :
1303 : int ASN1CALL
1304 0 : copy_ReplyKeyPack(const ReplyKeyPack *from, ReplyKeyPack *to)
1305 : {
1306 0 : return _asn1_copy_top(asn1_ReplyKeyPack, from, to);
1307 : }
1308 :
1309 :
1310 : char * ASN1CALL
1311 0 : print_ReplyKeyPack(const ReplyKeyPack *data, int flags)
1312 : {
1313 0 : return _asn1_print_top(asn1_ReplyKeyPack, flags, data);
1314 : }
1315 :
1316 : /* template_members: TD_DH_PARAMETERS exp exp */
1317 : /* generate_template_type: AlgorithmIdentifier_seofTstruct_4 */
1318 : /* generate_template_type: TD_DH_PARAMETERS_tag__60 */
1319 : const struct asn1_template asn1_TD_DH_PARAMETERS_tag__60[] = {
1320 : /* 0 */ { 0, sizeof(AlgorithmIdentifier), ((void *)(uintptr_t)1) },
1321 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedCMSTypes_1 }
1322 : };
1323 : /* generate_template_type: TD_DH_PARAMETERS */
1324 : const struct asn1_template asn1_TD_DH_PARAMETERS[] = {
1325 : /* 0 */ { 0, sizeof(TD_DH_PARAMETERS), ((void *)(uintptr_t)1) },
1326 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TD_DH_PARAMETERS_tag__60 }
1327 : };
1328 :
1329 : int ASN1CALL
1330 0 : decode_TD_DH_PARAMETERS(const unsigned char *p, size_t len, TD_DH_PARAMETERS *data, size_t *size)
1331 : {
1332 0 : memset(data, 0, sizeof(*data));
1333 0 : return _asn1_decode_top(asn1_TD_DH_PARAMETERS, 0|0, p, len, data, size);
1334 : }
1335 :
1336 :
1337 : int ASN1CALL
1338 0 : encode_TD_DH_PARAMETERS(unsigned char *p, size_t len, const TD_DH_PARAMETERS *data, size_t *size)
1339 : {
1340 0 : return _asn1_encode(asn1_TD_DH_PARAMETERS, p, len, data, size);
1341 : }
1342 :
1343 :
1344 : size_t ASN1CALL
1345 0 : length_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *data)
1346 : {
1347 0 : return _asn1_length(asn1_TD_DH_PARAMETERS, data);
1348 : }
1349 :
1350 :
1351 : void ASN1CALL
1352 0 : free_TD_DH_PARAMETERS(TD_DH_PARAMETERS *data)
1353 : {
1354 0 : _asn1_free_top(asn1_TD_DH_PARAMETERS, data);
1355 0 : }
1356 :
1357 :
1358 : int ASN1CALL
1359 0 : copy_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *from, TD_DH_PARAMETERS *to)
1360 : {
1361 0 : return _asn1_copy_top(asn1_TD_DH_PARAMETERS, from, to);
1362 : }
1363 :
1364 :
1365 : char * ASN1CALL
1366 0 : print_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *data, int flags)
1367 : {
1368 0 : return _asn1_print_top(asn1_TD_DH_PARAMETERS, flags, data);
1369 : }
1370 :
1371 : /* template_members: PKAuthenticator_Win2k exp exp */
1372 : /* tsequence: members isstruct: 1 */
1373 : /* template_members: PKAuthenticator_Win2k exp exp */
1374 : /* generate_template_type: PKAuthenticator_Win2k_tag_kdcName_62 */
1375 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_kdcName_62[] = {
1376 : /* 0 */ { 0, sizeof(PrincipalName), ((void *)(uintptr_t)1) },
1377 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_PrincipalName}
1378 : };
1379 : /* template_members: PKAuthenticator_Win2k exp exp */
1380 : /* generate_template_type: PKAuthenticator_Win2k_tag_kdcRealm_63 */
1381 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_kdcRealm_63[] = {
1382 : /* 0 */ { 0, sizeof(Realm), ((void *)(uintptr_t)1) },
1383 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Realm}
1384 : };
1385 : /* template_members: PKAuthenticator_Win2k exp exp */
1386 : /* template_members: unsigned exp exp */
1387 : /* generate_template_type: unsigned_tag_cusec_65 */
1388 : /* generate_template_type: PKAuthenticator_Win2k_tag_cusec_64 */
1389 : /* template_members: PKAuthenticator_Win2k exp exp */
1390 : /* generate_template_type: PKAuthenticator_Win2k_tag_ctime_66 */
1391 : /* template_members: PKAuthenticator_Win2k exp exp */
1392 : /* template_members: int exp exp */
1393 : /* generate_template_type: int_tag_nonce_68 */
1394 : const struct asn1_template asn1_int_tag_nonce_68[] = {
1395 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
1396 : /* 1 */ { A1_PARSE_T(A1T_INTEGER), 0, NULL }
1397 : };
1398 : /* generate_template_type: PKAuthenticator_Win2k_tag_nonce_67 */
1399 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_nonce_67[] = {
1400 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
1401 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_int_tag_nonce_68 }
1402 : };
1403 : /* generate_template_type: PKAuthenticator_Win2k_tag__61 */
1404 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag__61[] = {
1405 : /* 0 */ { 0, sizeof(struct PKAuthenticator_Win2k), ((void *)(uintptr_t)11) },
1406 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PKAuthenticator_Win2k, kdcName), asn1_PKAuthenticator_Win2k_tag_kdcName_62 },
1407 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PKAuthenticator_Win2k, kdcRealm), asn1_PKAuthenticator_Win2k_tag_kdcRealm_63 },
1408 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PKAuthenticator_Win2k, cusec), asn1_PKAuthenticator_tag_nonce_30 },
1409 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct PKAuthenticator_Win2k, ctime), asn1_PKAuthenticator_tag_ctime_29 },
1410 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), offsetof(struct PKAuthenticator_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_67 },
1411 : /* 6 */ { A1_OP_NAME, 0, "PKAuthenticator_Win2k" },
1412 : /* 7 */ { A1_OP_NAME, 0, "kdcName" },
1413 : /* 8 */ { A1_OP_NAME, 0, "kdcRealm" },
1414 : /* 9 */ { A1_OP_NAME, 0, "cusec" },
1415 : /* 10 */ { A1_OP_NAME, 0, "ctime" },
1416 : /* 11 */ { A1_OP_NAME, 0, "nonce" }
1417 : };
1418 : /* generate_template_type: PKAuthenticator_Win2k */
1419 : const struct asn1_template asn1_PKAuthenticator_Win2k[] = {
1420 : /* 0 */ { 0, sizeof(PKAuthenticator_Win2k), ((void *)(uintptr_t)1) },
1421 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PKAuthenticator_Win2k_tag__61 }
1422 : };
1423 :
1424 : int ASN1CALL
1425 0 : decode_PKAuthenticator_Win2k(const unsigned char *p, size_t len, PKAuthenticator_Win2k *data, size_t *size)
1426 : {
1427 0 : memset(data, 0, sizeof(*data));
1428 0 : return _asn1_decode_top(asn1_PKAuthenticator_Win2k, 0|0, p, len, data, size);
1429 : }
1430 :
1431 :
1432 : int ASN1CALL
1433 0 : encode_PKAuthenticator_Win2k(unsigned char *p, size_t len, const PKAuthenticator_Win2k *data, size_t *size)
1434 : {
1435 0 : return _asn1_encode(asn1_PKAuthenticator_Win2k, p, len, data, size);
1436 : }
1437 :
1438 :
1439 : size_t ASN1CALL
1440 0 : length_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *data)
1441 : {
1442 0 : return _asn1_length(asn1_PKAuthenticator_Win2k, data);
1443 : }
1444 :
1445 :
1446 : void ASN1CALL
1447 0 : free_PKAuthenticator_Win2k(PKAuthenticator_Win2k *data)
1448 : {
1449 0 : _asn1_free_top(asn1_PKAuthenticator_Win2k, data);
1450 0 : }
1451 :
1452 :
1453 : int ASN1CALL
1454 0 : copy_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *from, PKAuthenticator_Win2k *to)
1455 : {
1456 0 : return _asn1_copy_top(asn1_PKAuthenticator_Win2k, from, to);
1457 : }
1458 :
1459 :
1460 : char * ASN1CALL
1461 0 : print_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *data, int flags)
1462 : {
1463 0 : return _asn1_print_top(asn1_PKAuthenticator_Win2k, flags, data);
1464 : }
1465 :
1466 : /* template_members: AuthPack_Win2k exp exp */
1467 : /* tsequence: members isstruct: 1 */
1468 : /* template_members: AuthPack_Win2k exp exp */
1469 : /* generate_template_type: AuthPack_Win2k_tag_pkAuthenticator_70 */
1470 : const struct asn1_template asn1_AuthPack_Win2k_tag_pkAuthenticator_70[] = {
1471 : /* 0 */ { 0, sizeof(PKAuthenticator_Win2k), ((void *)(uintptr_t)1) },
1472 : /* 1 */ { A1_OP_TYPE , 0, asn1_PKAuthenticator_Win2k }
1473 : };
1474 : /* template_members: AuthPack_Win2k exp exp */
1475 : /* generate_template_type: AuthPack_Win2k_tag_clientPublicValue_71 */
1476 : /* generate_template_type: AuthPack_Win2k_tag__69 */
1477 : const struct asn1_template asn1_AuthPack_Win2k_tag__69[] = {
1478 : /* 0 */ { 0, sizeof(struct AuthPack_Win2k), ((void *)(uintptr_t)5) },
1479 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct AuthPack_Win2k, pkAuthenticator), asn1_AuthPack_Win2k_tag_pkAuthenticator_70 },
1480 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack_Win2k, clientPublicValue), asn1_AuthPack_tag_clientPublicValue_36 },
1481 : /* 3 */ { A1_OP_NAME, 0, "AuthPack_Win2k" },
1482 : /* 4 */ { A1_OP_NAME, 0, "pkAuthenticator" },
1483 : /* 5 */ { A1_OP_NAME, 0, "clientPublicValue" }
1484 : };
1485 : /* generate_template_type: AuthPack_Win2k */
1486 : const struct asn1_template asn1_AuthPack_Win2k[] = {
1487 : /* 0 */ { 0, sizeof(AuthPack_Win2k), ((void *)(uintptr_t)1) },
1488 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_Win2k_tag__69 }
1489 : };
1490 :
1491 : int ASN1CALL
1492 0 : decode_AuthPack_Win2k(const unsigned char *p, size_t len, AuthPack_Win2k *data, size_t *size)
1493 : {
1494 0 : memset(data, 0, sizeof(*data));
1495 0 : return _asn1_decode_top(asn1_AuthPack_Win2k, 0|0, p, len, data, size);
1496 : }
1497 :
1498 :
1499 : int ASN1CALL
1500 0 : encode_AuthPack_Win2k(unsigned char *p, size_t len, const AuthPack_Win2k *data, size_t *size)
1501 : {
1502 0 : return _asn1_encode(asn1_AuthPack_Win2k, p, len, data, size);
1503 : }
1504 :
1505 :
1506 : size_t ASN1CALL
1507 0 : length_AuthPack_Win2k(const AuthPack_Win2k *data)
1508 : {
1509 0 : return _asn1_length(asn1_AuthPack_Win2k, data);
1510 : }
1511 :
1512 :
1513 : void ASN1CALL
1514 0 : free_AuthPack_Win2k(AuthPack_Win2k *data)
1515 : {
1516 0 : _asn1_free_top(asn1_AuthPack_Win2k, data);
1517 0 : }
1518 :
1519 :
1520 : int ASN1CALL
1521 0 : copy_AuthPack_Win2k(const AuthPack_Win2k *from, AuthPack_Win2k *to)
1522 : {
1523 0 : return _asn1_copy_top(asn1_AuthPack_Win2k, from, to);
1524 : }
1525 :
1526 :
1527 : char * ASN1CALL
1528 0 : print_AuthPack_Win2k(const AuthPack_Win2k *data, int flags)
1529 : {
1530 0 : return _asn1_print_top(asn1_AuthPack_Win2k, flags, data);
1531 : }
1532 :
1533 : /* template_members: HEIM_ANY exp exp */
1534 : /* generate_template_type: HEIM_ANY_tag__72 */
1535 : const struct asn1_template asn1_HEIM_ANY_tag__72[] = {
1536 : /* 0 */ { 0, sizeof(HEIM_ANY), ((void *)(uintptr_t)1) },
1537 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_HEIM_ANY}
1538 : };
1539 : /* generate_template_type: TrustedCA_Win2k_choice_caName */
1540 : const struct asn1_template asn1_TrustedCA_Win2k_choice_caName[] = {
1541 : /* 0 */ { 0, sizeof(HEIM_ANY), ((void *)(uintptr_t)1) },
1542 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_HEIM_ANY_tag__72 }
1543 : };
1544 : /* template_members: IssuerAndSerialNumber exp exp */
1545 : /* generate_template_type: IssuerAndSerialNumber_tag__73 */
1546 : const struct asn1_template asn1_IssuerAndSerialNumber_tag__73[] = {
1547 : /* 0 */ { 0, sizeof(IssuerAndSerialNumber), ((void *)(uintptr_t)1) },
1548 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_IssuerAndSerialNumber}
1549 : };
1550 : /* generate_template_type: TrustedCA_Win2k_choice_issuerAndSerial */
1551 : const struct asn1_template asn1_TrustedCA_Win2k_choice_issuerAndSerial[] = {
1552 : /* 0 */ { 0, sizeof(IssuerAndSerialNumber), ((void *)(uintptr_t)1) },
1553 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_IssuerAndSerialNumber_tag__73 }
1554 : };
1555 : static const struct asn1_template asn1_choice_TrustedCA_Win2k_1[] = {
1556 : /* 0 */ { 0, offsetof(TrustedCA_Win2k, element), ((void *)(uintptr_t)4) },
1557 : /* 1 */ { choice_TrustedCA_Win2k_caName, offsetof(TrustedCA_Win2k, u.caName), asn1_TrustedCA_Win2k_choice_caName },
1558 : /* 2 */ { choice_TrustedCA_Win2k_issuerAndSerial, offsetof(TrustedCA_Win2k, u.issuerAndSerial), asn1_TrustedCA_Win2k_choice_issuerAndSerial },
1559 : /* 3 */ { 0, 0, "caName" },
1560 : /* 4 */ { 0, 0, "issuerAndSerial" }
1561 : };
1562 : /* generate_template_type: TrustedCA_Win2k */
1563 : const struct asn1_template asn1_TrustedCA_Win2k[] = {
1564 : /* 0 */ { 0, sizeof(TrustedCA_Win2k), ((void *)(uintptr_t)1) },
1565 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_TrustedCA_Win2k_1 }
1566 : };
1567 :
1568 : int ASN1CALL
1569 0 : decode_TrustedCA_Win2k(const unsigned char *p, size_t len, TrustedCA_Win2k *data, size_t *size)
1570 : {
1571 0 : memset(data, 0, sizeof(*data));
1572 0 : return _asn1_decode_top(asn1_TrustedCA_Win2k, 0|0, p, len, data, size);
1573 : }
1574 :
1575 :
1576 : int ASN1CALL
1577 0 : encode_TrustedCA_Win2k(unsigned char *p, size_t len, const TrustedCA_Win2k *data, size_t *size)
1578 : {
1579 0 : return _asn1_encode(asn1_TrustedCA_Win2k, p, len, data, size);
1580 : }
1581 :
1582 :
1583 : size_t ASN1CALL
1584 0 : length_TrustedCA_Win2k(const TrustedCA_Win2k *data)
1585 : {
1586 0 : return _asn1_length(asn1_TrustedCA_Win2k, data);
1587 : }
1588 :
1589 :
1590 : void ASN1CALL
1591 0 : free_TrustedCA_Win2k(TrustedCA_Win2k *data)
1592 : {
1593 0 : _asn1_free_top(asn1_TrustedCA_Win2k, data);
1594 0 : }
1595 :
1596 :
1597 : int ASN1CALL
1598 0 : copy_TrustedCA_Win2k(const TrustedCA_Win2k *from, TrustedCA_Win2k *to)
1599 : {
1600 0 : return _asn1_copy_top(asn1_TrustedCA_Win2k, from, to);
1601 : }
1602 :
1603 :
1604 : char * ASN1CALL
1605 0 : print_TrustedCA_Win2k(const TrustedCA_Win2k *data, int flags)
1606 : {
1607 0 : return _asn1_print_top(asn1_TrustedCA_Win2k, flags, data);
1608 : }
1609 :
1610 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1611 : /* tsequence: members isstruct: 1 */
1612 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1613 : /* template_members: heim_octet_string exp exp */
1614 : /* generate_template_type: heim_octet_string_tag_signed_auth_pack_76 */
1615 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_signed_auth_pack_75 */
1616 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1617 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1618 : /* generate_template_type: PA_PK_AS_REQ_Win2k_trusted_certifiers_5 */
1619 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_trusted_certifiers_5[] = {
1620 : /* 0 */ { 0, sizeof(TrustedCA_Win2k), ((void *)(uintptr_t)1) },
1621 : /* 1 */ { A1_OP_TYPE , 0, asn1_TrustedCA_Win2k }
1622 : };
1623 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_78 */
1624 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_78[] = {
1625 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k_trusted_certifiers), ((void *)(uintptr_t)1) },
1626 : /* 1 */ { A1_OP_SEQOF, 0, asn1_PA_PK_AS_REQ_Win2k_trusted_certifiers_5 }
1627 : };
1628 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_77 */
1629 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_77[] = {
1630 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k_trusted_certifiers), ((void *)(uintptr_t)1) },
1631 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_78 }
1632 : };
1633 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1634 : /* template_members: heim_octet_string exp exp */
1635 : /* generate_template_type: heim_octet_string_tag_kdc_cert_80 */
1636 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_kdc_cert_79 */
1637 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1638 : /* template_members: heim_octet_string exp exp */
1639 : /* generate_template_type: heim_octet_string_tag_encryption_cert_82 */
1640 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_encryption_cert_81 */
1641 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag__74 */
1642 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag__74[] = {
1643 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k), ((void *)(uintptr_t)9) },
1644 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, offsetof(struct PA_PK_AS_REQ_Win2k, signed_auth_pack), asn1_TrustedCA_tag_caName_6 },
1645 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REQ_Win2k, trusted_certifiers), asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_77 },
1646 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,3)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PA_PK_AS_REQ_Win2k, kdc_cert), asn1_TrustedCA_tag_caName_6 },
1647 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,4)|A1_FLAG_OPTIONAL|A1_FLAG_IMPLICIT, offsetof(struct PA_PK_AS_REQ_Win2k, encryption_cert), asn1_TrustedCA_tag_caName_6 },
1648 : /* 5 */ { A1_OP_NAME, 0, "PA_PK_AS_REQ_Win2k" },
1649 : /* 6 */ { A1_OP_NAME, 0, "signed-auth-pack" },
1650 : /* 7 */ { A1_OP_NAME, 0, "trusted-certifiers" },
1651 : /* 8 */ { A1_OP_NAME, 0, "kdc-cert" },
1652 : /* 9 */ { A1_OP_NAME, 0, "encryption-cert" }
1653 : };
1654 : /* generate_template_type: PA_PK_AS_REQ_Win2k */
1655 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k[] = {
1656 : /* 0 */ { 0, sizeof(PA_PK_AS_REQ_Win2k), ((void *)(uintptr_t)1) },
1657 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REQ_Win2k_tag__74 }
1658 : };
1659 :
1660 : int ASN1CALL
1661 0 : decode_PA_PK_AS_REQ_Win2k(const unsigned char *p, size_t len, PA_PK_AS_REQ_Win2k *data, size_t *size)
1662 : {
1663 0 : memset(data, 0, sizeof(*data));
1664 0 : return _asn1_decode_top(asn1_PA_PK_AS_REQ_Win2k, 0|0, p, len, data, size);
1665 : }
1666 :
1667 :
1668 : int ASN1CALL
1669 0 : encode_PA_PK_AS_REQ_Win2k(unsigned char *p, size_t len, const PA_PK_AS_REQ_Win2k *data, size_t *size)
1670 : {
1671 0 : return _asn1_encode(asn1_PA_PK_AS_REQ_Win2k, p, len, data, size);
1672 : }
1673 :
1674 :
1675 : size_t ASN1CALL
1676 0 : length_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *data)
1677 : {
1678 0 : return _asn1_length(asn1_PA_PK_AS_REQ_Win2k, data);
1679 : }
1680 :
1681 :
1682 : void ASN1CALL
1683 0 : free_PA_PK_AS_REQ_Win2k(PA_PK_AS_REQ_Win2k *data)
1684 : {
1685 0 : _asn1_free_top(asn1_PA_PK_AS_REQ_Win2k, data);
1686 0 : }
1687 :
1688 :
1689 : int ASN1CALL
1690 0 : copy_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *from, PA_PK_AS_REQ_Win2k *to)
1691 : {
1692 0 : return _asn1_copy_top(asn1_PA_PK_AS_REQ_Win2k, from, to);
1693 : }
1694 :
1695 :
1696 : char * ASN1CALL
1697 0 : print_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *data, int flags)
1698 : {
1699 0 : return _asn1_print_top(asn1_PA_PK_AS_REQ_Win2k, flags, data);
1700 : }
1701 :
1702 : /* template_members: heim_octet_string imp imp */
1703 : /* template_members: heim_octet_string exp exp */
1704 : /* generate_template_type: heim_octet_string_tag__84 */
1705 : /* generate_template_type: heim_octet_string_tag__83 */
1706 : /* generate_template_type: PA_PK_AS_REP_Win2k_choice_dhSignedData */
1707 : const struct asn1_template asn1_PA_PK_AS_REP_Win2k_choice_dhSignedData[] = {
1708 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
1709 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, 0, asn1_TrustedCA_tag_caName_6 }
1710 : };
1711 : /* template_members: heim_octet_string imp imp */
1712 : /* template_members: heim_octet_string exp exp */
1713 : /* generate_template_type: heim_octet_string_tag__86 */
1714 : /* generate_template_type: heim_octet_string_tag__85 */
1715 : /* generate_template_type: PA_PK_AS_REP_Win2k_choice_encKeyPack */
1716 : static const struct asn1_template asn1_choice_PA_PK_AS_REP_Win2k_2[] = {
1717 : /* 0 */ { 0, offsetof(PA_PK_AS_REP_Win2k, element), ((void *)(uintptr_t)4) },
1718 : /* 1 */ { choice_PA_PK_AS_REP_Win2k_dhSignedData, offsetof(PA_PK_AS_REP_Win2k, u.dhSignedData), asn1_PA_PK_AS_REP_Win2k_choice_dhSignedData },
1719 : /* 2 */ { choice_PA_PK_AS_REP_Win2k_encKeyPack, offsetof(PA_PK_AS_REP_Win2k, u.encKeyPack), asn1_PA_PK_AS_REP_choice_encKeyPack },
1720 : /* 3 */ { 0, 0, "dhSignedData" },
1721 : /* 4 */ { 0, 0, "encKeyPack" }
1722 : };
1723 : /* generate_template_type: PA_PK_AS_REP_Win2k */
1724 : const struct asn1_template asn1_PA_PK_AS_REP_Win2k[] = {
1725 : /* 0 */ { 0, sizeof(PA_PK_AS_REP_Win2k), ((void *)(uintptr_t)1) },
1726 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_PA_PK_AS_REP_Win2k_2 }
1727 : };
1728 :
1729 : int ASN1CALL
1730 0 : decode_PA_PK_AS_REP_Win2k(const unsigned char *p, size_t len, PA_PK_AS_REP_Win2k *data, size_t *size)
1731 : {
1732 0 : memset(data, 0, sizeof(*data));
1733 0 : return _asn1_decode_top(asn1_PA_PK_AS_REP_Win2k, 0|0, p, len, data, size);
1734 : }
1735 :
1736 :
1737 : int ASN1CALL
1738 0 : encode_PA_PK_AS_REP_Win2k(unsigned char *p, size_t len, const PA_PK_AS_REP_Win2k *data, size_t *size)
1739 : {
1740 0 : return _asn1_encode(asn1_PA_PK_AS_REP_Win2k, p, len, data, size);
1741 : }
1742 :
1743 :
1744 : size_t ASN1CALL
1745 0 : length_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *data)
1746 : {
1747 0 : return _asn1_length(asn1_PA_PK_AS_REP_Win2k, data);
1748 : }
1749 :
1750 :
1751 : void ASN1CALL
1752 0 : free_PA_PK_AS_REP_Win2k(PA_PK_AS_REP_Win2k *data)
1753 : {
1754 0 : _asn1_free_top(asn1_PA_PK_AS_REP_Win2k, data);
1755 0 : }
1756 :
1757 :
1758 : int ASN1CALL
1759 0 : copy_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *from, PA_PK_AS_REP_Win2k *to)
1760 : {
1761 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP_Win2k, from, to);
1762 : }
1763 :
1764 :
1765 : char * ASN1CALL
1766 0 : print_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *data, int flags)
1767 : {
1768 0 : return _asn1_print_top(asn1_PA_PK_AS_REP_Win2k, flags, data);
1769 : }
1770 :
1771 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1772 : /* tsequence: members isstruct: 1 */
1773 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1774 : /* template_members: int exp exp */
1775 : /* generate_template_type: int_tag_nonce_89 */
1776 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_nonce_88 */
1777 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1778 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1779 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_subjectPublicKey_91 */
1780 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_91[] = {
1781 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1782 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1783 : };
1784 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_subjectPublicKey_90 */
1785 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_90[] = {
1786 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1787 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_91 }
1788 : };
1789 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag__87 */
1790 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag__87[] = {
1791 : /* 0 */ { 0, sizeof(struct KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)5) },
1792 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KDCDHKeyInfo_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_67 },
1793 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct KDCDHKeyInfo_Win2k, subjectPublicKey), asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_90 },
1794 : /* 3 */ { A1_OP_NAME, 0, "KDCDHKeyInfo_Win2k" },
1795 : /* 4 */ { A1_OP_NAME, 0, "nonce" },
1796 : /* 5 */ { A1_OP_NAME, 0, "subjectPublicKey" }
1797 : };
1798 : /* generate_template_type: KDCDHKeyInfo_Win2k */
1799 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k[] = {
1800 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1801 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KDCDHKeyInfo_Win2k_tag__87 }
1802 : };
1803 :
1804 : int ASN1CALL
1805 0 : decode_KDCDHKeyInfo_Win2k(const unsigned char *p, size_t len, KDCDHKeyInfo_Win2k *data, size_t *size)
1806 : {
1807 0 : memset(data, 0, sizeof(*data));
1808 0 : return _asn1_decode_top(asn1_KDCDHKeyInfo_Win2k, 0|0, p, len, data, size);
1809 : }
1810 :
1811 :
1812 : int ASN1CALL
1813 0 : encode_KDCDHKeyInfo_Win2k(unsigned char *p, size_t len, const KDCDHKeyInfo_Win2k *data, size_t *size)
1814 : {
1815 0 : return _asn1_encode(asn1_KDCDHKeyInfo_Win2k, p, len, data, size);
1816 : }
1817 :
1818 :
1819 : size_t ASN1CALL
1820 0 : length_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *data)
1821 : {
1822 0 : return _asn1_length(asn1_KDCDHKeyInfo_Win2k, data);
1823 : }
1824 :
1825 :
1826 : void ASN1CALL
1827 0 : free_KDCDHKeyInfo_Win2k(KDCDHKeyInfo_Win2k *data)
1828 : {
1829 0 : _asn1_free_top(asn1_KDCDHKeyInfo_Win2k, data);
1830 0 : }
1831 :
1832 :
1833 : int ASN1CALL
1834 0 : copy_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *from, KDCDHKeyInfo_Win2k *to)
1835 : {
1836 0 : return _asn1_copy_top(asn1_KDCDHKeyInfo_Win2k, from, to);
1837 : }
1838 :
1839 :
1840 : char * ASN1CALL
1841 0 : print_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *data, int flags)
1842 : {
1843 0 : return _asn1_print_top(asn1_KDCDHKeyInfo_Win2k, flags, data);
1844 : }
1845 :
1846 : /* template_members: ReplyKeyPack_Win2k exp exp */
1847 : /* tsequence: members isstruct: 1 */
1848 : /* template_members: ReplyKeyPack_Win2k exp exp */
1849 : /* generate_template_type: ReplyKeyPack_Win2k_tag_replyKey_93 */
1850 : /* template_members: ReplyKeyPack_Win2k exp exp */
1851 : /* template_members: int exp exp */
1852 : /* generate_template_type: int_tag_nonce_95 */
1853 : /* generate_template_type: ReplyKeyPack_Win2k_tag_nonce_94 */
1854 : /* generate_template_type: ReplyKeyPack_Win2k_tag__92 */
1855 : const struct asn1_template asn1_ReplyKeyPack_Win2k_tag__92[] = {
1856 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct ReplyKeyPack_Win2k), ((void *)(uintptr_t)6) },
1857 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct ReplyKeyPack_Win2k, replyKey), asn1_ReplyKeyPack_tag_replyKey_58 },
1858 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct ReplyKeyPack_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_67 },
1859 : /* 3 */ { A1_OP_NAME, 0, "ReplyKeyPack_Win2k" },
1860 : /* 4 */ { A1_OP_NAME, 0, "replyKey" },
1861 : /* 5 */ { A1_OP_NAME, 0, "nonce" },
1862 : /* 6 */ { A1_OP_NAME, 0, "..." }
1863 : };
1864 : /* generate_template_type: ReplyKeyPack_Win2k */
1865 : const struct asn1_template asn1_ReplyKeyPack_Win2k[] = {
1866 : /* 0 */ { 0, sizeof(ReplyKeyPack_Win2k), ((void *)(uintptr_t)1) },
1867 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ReplyKeyPack_Win2k_tag__92 }
1868 : };
1869 :
1870 : int ASN1CALL
1871 0 : decode_ReplyKeyPack_Win2k(const unsigned char *p, size_t len, ReplyKeyPack_Win2k *data, size_t *size)
1872 : {
1873 0 : memset(data, 0, sizeof(*data));
1874 0 : return _asn1_decode_top(asn1_ReplyKeyPack_Win2k, 0|0, p, len, data, size);
1875 : }
1876 :
1877 :
1878 : int ASN1CALL
1879 0 : encode_ReplyKeyPack_Win2k(unsigned char *p, size_t len, const ReplyKeyPack_Win2k *data, size_t *size)
1880 : {
1881 0 : return _asn1_encode(asn1_ReplyKeyPack_Win2k, p, len, data, size);
1882 : }
1883 :
1884 :
1885 : size_t ASN1CALL
1886 0 : length_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *data)
1887 : {
1888 0 : return _asn1_length(asn1_ReplyKeyPack_Win2k, data);
1889 : }
1890 :
1891 :
1892 : void ASN1CALL
1893 0 : free_ReplyKeyPack_Win2k(ReplyKeyPack_Win2k *data)
1894 : {
1895 0 : _asn1_free_top(asn1_ReplyKeyPack_Win2k, data);
1896 0 : }
1897 :
1898 :
1899 : int ASN1CALL
1900 0 : copy_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *from, ReplyKeyPack_Win2k *to)
1901 : {
1902 0 : return _asn1_copy_top(asn1_ReplyKeyPack_Win2k, from, to);
1903 : }
1904 :
1905 :
1906 : char * ASN1CALL
1907 0 : print_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *data, int flags)
1908 : {
1909 0 : return _asn1_print_top(asn1_ReplyKeyPack_Win2k, flags, data);
1910 : }
1911 :
1912 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1913 : /* tsequence: members isstruct: 1 */
1914 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1915 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag_dhSignedData_97 */
1916 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1917 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag_encKeyPack_98 */
1918 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag__96 */
1919 : const struct asn1_template asn1_PA_PK_AS_REP_BTMM_tag__96[] = {
1920 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REP_BTMM), ((void *)(uintptr_t)5) },
1921 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REP_BTMM, dhSignedData), asn1_HEIM_ANY_tag__72 },
1922 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REP_BTMM, encKeyPack), asn1_HEIM_ANY_tag__72 },
1923 : /* 3 */ { A1_OP_NAME, 0, "PA_PK_AS_REP_BTMM" },
1924 : /* 4 */ { A1_OP_NAME, 0, "dhSignedData" },
1925 : /* 5 */ { A1_OP_NAME, 0, "encKeyPack" }
1926 : };
1927 : /* generate_template_type: PA_PK_AS_REP_BTMM */
1928 : const struct asn1_template asn1_PA_PK_AS_REP_BTMM[] = {
1929 : /* 0 */ { 0, sizeof(PA_PK_AS_REP_BTMM), ((void *)(uintptr_t)1) },
1930 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REP_BTMM_tag__96 }
1931 : };
1932 :
1933 : int ASN1CALL
1934 0 : decode_PA_PK_AS_REP_BTMM(const unsigned char *p, size_t len, PA_PK_AS_REP_BTMM *data, size_t *size)
1935 : {
1936 0 : memset(data, 0, sizeof(*data));
1937 0 : return _asn1_decode_top(asn1_PA_PK_AS_REP_BTMM, 0|0, p, len, data, size);
1938 : }
1939 :
1940 :
1941 : int ASN1CALL
1942 0 : encode_PA_PK_AS_REP_BTMM(unsigned char *p, size_t len, const PA_PK_AS_REP_BTMM *data, size_t *size)
1943 : {
1944 0 : return _asn1_encode(asn1_PA_PK_AS_REP_BTMM, p, len, data, size);
1945 : }
1946 :
1947 :
1948 : size_t ASN1CALL
1949 0 : length_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *data)
1950 : {
1951 0 : return _asn1_length(asn1_PA_PK_AS_REP_BTMM, data);
1952 : }
1953 :
1954 :
1955 : void ASN1CALL
1956 0 : free_PA_PK_AS_REP_BTMM(PA_PK_AS_REP_BTMM *data)
1957 : {
1958 0 : _asn1_free_top(asn1_PA_PK_AS_REP_BTMM, data);
1959 0 : }
1960 :
1961 :
1962 : int ASN1CALL
1963 0 : copy_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *from, PA_PK_AS_REP_BTMM *to)
1964 : {
1965 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP_BTMM, from, to);
1966 : }
1967 :
1968 :
1969 : char * ASN1CALL
1970 0 : print_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *data, int flags)
1971 : {
1972 0 : return _asn1_print_top(asn1_PA_PK_AS_REP_BTMM, flags, data);
1973 : }
1974 :
1975 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1976 : /* tsequence: members isstruct: 1 */
1977 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1978 : /* template_members: heim_octet_string exp exp */
1979 : /* generate_template_type: heim_octet_string_tag_partyUInfo_101 */
1980 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_partyUInfo_100 */
1981 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1982 : /* template_members: heim_octet_string exp exp */
1983 : /* generate_template_type: heim_octet_string_tag_partyVInfo_103 */
1984 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_partyVInfo_102 */
1985 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1986 : /* template_members: heim_octet_string exp exp */
1987 : /* generate_template_type: heim_octet_string_tag_suppPubInfo_105 */
1988 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_suppPubInfo_104 */
1989 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1990 : /* template_members: heim_octet_string exp exp */
1991 : /* generate_template_type: heim_octet_string_tag_suppPrivInfo_107 */
1992 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_suppPrivInfo_106 */
1993 : /* generate_template_type: PkinitSP80056AOtherInfo_tag__99 */
1994 : const struct asn1_template asn1_PkinitSP80056AOtherInfo_tag__99[] = {
1995 : /* 0 */ { 0, sizeof(struct PkinitSP80056AOtherInfo), ((void *)(uintptr_t)11) },
1996 : /* 1 */ { A1_OP_TYPE_EXTERN , offsetof(struct PkinitSP80056AOtherInfo, algorithmID), &asn1_extern_AlgorithmIdentifier},
1997 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PkinitSP80056AOtherInfo, partyUInfo), asn1_TrustedCA_tag_caName_6 },
1998 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PkinitSP80056AOtherInfo, partyVInfo), asn1_TrustedCA_tag_caName_6 },
1999 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct PkinitSP80056AOtherInfo, suppPubInfo), asn1_TrustedCA_tag_caName_6 },
2000 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct PkinitSP80056AOtherInfo, suppPrivInfo), asn1_TrustedCA_tag_caName_6 },
2001 : /* 6 */ { A1_OP_NAME, 0, "PkinitSP80056AOtherInfo" },
2002 : /* 7 */ { A1_OP_NAME, 0, "algorithmID" },
2003 : /* 8 */ { A1_OP_NAME, 0, "partyUInfo" },
2004 : /* 9 */ { A1_OP_NAME, 0, "partyVInfo" },
2005 : /* 10 */ { A1_OP_NAME, 0, "suppPubInfo" },
2006 : /* 11 */ { A1_OP_NAME, 0, "suppPrivInfo" }
2007 : };
2008 : /* generate_template_type: PkinitSP80056AOtherInfo */
2009 : const struct asn1_template asn1_PkinitSP80056AOtherInfo[] = {
2010 : /* 0 */ { 0, sizeof(PkinitSP80056AOtherInfo), ((void *)(uintptr_t)1) },
2011 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PkinitSP80056AOtherInfo_tag__99 }
2012 : };
2013 :
2014 : int ASN1CALL
2015 0 : decode_PkinitSP80056AOtherInfo(const unsigned char *p, size_t len, PkinitSP80056AOtherInfo *data, size_t *size)
2016 : {
2017 0 : memset(data, 0, sizeof(*data));
2018 0 : return _asn1_decode_top(asn1_PkinitSP80056AOtherInfo, 0|0, p, len, data, size);
2019 : }
2020 :
2021 :
2022 : int ASN1CALL
2023 0 : encode_PkinitSP80056AOtherInfo(unsigned char *p, size_t len, const PkinitSP80056AOtherInfo *data, size_t *size)
2024 : {
2025 0 : return _asn1_encode(asn1_PkinitSP80056AOtherInfo, p, len, data, size);
2026 : }
2027 :
2028 :
2029 : size_t ASN1CALL
2030 0 : length_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *data)
2031 : {
2032 0 : return _asn1_length(asn1_PkinitSP80056AOtherInfo, data);
2033 : }
2034 :
2035 :
2036 : void ASN1CALL
2037 0 : free_PkinitSP80056AOtherInfo(PkinitSP80056AOtherInfo *data)
2038 : {
2039 0 : _asn1_free_top(asn1_PkinitSP80056AOtherInfo, data);
2040 0 : }
2041 :
2042 :
2043 : int ASN1CALL
2044 0 : copy_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *from, PkinitSP80056AOtherInfo *to)
2045 : {
2046 0 : return _asn1_copy_top(asn1_PkinitSP80056AOtherInfo, from, to);
2047 : }
2048 :
2049 :
2050 : char * ASN1CALL
2051 0 : print_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *data, int flags)
2052 : {
2053 0 : return _asn1_print_top(asn1_PkinitSP80056AOtherInfo, flags, data);
2054 : }
2055 :
2056 : /* template_members: PkinitSuppPubInfo exp exp */
2057 : /* tsequence: members isstruct: 1 */
2058 : /* template_members: PkinitSuppPubInfo exp exp */
2059 : /* template_members: int exp exp */
2060 : /* generate_template_type: int_tag_enctype_110 */
2061 : /* generate_template_type: PkinitSuppPubInfo_tag_enctype_109 */
2062 : /* template_members: PkinitSuppPubInfo exp exp */
2063 : /* template_members: heim_octet_string exp exp */
2064 : /* generate_template_type: heim_octet_string_tag_as_REQ_112 */
2065 : /* generate_template_type: PkinitSuppPubInfo_tag_as_REQ_111 */
2066 : /* template_members: PkinitSuppPubInfo exp exp */
2067 : /* template_members: heim_octet_string exp exp */
2068 : /* generate_template_type: heim_octet_string_tag_pk_as_rep_114 */
2069 : /* generate_template_type: PkinitSuppPubInfo_tag_pk_as_rep_113 */
2070 : /* template_members: PkinitSuppPubInfo exp exp */
2071 : /* generate_template_type: PkinitSuppPubInfo_tag_ticket_115 */
2072 : const struct asn1_template asn1_PkinitSuppPubInfo_tag_ticket_115[] = {
2073 : /* 0 */ { 0, sizeof(Ticket), ((void *)(uintptr_t)1) },
2074 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Ticket}
2075 : };
2076 : /* generate_template_type: PkinitSuppPubInfo_tag__108 */
2077 : const struct asn1_template asn1_PkinitSuppPubInfo_tag__108[] = {
2078 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct PkinitSuppPubInfo), ((void *)(uintptr_t)10) },
2079 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PkinitSuppPubInfo, enctype), asn1_PKAuthenticator_Win2k_tag_nonce_67 },
2080 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PkinitSuppPubInfo, as_REQ), asn1_TrustedCA_tag_caName_6 },
2081 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PkinitSuppPubInfo, pk_as_rep), asn1_TrustedCA_tag_caName_6 },
2082 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct PkinitSuppPubInfo, ticket), asn1_PkinitSuppPubInfo_tag_ticket_115 },
2083 : /* 5 */ { A1_OP_NAME, 0, "PkinitSuppPubInfo" },
2084 : /* 6 */ { A1_OP_NAME, 0, "enctype" },
2085 : /* 7 */ { A1_OP_NAME, 0, "as-REQ" },
2086 : /* 8 */ { A1_OP_NAME, 0, "pk-as-rep" },
2087 : /* 9 */ { A1_OP_NAME, 0, "ticket" },
2088 : /* 10 */ { A1_OP_NAME, 0, "..." }
2089 : };
2090 : /* generate_template_type: PkinitSuppPubInfo */
2091 : const struct asn1_template asn1_PkinitSuppPubInfo[] = {
2092 : /* 0 */ { 0, sizeof(PkinitSuppPubInfo), ((void *)(uintptr_t)1) },
2093 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PkinitSuppPubInfo_tag__108 }
2094 : };
2095 :
2096 : int ASN1CALL
2097 0 : decode_PkinitSuppPubInfo(const unsigned char *p, size_t len, PkinitSuppPubInfo *data, size_t *size)
2098 : {
2099 0 : memset(data, 0, sizeof(*data));
2100 0 : return _asn1_decode_top(asn1_PkinitSuppPubInfo, 0|0, p, len, data, size);
2101 : }
2102 :
2103 :
2104 : int ASN1CALL
2105 0 : encode_PkinitSuppPubInfo(unsigned char *p, size_t len, const PkinitSuppPubInfo *data, size_t *size)
2106 : {
2107 0 : return _asn1_encode(asn1_PkinitSuppPubInfo, p, len, data, size);
2108 : }
2109 :
2110 :
2111 : size_t ASN1CALL
2112 0 : length_PkinitSuppPubInfo(const PkinitSuppPubInfo *data)
2113 : {
2114 0 : return _asn1_length(asn1_PkinitSuppPubInfo, data);
2115 : }
2116 :
2117 :
2118 : void ASN1CALL
2119 0 : free_PkinitSuppPubInfo(PkinitSuppPubInfo *data)
2120 : {
2121 0 : _asn1_free_top(asn1_PkinitSuppPubInfo, data);
2122 0 : }
2123 :
2124 :
2125 : int ASN1CALL
2126 0 : copy_PkinitSuppPubInfo(const PkinitSuppPubInfo *from, PkinitSuppPubInfo *to)
2127 : {
2128 0 : return _asn1_copy_top(asn1_PkinitSuppPubInfo, from, to);
2129 : }
2130 :
2131 :
2132 : char * ASN1CALL
2133 0 : print_PkinitSuppPubInfo(const PkinitSuppPubInfo *data, int flags)
2134 : {
2135 0 : return _asn1_print_top(asn1_PkinitSuppPubInfo, flags, data);
2136 : }
2137 :
|