Line data Source code
1 : /* Generated from /builds/eaglegai/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 47 : decode_MS_UPN_SAN(const unsigned char *p, size_t len, MS_UPN_SAN *data, size_t *size)
202 : {
203 47 : memset(data, 0, sizeof(*data));
204 47 : 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 47 : free_MS_UPN_SAN(MS_UPN_SAN *data)
224 : {
225 47 : _asn1_free_top(asn1_MS_UPN_SAN, data);
226 47 : }
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 57 : decode_PA_PK_AS_REQ(const unsigned char *p, size_t len, PA_PK_AS_REQ *data, size_t *size)
621 : {
622 57 : memset(data, 0, sizeof(*data));
623 57 : return _asn1_decode_top(asn1_PA_PK_AS_REQ, 0|0, p, len, data, size);
624 : }
625 :
626 :
627 : int ASN1CALL
628 124 : encode_PA_PK_AS_REQ(unsigned char *p, size_t len, const PA_PK_AS_REQ *data, size_t *size)
629 : {
630 124 : return _asn1_encode(asn1_PA_PK_AS_REQ, p, len, data, size);
631 : }
632 :
633 :
634 : size_t ASN1CALL
635 124 : length_PA_PK_AS_REQ(const PA_PK_AS_REQ *data)
636 : {
637 124 : return _asn1_length(asn1_PA_PK_AS_REQ, data);
638 : }
639 :
640 :
641 : void ASN1CALL
642 181 : free_PA_PK_AS_REQ(PA_PK_AS_REQ *data)
643 : {
644 181 : _asn1_free_top(asn1_PA_PK_AS_REQ, data);
645 181 : }
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 : /* template_members: PKAuthenticator exp exp */
690 : /* template_members: heim_octet_string exp exp */
691 : /* generate_template_type: heim_octet_string_tag_freshnessToken_35 */
692 : /* generate_template_type: PKAuthenticator_tag_freshnessToken_34 */
693 : /* generate_template_type: PKAuthenticator_tag__26 */
694 : const struct asn1_template asn1_PKAuthenticator_tag__26[] = {
695 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct PKAuthenticator), ((void *)(uintptr_t)12) },
696 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PKAuthenticator, cusec), asn1_TrustedCA_tag_certificateSerialNumber_8 },
697 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PKAuthenticator, ctime), asn1_PKAuthenticator_tag_ctime_29 },
698 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PKAuthenticator, nonce), asn1_PKAuthenticator_tag_nonce_30 },
699 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct PKAuthenticator, paChecksum), asn1_TrustedCA_tag_caName_6 },
700 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct PKAuthenticator, freshnessToken), asn1_TrustedCA_tag_caName_6 },
701 : /* 6 */ { A1_OP_NAME, 0, "PKAuthenticator" },
702 : /* 7 */ { A1_OP_NAME, 0, "cusec" },
703 : /* 8 */ { A1_OP_NAME, 0, "ctime" },
704 : /* 9 */ { A1_OP_NAME, 0, "nonce" },
705 : /* 10 */ { A1_OP_NAME, 0, "paChecksum" },
706 : /* 11 */ { A1_OP_NAME, 0, "freshnessToken" },
707 : /* 12 */ { A1_OP_NAME, 0, "..." }
708 : };
709 : /* generate_template_type: PKAuthenticator */
710 : const struct asn1_template asn1_PKAuthenticator[] = {
711 : /* 0 */ { 0, sizeof(PKAuthenticator), ((void *)(uintptr_t)1) },
712 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PKAuthenticator_tag__26 }
713 : };
714 :
715 : int ASN1CALL
716 0 : decode_PKAuthenticator(const unsigned char *p, size_t len, PKAuthenticator *data, size_t *size)
717 : {
718 0 : memset(data, 0, sizeof(*data));
719 0 : return _asn1_decode_top(asn1_PKAuthenticator, 0|0, p, len, data, size);
720 : }
721 :
722 :
723 : int ASN1CALL
724 0 : encode_PKAuthenticator(unsigned char *p, size_t len, const PKAuthenticator *data, size_t *size)
725 : {
726 0 : return _asn1_encode(asn1_PKAuthenticator, p, len, data, size);
727 : }
728 :
729 :
730 : size_t ASN1CALL
731 0 : length_PKAuthenticator(const PKAuthenticator *data)
732 : {
733 0 : return _asn1_length(asn1_PKAuthenticator, data);
734 : }
735 :
736 :
737 : void ASN1CALL
738 0 : free_PKAuthenticator(PKAuthenticator *data)
739 : {
740 0 : _asn1_free_top(asn1_PKAuthenticator, data);
741 0 : }
742 :
743 :
744 : int ASN1CALL
745 0 : copy_PKAuthenticator(const PKAuthenticator *from, PKAuthenticator *to)
746 : {
747 0 : return _asn1_copy_top(asn1_PKAuthenticator, from, to);
748 : }
749 :
750 :
751 : char * ASN1CALL
752 0 : print_PKAuthenticator(const PKAuthenticator *data, int flags)
753 : {
754 0 : return _asn1_print_top(asn1_PKAuthenticator, flags, data);
755 : }
756 :
757 : /* template_members: AuthPack exp exp */
758 : /* tsequence: members isstruct: 1 */
759 : /* template_members: AuthPack exp exp */
760 : /* generate_template_type: AuthPack_tag_pkAuthenticator_37 */
761 : const struct asn1_template asn1_AuthPack_tag_pkAuthenticator_37[] = {
762 : /* 0 */ { 0, sizeof(PKAuthenticator), ((void *)(uintptr_t)1) },
763 : /* 1 */ { A1_OP_TYPE , 0, asn1_PKAuthenticator }
764 : };
765 : /* template_members: AuthPack exp exp */
766 : /* generate_template_type: AuthPack_tag_clientPublicValue_38 */
767 : const struct asn1_template asn1_AuthPack_tag_clientPublicValue_38[] = {
768 : /* 0 */ { 0, sizeof(SubjectPublicKeyInfo), ((void *)(uintptr_t)1) },
769 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_SubjectPublicKeyInfo}
770 : };
771 : /* template_members: AuthPack exp exp */
772 : /* template_members: AuthPack exp exp */
773 : /* generate_template_type: AuthPack_supportedCMSTypes_1 */
774 : const struct asn1_template asn1_AuthPack_supportedCMSTypes_1[] = {
775 : /* 0 */ { 0, sizeof(AlgorithmIdentifier), ((void *)(uintptr_t)1) },
776 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_AlgorithmIdentifier}
777 : };
778 : /* generate_template_type: AuthPack_tag_supportedCMSTypes_40 */
779 : const struct asn1_template asn1_AuthPack_tag_supportedCMSTypes_40[] = {
780 : /* 0 */ { 0, sizeof(struct AuthPack_supportedCMSTypes), ((void *)(uintptr_t)1) },
781 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedCMSTypes_1 }
782 : };
783 : /* generate_template_type: AuthPack_tag_supportedCMSTypes_39 */
784 : const struct asn1_template asn1_AuthPack_tag_supportedCMSTypes_39[] = {
785 : /* 0 */ { 0, sizeof(struct AuthPack_supportedCMSTypes), ((void *)(uintptr_t)1) },
786 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag_supportedCMSTypes_40 }
787 : };
788 : /* template_members: AuthPack exp exp */
789 : /* generate_template_type: AuthPack_tag_clientDHNonce_41 */
790 : const struct asn1_template asn1_AuthPack_tag_clientDHNonce_41[] = {
791 : /* 0 */ { 0, sizeof(DHNonce), ((void *)(uintptr_t)1) },
792 : /* 1 */ { A1_OP_TYPE , 0, asn1_DHNonce }
793 : };
794 : /* template_members: AuthPack exp exp */
795 : /* template_members: AuthPack exp exp */
796 : /* generate_template_type: AuthPack_supportedKDFs_2 */
797 : const struct asn1_template asn1_AuthPack_supportedKDFs_2[] = {
798 : /* 0 */ { 0, sizeof(KDFAlgorithmId), ((void *)(uintptr_t)1) },
799 : /* 1 */ { A1_OP_TYPE , 0, asn1_KDFAlgorithmId }
800 : };
801 : /* generate_template_type: AuthPack_tag_supportedKDFs_43 */
802 : const struct asn1_template asn1_AuthPack_tag_supportedKDFs_43[] = {
803 : /* 0 */ { 0, sizeof(struct AuthPack_supportedKDFs), ((void *)(uintptr_t)1) },
804 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedKDFs_2 }
805 : };
806 : /* generate_template_type: AuthPack_tag_supportedKDFs_42 */
807 : const struct asn1_template asn1_AuthPack_tag_supportedKDFs_42[] = {
808 : /* 0 */ { 0, sizeof(struct AuthPack_supportedKDFs), ((void *)(uintptr_t)1) },
809 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag_supportedKDFs_43 }
810 : };
811 : /* generate_template_type: AuthPack_tag__36 */
812 : const struct asn1_template asn1_AuthPack_tag__36[] = {
813 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct AuthPack), ((void *)(uintptr_t)13) },
814 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct AuthPack, pkAuthenticator), asn1_AuthPack_tag_pkAuthenticator_37 },
815 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, clientPublicValue), asn1_AuthPack_tag_clientPublicValue_38 },
816 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, supportedCMSTypes), asn1_AuthPack_tag_supportedCMSTypes_39 },
817 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, clientDHNonce), asn1_AuthPack_tag_clientDHNonce_41 },
818 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack, supportedKDFs), asn1_AuthPack_tag_supportedKDFs_42 },
819 : /* 6 */ { A1_OP_NAME, 0, "AuthPack" },
820 : /* 7 */ { A1_OP_NAME, 0, "pkAuthenticator" },
821 : /* 8 */ { A1_OP_NAME, 0, "clientPublicValue" },
822 : /* 9 */ { A1_OP_NAME, 0, "supportedCMSTypes" },
823 : /* 10 */ { A1_OP_NAME, 0, "clientDHNonce" },
824 : /* 11 */ { A1_OP_NAME, 0, "..." },
825 : /* 12 */ { A1_OP_NAME, 0, "supportedKDFs" },
826 : /* 13 */ { A1_OP_NAME, 0, "..." }
827 : };
828 : /* generate_template_type: AuthPack */
829 : const struct asn1_template asn1_AuthPack[] = {
830 : /* 0 */ { 0, sizeof(AuthPack), ((void *)(uintptr_t)1) },
831 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_tag__36 }
832 : };
833 :
834 : int ASN1CALL
835 55 : decode_AuthPack(const unsigned char *p, size_t len, AuthPack *data, size_t *size)
836 : {
837 55 : memset(data, 0, sizeof(*data));
838 55 : return _asn1_decode_top(asn1_AuthPack, 0|0, p, len, data, size);
839 : }
840 :
841 :
842 : int ASN1CALL
843 124 : encode_AuthPack(unsigned char *p, size_t len, const AuthPack *data, size_t *size)
844 : {
845 124 : return _asn1_encode(asn1_AuthPack, p, len, data, size);
846 : }
847 :
848 :
849 : size_t ASN1CALL
850 124 : length_AuthPack(const AuthPack *data)
851 : {
852 124 : return _asn1_length(asn1_AuthPack, data);
853 : }
854 :
855 :
856 : void ASN1CALL
857 179 : free_AuthPack(AuthPack *data)
858 : {
859 179 : _asn1_free_top(asn1_AuthPack, data);
860 179 : }
861 :
862 :
863 : int ASN1CALL
864 0 : copy_AuthPack(const AuthPack *from, AuthPack *to)
865 : {
866 0 : return _asn1_copy_top(asn1_AuthPack, from, to);
867 : }
868 :
869 :
870 : char * ASN1CALL
871 0 : print_AuthPack(const AuthPack *data, int flags)
872 : {
873 0 : return _asn1_print_top(asn1_AuthPack, flags, data);
874 : }
875 :
876 : /* generate_template_type: TD_TRUSTED_CERTIFIERS */
877 : const struct asn1_template asn1_TD_TRUSTED_CERTIFIERS[] = {
878 : /* 0 */ { 0, sizeof(TD_TRUSTED_CERTIFIERS), ((void *)(uintptr_t)1) },
879 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifiers }
880 : };
881 :
882 : int ASN1CALL
883 0 : decode_TD_TRUSTED_CERTIFIERS(const unsigned char *p, size_t len, TD_TRUSTED_CERTIFIERS *data, size_t *size)
884 : {
885 0 : memset(data, 0, sizeof(*data));
886 0 : return _asn1_decode_top(asn1_TD_TRUSTED_CERTIFIERS, 0|0, p, len, data, size);
887 : }
888 :
889 :
890 : int ASN1CALL
891 0 : encode_TD_TRUSTED_CERTIFIERS(unsigned char *p, size_t len, const TD_TRUSTED_CERTIFIERS *data, size_t *size)
892 : {
893 0 : return _asn1_encode(asn1_TD_TRUSTED_CERTIFIERS, p, len, data, size);
894 : }
895 :
896 :
897 : size_t ASN1CALL
898 0 : length_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *data)
899 : {
900 0 : return _asn1_length(asn1_TD_TRUSTED_CERTIFIERS, data);
901 : }
902 :
903 :
904 : void ASN1CALL
905 0 : free_TD_TRUSTED_CERTIFIERS(TD_TRUSTED_CERTIFIERS *data)
906 : {
907 0 : _asn1_free_top(asn1_TD_TRUSTED_CERTIFIERS, data);
908 0 : }
909 :
910 :
911 : int ASN1CALL
912 0 : copy_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *from, TD_TRUSTED_CERTIFIERS *to)
913 : {
914 0 : return _asn1_copy_top(asn1_TD_TRUSTED_CERTIFIERS, from, to);
915 : }
916 :
917 :
918 : char * ASN1CALL
919 0 : print_TD_TRUSTED_CERTIFIERS(const TD_TRUSTED_CERTIFIERS *data, int flags)
920 : {
921 0 : return _asn1_print_top(asn1_TD_TRUSTED_CERTIFIERS, flags, data);
922 : }
923 :
924 : /* generate_template_type: TD_INVALID_CERTIFICATES */
925 : const struct asn1_template asn1_TD_INVALID_CERTIFICATES[] = {
926 : /* 0 */ { 0, sizeof(TD_INVALID_CERTIFICATES), ((void *)(uintptr_t)1) },
927 : /* 1 */ { A1_OP_TYPE , 0, asn1_ExternalPrincipalIdentifiers }
928 : };
929 :
930 : int ASN1CALL
931 0 : decode_TD_INVALID_CERTIFICATES(const unsigned char *p, size_t len, TD_INVALID_CERTIFICATES *data, size_t *size)
932 : {
933 0 : memset(data, 0, sizeof(*data));
934 0 : return _asn1_decode_top(asn1_TD_INVALID_CERTIFICATES, 0|0, p, len, data, size);
935 : }
936 :
937 :
938 : int ASN1CALL
939 0 : encode_TD_INVALID_CERTIFICATES(unsigned char *p, size_t len, const TD_INVALID_CERTIFICATES *data, size_t *size)
940 : {
941 0 : return _asn1_encode(asn1_TD_INVALID_CERTIFICATES, p, len, data, size);
942 : }
943 :
944 :
945 : size_t ASN1CALL
946 0 : length_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *data)
947 : {
948 0 : return _asn1_length(asn1_TD_INVALID_CERTIFICATES, data);
949 : }
950 :
951 :
952 : void ASN1CALL
953 0 : free_TD_INVALID_CERTIFICATES(TD_INVALID_CERTIFICATES *data)
954 : {
955 0 : _asn1_free_top(asn1_TD_INVALID_CERTIFICATES, data);
956 0 : }
957 :
958 :
959 : int ASN1CALL
960 0 : copy_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *from, TD_INVALID_CERTIFICATES *to)
961 : {
962 0 : return _asn1_copy_top(asn1_TD_INVALID_CERTIFICATES, from, to);
963 : }
964 :
965 :
966 : char * ASN1CALL
967 0 : print_TD_INVALID_CERTIFICATES(const TD_INVALID_CERTIFICATES *data, int flags)
968 : {
969 0 : return _asn1_print_top(asn1_TD_INVALID_CERTIFICATES, flags, data);
970 : }
971 :
972 : /* template_members: AD_INITIAL_VERIFIED_CAS exp exp */
973 : /* generate_template_type: ExternalPrincipalIdentifier_seofTstruct_3 */
974 : /* generate_template_type: AD_INITIAL_VERIFIED_CAS_tag__44 */
975 : /* generate_template_type: AD_INITIAL_VERIFIED_CAS */
976 : const struct asn1_template asn1_AD_INITIAL_VERIFIED_CAS[] = {
977 : /* 0 */ { 0, sizeof(AD_INITIAL_VERIFIED_CAS), ((void *)(uintptr_t)1) },
978 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ExternalPrincipalIdentifiers_tag__19 }
979 : };
980 :
981 : int ASN1CALL
982 0 : decode_AD_INITIAL_VERIFIED_CAS(const unsigned char *p, size_t len, AD_INITIAL_VERIFIED_CAS *data, size_t *size)
983 : {
984 0 : memset(data, 0, sizeof(*data));
985 0 : return _asn1_decode_top(asn1_AD_INITIAL_VERIFIED_CAS, 0|0, p, len, data, size);
986 : }
987 :
988 :
989 : int ASN1CALL
990 45 : encode_AD_INITIAL_VERIFIED_CAS(unsigned char *p, size_t len, const AD_INITIAL_VERIFIED_CAS *data, size_t *size)
991 : {
992 45 : return _asn1_encode(asn1_AD_INITIAL_VERIFIED_CAS, p, len, data, size);
993 : }
994 :
995 :
996 : size_t ASN1CALL
997 45 : length_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *data)
998 : {
999 45 : return _asn1_length(asn1_AD_INITIAL_VERIFIED_CAS, data);
1000 : }
1001 :
1002 :
1003 : void ASN1CALL
1004 0 : free_AD_INITIAL_VERIFIED_CAS(AD_INITIAL_VERIFIED_CAS *data)
1005 : {
1006 0 : _asn1_free_top(asn1_AD_INITIAL_VERIFIED_CAS, data);
1007 0 : }
1008 :
1009 :
1010 : int ASN1CALL
1011 0 : copy_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *from, AD_INITIAL_VERIFIED_CAS *to)
1012 : {
1013 0 : return _asn1_copy_top(asn1_AD_INITIAL_VERIFIED_CAS, from, to);
1014 : }
1015 :
1016 :
1017 : char * ASN1CALL
1018 0 : print_AD_INITIAL_VERIFIED_CAS(const AD_INITIAL_VERIFIED_CAS *data, int flags)
1019 : {
1020 0 : return _asn1_print_top(asn1_AD_INITIAL_VERIFIED_CAS, flags, data);
1021 : }
1022 :
1023 : /* template_members: DHRepInfo exp exp */
1024 : /* tsequence: members isstruct: 1 */
1025 : /* template_members: DHRepInfo exp imp */
1026 : /* template_members: heim_octet_string exp exp */
1027 : /* generate_template_type: heim_octet_string_tag_dhSignedData_47 */
1028 : /* generate_template_type: DHRepInfo_tag_dhSignedData_46 */
1029 : /* template_members: DHRepInfo exp exp */
1030 : /* generate_template_type: DHRepInfo_tag_serverDHNonce_48 */
1031 : /* template_members: DHRepInfo exp exp */
1032 : /* generate_template_type: DHRepInfo_tag_kdf_49 */
1033 : /* generate_template_type: DHRepInfo_tag__45 */
1034 : const struct asn1_template asn1_DHRepInfo_tag__45[] = {
1035 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct DHRepInfo), ((void *)(uintptr_t)9) },
1036 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, offsetof(struct DHRepInfo, dhSignedData), asn1_TrustedCA_tag_caName_6 },
1037 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct DHRepInfo, serverDHNonce), asn1_AuthPack_tag_clientDHNonce_41 },
1038 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct DHRepInfo, kdf), asn1_AuthPack_supportedKDFs_2 },
1039 : /* 4 */ { A1_OP_NAME, 0, "DHRepInfo" },
1040 : /* 5 */ { A1_OP_NAME, 0, "dhSignedData" },
1041 : /* 6 */ { A1_OP_NAME, 0, "serverDHNonce" },
1042 : /* 7 */ { A1_OP_NAME, 0, "..." },
1043 : /* 8 */ { A1_OP_NAME, 0, "kdf" },
1044 : /* 9 */ { A1_OP_NAME, 0, "..." }
1045 : };
1046 : /* generate_template_type: DHRepInfo */
1047 : const struct asn1_template asn1_DHRepInfo[] = {
1048 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1049 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_DHRepInfo_tag__45 }
1050 : };
1051 :
1052 : int ASN1CALL
1053 0 : decode_DHRepInfo(const unsigned char *p, size_t len, DHRepInfo *data, size_t *size)
1054 : {
1055 0 : memset(data, 0, sizeof(*data));
1056 0 : return _asn1_decode_top(asn1_DHRepInfo, 0|0, p, len, data, size);
1057 : }
1058 :
1059 :
1060 : int ASN1CALL
1061 0 : encode_DHRepInfo(unsigned char *p, size_t len, const DHRepInfo *data, size_t *size)
1062 : {
1063 0 : return _asn1_encode(asn1_DHRepInfo, p, len, data, size);
1064 : }
1065 :
1066 :
1067 : size_t ASN1CALL
1068 0 : length_DHRepInfo(const DHRepInfo *data)
1069 : {
1070 0 : return _asn1_length(asn1_DHRepInfo, data);
1071 : }
1072 :
1073 :
1074 : void ASN1CALL
1075 0 : free_DHRepInfo(DHRepInfo *data)
1076 : {
1077 0 : _asn1_free_top(asn1_DHRepInfo, data);
1078 0 : }
1079 :
1080 :
1081 : int ASN1CALL
1082 0 : copy_DHRepInfo(const DHRepInfo *from, DHRepInfo *to)
1083 : {
1084 0 : return _asn1_copy_top(asn1_DHRepInfo, from, to);
1085 : }
1086 :
1087 :
1088 : char * ASN1CALL
1089 0 : print_DHRepInfo(const DHRepInfo *data, int flags)
1090 : {
1091 0 : return _asn1_print_top(asn1_DHRepInfo, flags, data);
1092 : }
1093 :
1094 : /* template_members: DHRepInfo exp exp */
1095 : /* generate_template_type: DHRepInfo_tag__50 */
1096 : const struct asn1_template asn1_DHRepInfo_tag__50[] = {
1097 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1098 : /* 1 */ { A1_OP_TYPE , 0, asn1_DHRepInfo }
1099 : };
1100 : /* generate_template_type: PA_PK_AS_REP_choice_dhInfo */
1101 : const struct asn1_template asn1_PA_PK_AS_REP_choice_dhInfo[] = {
1102 : /* 0 */ { 0, sizeof(DHRepInfo), ((void *)(uintptr_t)1) },
1103 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), 0, asn1_DHRepInfo_tag__50 }
1104 : };
1105 : /* template_members: heim_octet_string imp imp */
1106 : /* template_members: heim_octet_string exp exp */
1107 : /* generate_template_type: heim_octet_string_tag__52 */
1108 : /* generate_template_type: heim_octet_string_tag__51 */
1109 : /* generate_template_type: PA_PK_AS_REP_choice_encKeyPack */
1110 : const struct asn1_template asn1_PA_PK_AS_REP_choice_encKeyPack[] = {
1111 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
1112 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,1)|A1_FLAG_IMPLICIT, 0, asn1_TrustedCA_tag_caName_6 }
1113 : };
1114 : static const struct asn1_template asn1_choice_PA_PK_AS_REP_0[] = {
1115 : /* 0 */ { offsetof(PA_PK_AS_REP, u.asn1_ellipsis), offsetof(PA_PK_AS_REP, element), ((void *)(uintptr_t)5) },
1116 : /* 1 */ { choice_PA_PK_AS_REP_dhInfo, offsetof(PA_PK_AS_REP, u.dhInfo), asn1_PA_PK_AS_REP_choice_dhInfo },
1117 : /* 2 */ { choice_PA_PK_AS_REP_encKeyPack, offsetof(PA_PK_AS_REP, u.encKeyPack), asn1_PA_PK_AS_REP_choice_encKeyPack },
1118 : /* 3 */ { 0, 0, "dhInfo" },
1119 : /* 4 */ { 0, 0, "encKeyPack" },
1120 : /* 5 */ { 0, 0, "..." }
1121 : };
1122 : /* generate_template_type: PA_PK_AS_REP */
1123 : const struct asn1_template asn1_PA_PK_AS_REP[] = {
1124 : /* 0 */ { 0, sizeof(PA_PK_AS_REP), ((void *)(uintptr_t)1) },
1125 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_PA_PK_AS_REP_0 }
1126 : };
1127 :
1128 : int ASN1CALL
1129 13 : decode_PA_PK_AS_REP(const unsigned char *p, size_t len, PA_PK_AS_REP *data, size_t *size)
1130 : {
1131 13 : memset(data, 0, sizeof(*data));
1132 13 : return _asn1_decode_top(asn1_PA_PK_AS_REP, 0|0, p, len, data, size);
1133 : }
1134 :
1135 :
1136 : int ASN1CALL
1137 41 : encode_PA_PK_AS_REP(unsigned char *p, size_t len, const PA_PK_AS_REP *data, size_t *size)
1138 : {
1139 41 : return _asn1_encode(asn1_PA_PK_AS_REP, p, len, data, size);
1140 : }
1141 :
1142 :
1143 : size_t ASN1CALL
1144 41 : length_PA_PK_AS_REP(const PA_PK_AS_REP *data)
1145 : {
1146 41 : return _asn1_length(asn1_PA_PK_AS_REP, data);
1147 : }
1148 :
1149 :
1150 : void ASN1CALL
1151 54 : free_PA_PK_AS_REP(PA_PK_AS_REP *data)
1152 : {
1153 54 : _asn1_free_top(asn1_PA_PK_AS_REP, data);
1154 54 : }
1155 :
1156 :
1157 : int ASN1CALL
1158 0 : copy_PA_PK_AS_REP(const PA_PK_AS_REP *from, PA_PK_AS_REP *to)
1159 : {
1160 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP, from, to);
1161 : }
1162 :
1163 :
1164 : char * ASN1CALL
1165 0 : print_PA_PK_AS_REP(const PA_PK_AS_REP *data, int flags)
1166 : {
1167 0 : return _asn1_print_top(asn1_PA_PK_AS_REP, flags, data);
1168 : }
1169 :
1170 : /* template_members: KDCDHKeyInfo exp exp */
1171 : /* tsequence: members isstruct: 1 */
1172 : /* template_members: KDCDHKeyInfo exp exp */
1173 : /* template_members: KDCDHKeyInfo exp exp */
1174 : /* generate_template_type: KDCDHKeyInfo_tag_subjectPublicKey_55 */
1175 : const struct asn1_template asn1_KDCDHKeyInfo_tag_subjectPublicKey_55[] = {
1176 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1177 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1178 : };
1179 : /* generate_template_type: KDCDHKeyInfo_tag_subjectPublicKey_54 */
1180 : const struct asn1_template asn1_KDCDHKeyInfo_tag_subjectPublicKey_54[] = {
1181 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1182 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_KDCDHKeyInfo_tag_subjectPublicKey_55 }
1183 : };
1184 : /* template_members: KDCDHKeyInfo exp exp */
1185 : /* template_members: unsigned exp exp */
1186 : /* generate_template_type: unsigned_tag_nonce_57 */
1187 : /* generate_template_type: KDCDHKeyInfo_tag_nonce_56 */
1188 : /* template_members: KDCDHKeyInfo exp exp */
1189 : /* generate_template_type: KDCDHKeyInfo_tag_dhKeyExpiration_58 */
1190 : /* generate_template_type: KDCDHKeyInfo_tag__53 */
1191 : const struct asn1_template asn1_KDCDHKeyInfo_tag__53[] = {
1192 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct KDCDHKeyInfo), ((void *)(uintptr_t)8) },
1193 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KDCDHKeyInfo, subjectPublicKey), asn1_KDCDHKeyInfo_tag_subjectPublicKey_54 },
1194 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct KDCDHKeyInfo, nonce), asn1_PKAuthenticator_tag_nonce_30 },
1195 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct KDCDHKeyInfo, dhKeyExpiration), asn1_PKAuthenticator_tag_ctime_29 },
1196 : /* 4 */ { A1_OP_NAME, 0, "KDCDHKeyInfo" },
1197 : /* 5 */ { A1_OP_NAME, 0, "subjectPublicKey" },
1198 : /* 6 */ { A1_OP_NAME, 0, "nonce" },
1199 : /* 7 */ { A1_OP_NAME, 0, "dhKeyExpiration" },
1200 : /* 8 */ { A1_OP_NAME, 0, "..." }
1201 : };
1202 : /* generate_template_type: KDCDHKeyInfo */
1203 : const struct asn1_template asn1_KDCDHKeyInfo[] = {
1204 : /* 0 */ { 0, sizeof(KDCDHKeyInfo), ((void *)(uintptr_t)1) },
1205 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KDCDHKeyInfo_tag__53 }
1206 : };
1207 :
1208 : int ASN1CALL
1209 13 : decode_KDCDHKeyInfo(const unsigned char *p, size_t len, KDCDHKeyInfo *data, size_t *size)
1210 : {
1211 13 : memset(data, 0, sizeof(*data));
1212 13 : return _asn1_decode_top(asn1_KDCDHKeyInfo, 0|0, p, len, data, size);
1213 : }
1214 :
1215 :
1216 : int ASN1CALL
1217 24 : encode_KDCDHKeyInfo(unsigned char *p, size_t len, const KDCDHKeyInfo *data, size_t *size)
1218 : {
1219 24 : return _asn1_encode(asn1_KDCDHKeyInfo, p, len, data, size);
1220 : }
1221 :
1222 :
1223 : size_t ASN1CALL
1224 24 : length_KDCDHKeyInfo(const KDCDHKeyInfo *data)
1225 : {
1226 24 : return _asn1_length(asn1_KDCDHKeyInfo, data);
1227 : }
1228 :
1229 :
1230 : void ASN1CALL
1231 37 : free_KDCDHKeyInfo(KDCDHKeyInfo *data)
1232 : {
1233 37 : _asn1_free_top(asn1_KDCDHKeyInfo, data);
1234 37 : }
1235 :
1236 :
1237 : int ASN1CALL
1238 0 : copy_KDCDHKeyInfo(const KDCDHKeyInfo *from, KDCDHKeyInfo *to)
1239 : {
1240 0 : return _asn1_copy_top(asn1_KDCDHKeyInfo, from, to);
1241 : }
1242 :
1243 :
1244 : char * ASN1CALL
1245 0 : print_KDCDHKeyInfo(const KDCDHKeyInfo *data, int flags)
1246 : {
1247 0 : return _asn1_print_top(asn1_KDCDHKeyInfo, flags, data);
1248 : }
1249 :
1250 : /* template_members: ReplyKeyPack exp exp */
1251 : /* tsequence: members isstruct: 1 */
1252 : /* template_members: ReplyKeyPack exp exp */
1253 : /* generate_template_type: ReplyKeyPack_tag_replyKey_60 */
1254 : const struct asn1_template asn1_ReplyKeyPack_tag_replyKey_60[] = {
1255 : /* 0 */ { 0, sizeof(EncryptionKey), ((void *)(uintptr_t)1) },
1256 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_EncryptionKey}
1257 : };
1258 : /* template_members: ReplyKeyPack exp exp */
1259 : /* generate_template_type: ReplyKeyPack_tag_asChecksum_61 */
1260 : const struct asn1_template asn1_ReplyKeyPack_tag_asChecksum_61[] = {
1261 : /* 0 */ { 0, sizeof(Checksum), ((void *)(uintptr_t)1) },
1262 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Checksum}
1263 : };
1264 : /* generate_template_type: ReplyKeyPack_tag__59 */
1265 : const struct asn1_template asn1_ReplyKeyPack_tag__59[] = {
1266 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct ReplyKeyPack), ((void *)(uintptr_t)6) },
1267 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct ReplyKeyPack, replyKey), asn1_ReplyKeyPack_tag_replyKey_60 },
1268 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct ReplyKeyPack, asChecksum), asn1_ReplyKeyPack_tag_asChecksum_61 },
1269 : /* 3 */ { A1_OP_NAME, 0, "ReplyKeyPack" },
1270 : /* 4 */ { A1_OP_NAME, 0, "replyKey" },
1271 : /* 5 */ { A1_OP_NAME, 0, "asChecksum" },
1272 : /* 6 */ { A1_OP_NAME, 0, "..." }
1273 : };
1274 : /* generate_template_type: ReplyKeyPack */
1275 : const struct asn1_template asn1_ReplyKeyPack[] = {
1276 : /* 0 */ { 0, sizeof(ReplyKeyPack), ((void *)(uintptr_t)1) },
1277 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ReplyKeyPack_tag__59 }
1278 : };
1279 :
1280 : int ASN1CALL
1281 0 : decode_ReplyKeyPack(const unsigned char *p, size_t len, ReplyKeyPack *data, size_t *size)
1282 : {
1283 0 : memset(data, 0, sizeof(*data));
1284 0 : return _asn1_decode_top(asn1_ReplyKeyPack, 0|0, p, len, data, size);
1285 : }
1286 :
1287 :
1288 : int ASN1CALL
1289 21 : encode_ReplyKeyPack(unsigned char *p, size_t len, const ReplyKeyPack *data, size_t *size)
1290 : {
1291 21 : return _asn1_encode(asn1_ReplyKeyPack, p, len, data, size);
1292 : }
1293 :
1294 :
1295 : size_t ASN1CALL
1296 21 : length_ReplyKeyPack(const ReplyKeyPack *data)
1297 : {
1298 21 : return _asn1_length(asn1_ReplyKeyPack, data);
1299 : }
1300 :
1301 :
1302 : void ASN1CALL
1303 21 : free_ReplyKeyPack(ReplyKeyPack *data)
1304 : {
1305 21 : _asn1_free_top(asn1_ReplyKeyPack, data);
1306 21 : }
1307 :
1308 :
1309 : int ASN1CALL
1310 0 : copy_ReplyKeyPack(const ReplyKeyPack *from, ReplyKeyPack *to)
1311 : {
1312 0 : return _asn1_copy_top(asn1_ReplyKeyPack, from, to);
1313 : }
1314 :
1315 :
1316 : char * ASN1CALL
1317 0 : print_ReplyKeyPack(const ReplyKeyPack *data, int flags)
1318 : {
1319 0 : return _asn1_print_top(asn1_ReplyKeyPack, flags, data);
1320 : }
1321 :
1322 : /* template_members: TD_DH_PARAMETERS exp exp */
1323 : /* generate_template_type: AlgorithmIdentifier_seofTstruct_4 */
1324 : /* generate_template_type: TD_DH_PARAMETERS_tag__62 */
1325 : const struct asn1_template asn1_TD_DH_PARAMETERS_tag__62[] = {
1326 : /* 0 */ { 0, sizeof(AlgorithmIdentifier), ((void *)(uintptr_t)1) },
1327 : /* 1 */ { A1_OP_SEQOF, 0, asn1_AuthPack_supportedCMSTypes_1 }
1328 : };
1329 : /* generate_template_type: TD_DH_PARAMETERS */
1330 : const struct asn1_template asn1_TD_DH_PARAMETERS[] = {
1331 : /* 0 */ { 0, sizeof(TD_DH_PARAMETERS), ((void *)(uintptr_t)1) },
1332 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_TD_DH_PARAMETERS_tag__62 }
1333 : };
1334 :
1335 : int ASN1CALL
1336 0 : decode_TD_DH_PARAMETERS(const unsigned char *p, size_t len, TD_DH_PARAMETERS *data, size_t *size)
1337 : {
1338 0 : memset(data, 0, sizeof(*data));
1339 0 : return _asn1_decode_top(asn1_TD_DH_PARAMETERS, 0|0, p, len, data, size);
1340 : }
1341 :
1342 :
1343 : int ASN1CALL
1344 0 : encode_TD_DH_PARAMETERS(unsigned char *p, size_t len, const TD_DH_PARAMETERS *data, size_t *size)
1345 : {
1346 0 : return _asn1_encode(asn1_TD_DH_PARAMETERS, p, len, data, size);
1347 : }
1348 :
1349 :
1350 : size_t ASN1CALL
1351 0 : length_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *data)
1352 : {
1353 0 : return _asn1_length(asn1_TD_DH_PARAMETERS, data);
1354 : }
1355 :
1356 :
1357 : void ASN1CALL
1358 0 : free_TD_DH_PARAMETERS(TD_DH_PARAMETERS *data)
1359 : {
1360 0 : _asn1_free_top(asn1_TD_DH_PARAMETERS, data);
1361 0 : }
1362 :
1363 :
1364 : int ASN1CALL
1365 0 : copy_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *from, TD_DH_PARAMETERS *to)
1366 : {
1367 0 : return _asn1_copy_top(asn1_TD_DH_PARAMETERS, from, to);
1368 : }
1369 :
1370 :
1371 : char * ASN1CALL
1372 0 : print_TD_DH_PARAMETERS(const TD_DH_PARAMETERS *data, int flags)
1373 : {
1374 0 : return _asn1_print_top(asn1_TD_DH_PARAMETERS, flags, data);
1375 : }
1376 :
1377 : /* template_members: PKAuthenticator_Win2k exp exp */
1378 : /* tsequence: members isstruct: 1 */
1379 : /* template_members: PKAuthenticator_Win2k exp exp */
1380 : /* generate_template_type: PKAuthenticator_Win2k_tag_kdcName_64 */
1381 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_kdcName_64[] = {
1382 : /* 0 */ { 0, sizeof(PrincipalName), ((void *)(uintptr_t)1) },
1383 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_PrincipalName}
1384 : };
1385 : /* template_members: PKAuthenticator_Win2k exp exp */
1386 : /* generate_template_type: PKAuthenticator_Win2k_tag_kdcRealm_65 */
1387 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_kdcRealm_65[] = {
1388 : /* 0 */ { 0, sizeof(Realm), ((void *)(uintptr_t)1) },
1389 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Realm}
1390 : };
1391 : /* template_members: PKAuthenticator_Win2k exp exp */
1392 : /* template_members: unsigned exp exp */
1393 : /* generate_template_type: unsigned_tag_cusec_67 */
1394 : /* generate_template_type: PKAuthenticator_Win2k_tag_cusec_66 */
1395 : /* template_members: PKAuthenticator_Win2k exp exp */
1396 : /* generate_template_type: PKAuthenticator_Win2k_tag_ctime_68 */
1397 : /* template_members: PKAuthenticator_Win2k exp exp */
1398 : /* template_members: int exp exp */
1399 : /* generate_template_type: int_tag_nonce_70 */
1400 : const struct asn1_template asn1_int_tag_nonce_70[] = {
1401 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
1402 : /* 1 */ { A1_PARSE_T(A1T_INTEGER), 0, NULL }
1403 : };
1404 : /* generate_template_type: PKAuthenticator_Win2k_tag_nonce_69 */
1405 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag_nonce_69[] = {
1406 : /* 0 */ { 0, sizeof(int), ((void *)(uintptr_t)1) },
1407 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_Integer), 0, asn1_int_tag_nonce_70 }
1408 : };
1409 : /* generate_template_type: PKAuthenticator_Win2k_tag__63 */
1410 : const struct asn1_template asn1_PKAuthenticator_Win2k_tag__63[] = {
1411 : /* 0 */ { 0, sizeof(struct PKAuthenticator_Win2k), ((void *)(uintptr_t)11) },
1412 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PKAuthenticator_Win2k, kdcName), asn1_PKAuthenticator_Win2k_tag_kdcName_64 },
1413 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PKAuthenticator_Win2k, kdcRealm), asn1_PKAuthenticator_Win2k_tag_kdcRealm_65 },
1414 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PKAuthenticator_Win2k, cusec), asn1_PKAuthenticator_tag_nonce_30 },
1415 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct PKAuthenticator_Win2k, ctime), asn1_PKAuthenticator_tag_ctime_29 },
1416 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,4), offsetof(struct PKAuthenticator_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_69 },
1417 : /* 6 */ { A1_OP_NAME, 0, "PKAuthenticator_Win2k" },
1418 : /* 7 */ { A1_OP_NAME, 0, "kdcName" },
1419 : /* 8 */ { A1_OP_NAME, 0, "kdcRealm" },
1420 : /* 9 */ { A1_OP_NAME, 0, "cusec" },
1421 : /* 10 */ { A1_OP_NAME, 0, "ctime" },
1422 : /* 11 */ { A1_OP_NAME, 0, "nonce" }
1423 : };
1424 : /* generate_template_type: PKAuthenticator_Win2k */
1425 : const struct asn1_template asn1_PKAuthenticator_Win2k[] = {
1426 : /* 0 */ { 0, sizeof(PKAuthenticator_Win2k), ((void *)(uintptr_t)1) },
1427 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PKAuthenticator_Win2k_tag__63 }
1428 : };
1429 :
1430 : int ASN1CALL
1431 0 : decode_PKAuthenticator_Win2k(const unsigned char *p, size_t len, PKAuthenticator_Win2k *data, size_t *size)
1432 : {
1433 0 : memset(data, 0, sizeof(*data));
1434 0 : return _asn1_decode_top(asn1_PKAuthenticator_Win2k, 0|0, p, len, data, size);
1435 : }
1436 :
1437 :
1438 : int ASN1CALL
1439 0 : encode_PKAuthenticator_Win2k(unsigned char *p, size_t len, const PKAuthenticator_Win2k *data, size_t *size)
1440 : {
1441 0 : return _asn1_encode(asn1_PKAuthenticator_Win2k, p, len, data, size);
1442 : }
1443 :
1444 :
1445 : size_t ASN1CALL
1446 0 : length_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *data)
1447 : {
1448 0 : return _asn1_length(asn1_PKAuthenticator_Win2k, data);
1449 : }
1450 :
1451 :
1452 : void ASN1CALL
1453 0 : free_PKAuthenticator_Win2k(PKAuthenticator_Win2k *data)
1454 : {
1455 0 : _asn1_free_top(asn1_PKAuthenticator_Win2k, data);
1456 0 : }
1457 :
1458 :
1459 : int ASN1CALL
1460 0 : copy_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *from, PKAuthenticator_Win2k *to)
1461 : {
1462 0 : return _asn1_copy_top(asn1_PKAuthenticator_Win2k, from, to);
1463 : }
1464 :
1465 :
1466 : char * ASN1CALL
1467 0 : print_PKAuthenticator_Win2k(const PKAuthenticator_Win2k *data, int flags)
1468 : {
1469 0 : return _asn1_print_top(asn1_PKAuthenticator_Win2k, flags, data);
1470 : }
1471 :
1472 : /* template_members: AuthPack_Win2k exp exp */
1473 : /* tsequence: members isstruct: 1 */
1474 : /* template_members: AuthPack_Win2k exp exp */
1475 : /* generate_template_type: AuthPack_Win2k_tag_pkAuthenticator_72 */
1476 : const struct asn1_template asn1_AuthPack_Win2k_tag_pkAuthenticator_72[] = {
1477 : /* 0 */ { 0, sizeof(PKAuthenticator_Win2k), ((void *)(uintptr_t)1) },
1478 : /* 1 */ { A1_OP_TYPE , 0, asn1_PKAuthenticator_Win2k }
1479 : };
1480 : /* template_members: AuthPack_Win2k exp exp */
1481 : /* generate_template_type: AuthPack_Win2k_tag_clientPublicValue_73 */
1482 : /* generate_template_type: AuthPack_Win2k_tag__71 */
1483 : const struct asn1_template asn1_AuthPack_Win2k_tag__71[] = {
1484 : /* 0 */ { 0, sizeof(struct AuthPack_Win2k), ((void *)(uintptr_t)5) },
1485 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct AuthPack_Win2k, pkAuthenticator), asn1_AuthPack_Win2k_tag_pkAuthenticator_72 },
1486 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct AuthPack_Win2k, clientPublicValue), asn1_AuthPack_tag_clientPublicValue_38 },
1487 : /* 3 */ { A1_OP_NAME, 0, "AuthPack_Win2k" },
1488 : /* 4 */ { A1_OP_NAME, 0, "pkAuthenticator" },
1489 : /* 5 */ { A1_OP_NAME, 0, "clientPublicValue" }
1490 : };
1491 : /* generate_template_type: AuthPack_Win2k */
1492 : const struct asn1_template asn1_AuthPack_Win2k[] = {
1493 : /* 0 */ { 0, sizeof(AuthPack_Win2k), ((void *)(uintptr_t)1) },
1494 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_AuthPack_Win2k_tag__71 }
1495 : };
1496 :
1497 : int ASN1CALL
1498 4 : decode_AuthPack_Win2k(const unsigned char *p, size_t len, AuthPack_Win2k *data, size_t *size)
1499 : {
1500 4 : memset(data, 0, sizeof(*data));
1501 4 : return _asn1_decode_top(asn1_AuthPack_Win2k, 0|0, p, len, data, size);
1502 : }
1503 :
1504 :
1505 : int ASN1CALL
1506 0 : encode_AuthPack_Win2k(unsigned char *p, size_t len, const AuthPack_Win2k *data, size_t *size)
1507 : {
1508 0 : return _asn1_encode(asn1_AuthPack_Win2k, p, len, data, size);
1509 : }
1510 :
1511 :
1512 : size_t ASN1CALL
1513 0 : length_AuthPack_Win2k(const AuthPack_Win2k *data)
1514 : {
1515 0 : return _asn1_length(asn1_AuthPack_Win2k, data);
1516 : }
1517 :
1518 :
1519 : void ASN1CALL
1520 4 : free_AuthPack_Win2k(AuthPack_Win2k *data)
1521 : {
1522 4 : _asn1_free_top(asn1_AuthPack_Win2k, data);
1523 4 : }
1524 :
1525 :
1526 : int ASN1CALL
1527 0 : copy_AuthPack_Win2k(const AuthPack_Win2k *from, AuthPack_Win2k *to)
1528 : {
1529 0 : return _asn1_copy_top(asn1_AuthPack_Win2k, from, to);
1530 : }
1531 :
1532 :
1533 : char * ASN1CALL
1534 0 : print_AuthPack_Win2k(const AuthPack_Win2k *data, int flags)
1535 : {
1536 0 : return _asn1_print_top(asn1_AuthPack_Win2k, flags, data);
1537 : }
1538 :
1539 : /* template_members: HEIM_ANY exp exp */
1540 : /* generate_template_type: HEIM_ANY_tag__74 */
1541 : const struct asn1_template asn1_HEIM_ANY_tag__74[] = {
1542 : /* 0 */ { 0, sizeof(HEIM_ANY), ((void *)(uintptr_t)1) },
1543 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_HEIM_ANY}
1544 : };
1545 : /* generate_template_type: TrustedCA_Win2k_choice_caName */
1546 : const struct asn1_template asn1_TrustedCA_Win2k_choice_caName[] = {
1547 : /* 0 */ { 0, sizeof(HEIM_ANY), ((void *)(uintptr_t)1) },
1548 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), 0, asn1_HEIM_ANY_tag__74 }
1549 : };
1550 : /* template_members: IssuerAndSerialNumber exp exp */
1551 : /* generate_template_type: IssuerAndSerialNumber_tag__75 */
1552 : const struct asn1_template asn1_IssuerAndSerialNumber_tag__75[] = {
1553 : /* 0 */ { 0, sizeof(IssuerAndSerialNumber), ((void *)(uintptr_t)1) },
1554 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_IssuerAndSerialNumber}
1555 : };
1556 : /* generate_template_type: TrustedCA_Win2k_choice_issuerAndSerial */
1557 : const struct asn1_template asn1_TrustedCA_Win2k_choice_issuerAndSerial[] = {
1558 : /* 0 */ { 0, sizeof(IssuerAndSerialNumber), ((void *)(uintptr_t)1) },
1559 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), 0, asn1_IssuerAndSerialNumber_tag__75 }
1560 : };
1561 : static const struct asn1_template asn1_choice_TrustedCA_Win2k_1[] = {
1562 : /* 0 */ { 0, offsetof(TrustedCA_Win2k, element), ((void *)(uintptr_t)4) },
1563 : /* 1 */ { choice_TrustedCA_Win2k_caName, offsetof(TrustedCA_Win2k, u.caName), asn1_TrustedCA_Win2k_choice_caName },
1564 : /* 2 */ { choice_TrustedCA_Win2k_issuerAndSerial, offsetof(TrustedCA_Win2k, u.issuerAndSerial), asn1_TrustedCA_Win2k_choice_issuerAndSerial },
1565 : /* 3 */ { 0, 0, "caName" },
1566 : /* 4 */ { 0, 0, "issuerAndSerial" }
1567 : };
1568 : /* generate_template_type: TrustedCA_Win2k */
1569 : const struct asn1_template asn1_TrustedCA_Win2k[] = {
1570 : /* 0 */ { 0, sizeof(TrustedCA_Win2k), ((void *)(uintptr_t)1) },
1571 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_TrustedCA_Win2k_1 }
1572 : };
1573 :
1574 : int ASN1CALL
1575 0 : decode_TrustedCA_Win2k(const unsigned char *p, size_t len, TrustedCA_Win2k *data, size_t *size)
1576 : {
1577 0 : memset(data, 0, sizeof(*data));
1578 0 : return _asn1_decode_top(asn1_TrustedCA_Win2k, 0|0, p, len, data, size);
1579 : }
1580 :
1581 :
1582 : int ASN1CALL
1583 0 : encode_TrustedCA_Win2k(unsigned char *p, size_t len, const TrustedCA_Win2k *data, size_t *size)
1584 : {
1585 0 : return _asn1_encode(asn1_TrustedCA_Win2k, p, len, data, size);
1586 : }
1587 :
1588 :
1589 : size_t ASN1CALL
1590 0 : length_TrustedCA_Win2k(const TrustedCA_Win2k *data)
1591 : {
1592 0 : return _asn1_length(asn1_TrustedCA_Win2k, data);
1593 : }
1594 :
1595 :
1596 : void ASN1CALL
1597 0 : free_TrustedCA_Win2k(TrustedCA_Win2k *data)
1598 : {
1599 0 : _asn1_free_top(asn1_TrustedCA_Win2k, data);
1600 0 : }
1601 :
1602 :
1603 : int ASN1CALL
1604 0 : copy_TrustedCA_Win2k(const TrustedCA_Win2k *from, TrustedCA_Win2k *to)
1605 : {
1606 0 : return _asn1_copy_top(asn1_TrustedCA_Win2k, from, to);
1607 : }
1608 :
1609 :
1610 : char * ASN1CALL
1611 0 : print_TrustedCA_Win2k(const TrustedCA_Win2k *data, int flags)
1612 : {
1613 0 : return _asn1_print_top(asn1_TrustedCA_Win2k, flags, data);
1614 : }
1615 :
1616 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1617 : /* tsequence: members isstruct: 1 */
1618 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1619 : /* template_members: heim_octet_string exp exp */
1620 : /* generate_template_type: heim_octet_string_tag_signed_auth_pack_78 */
1621 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_signed_auth_pack_77 */
1622 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1623 : /* template_members: PA_PK_AS_REQ_Win2k exp exp */
1624 : /* generate_template_type: PA_PK_AS_REQ_Win2k_trusted_certifiers_5 */
1625 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_trusted_certifiers_5[] = {
1626 : /* 0 */ { 0, sizeof(TrustedCA_Win2k), ((void *)(uintptr_t)1) },
1627 : /* 1 */ { A1_OP_TYPE , 0, asn1_TrustedCA_Win2k }
1628 : };
1629 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_80 */
1630 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_80[] = {
1631 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k_trusted_certifiers), ((void *)(uintptr_t)1) },
1632 : /* 1 */ { A1_OP_SEQOF, 0, asn1_PA_PK_AS_REQ_Win2k_trusted_certifiers_5 }
1633 : };
1634 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_79 */
1635 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_79[] = {
1636 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k_trusted_certifiers), ((void *)(uintptr_t)1) },
1637 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REQ_Win2k_tag_trusted_certifiers_80 }
1638 : };
1639 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1640 : /* template_members: heim_octet_string exp exp */
1641 : /* generate_template_type: heim_octet_string_tag_kdc_cert_82 */
1642 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_kdc_cert_81 */
1643 : /* template_members: PA_PK_AS_REQ_Win2k exp imp */
1644 : /* template_members: heim_octet_string exp exp */
1645 : /* generate_template_type: heim_octet_string_tag_encryption_cert_84 */
1646 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag_encryption_cert_83 */
1647 : /* generate_template_type: PA_PK_AS_REQ_Win2k_tag__76 */
1648 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k_tag__76[] = {
1649 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REQ_Win2k), ((void *)(uintptr_t)9) },
1650 : /* 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 },
1651 : /* 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_79 },
1652 : /* 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 },
1653 : /* 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 },
1654 : /* 5 */ { A1_OP_NAME, 0, "PA_PK_AS_REQ_Win2k" },
1655 : /* 6 */ { A1_OP_NAME, 0, "signed-auth-pack" },
1656 : /* 7 */ { A1_OP_NAME, 0, "trusted-certifiers" },
1657 : /* 8 */ { A1_OP_NAME, 0, "kdc-cert" },
1658 : /* 9 */ { A1_OP_NAME, 0, "encryption-cert" }
1659 : };
1660 : /* generate_template_type: PA_PK_AS_REQ_Win2k */
1661 : const struct asn1_template asn1_PA_PK_AS_REQ_Win2k[] = {
1662 : /* 0 */ { 0, sizeof(PA_PK_AS_REQ_Win2k), ((void *)(uintptr_t)1) },
1663 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REQ_Win2k_tag__76 }
1664 : };
1665 :
1666 : int ASN1CALL
1667 4 : decode_PA_PK_AS_REQ_Win2k(const unsigned char *p, size_t len, PA_PK_AS_REQ_Win2k *data, size_t *size)
1668 : {
1669 4 : memset(data, 0, sizeof(*data));
1670 4 : return _asn1_decode_top(asn1_PA_PK_AS_REQ_Win2k, 0|0, p, len, data, size);
1671 : }
1672 :
1673 :
1674 : int ASN1CALL
1675 0 : encode_PA_PK_AS_REQ_Win2k(unsigned char *p, size_t len, const PA_PK_AS_REQ_Win2k *data, size_t *size)
1676 : {
1677 0 : return _asn1_encode(asn1_PA_PK_AS_REQ_Win2k, p, len, data, size);
1678 : }
1679 :
1680 :
1681 : size_t ASN1CALL
1682 0 : length_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *data)
1683 : {
1684 0 : return _asn1_length(asn1_PA_PK_AS_REQ_Win2k, data);
1685 : }
1686 :
1687 :
1688 : void ASN1CALL
1689 4 : free_PA_PK_AS_REQ_Win2k(PA_PK_AS_REQ_Win2k *data)
1690 : {
1691 4 : _asn1_free_top(asn1_PA_PK_AS_REQ_Win2k, data);
1692 4 : }
1693 :
1694 :
1695 : int ASN1CALL
1696 0 : copy_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *from, PA_PK_AS_REQ_Win2k *to)
1697 : {
1698 0 : return _asn1_copy_top(asn1_PA_PK_AS_REQ_Win2k, from, to);
1699 : }
1700 :
1701 :
1702 : char * ASN1CALL
1703 0 : print_PA_PK_AS_REQ_Win2k(const PA_PK_AS_REQ_Win2k *data, int flags)
1704 : {
1705 0 : return _asn1_print_top(asn1_PA_PK_AS_REQ_Win2k, flags, data);
1706 : }
1707 :
1708 : /* template_members: heim_octet_string imp imp */
1709 : /* template_members: heim_octet_string exp exp */
1710 : /* generate_template_type: heim_octet_string_tag__86 */
1711 : /* generate_template_type: heim_octet_string_tag__85 */
1712 : /* generate_template_type: PA_PK_AS_REP_Win2k_choice_dhSignedData */
1713 : const struct asn1_template asn1_PA_PK_AS_REP_Win2k_choice_dhSignedData[] = {
1714 : /* 0 */ { 0, sizeof(heim_octet_string), ((void *)(uintptr_t)1) },
1715 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,PRIM,0)|A1_FLAG_IMPLICIT, 0, asn1_TrustedCA_tag_caName_6 }
1716 : };
1717 : /* template_members: heim_octet_string imp imp */
1718 : /* template_members: heim_octet_string exp exp */
1719 : /* generate_template_type: heim_octet_string_tag__88 */
1720 : /* generate_template_type: heim_octet_string_tag__87 */
1721 : /* generate_template_type: PA_PK_AS_REP_Win2k_choice_encKeyPack */
1722 : static const struct asn1_template asn1_choice_PA_PK_AS_REP_Win2k_2[] = {
1723 : /* 0 */ { 0, offsetof(PA_PK_AS_REP_Win2k, element), ((void *)(uintptr_t)4) },
1724 : /* 1 */ { choice_PA_PK_AS_REP_Win2k_dhSignedData, offsetof(PA_PK_AS_REP_Win2k, u.dhSignedData), asn1_PA_PK_AS_REP_Win2k_choice_dhSignedData },
1725 : /* 2 */ { choice_PA_PK_AS_REP_Win2k_encKeyPack, offsetof(PA_PK_AS_REP_Win2k, u.encKeyPack), asn1_PA_PK_AS_REP_choice_encKeyPack },
1726 : /* 3 */ { 0, 0, "dhSignedData" },
1727 : /* 4 */ { 0, 0, "encKeyPack" }
1728 : };
1729 : /* generate_template_type: PA_PK_AS_REP_Win2k */
1730 : const struct asn1_template asn1_PA_PK_AS_REP_Win2k[] = {
1731 : /* 0 */ { 0, sizeof(PA_PK_AS_REP_Win2k), ((void *)(uintptr_t)1) },
1732 : /* 1 */ { A1_OP_CHOICE, 0, asn1_choice_PA_PK_AS_REP_Win2k_2 }
1733 : };
1734 :
1735 : int ASN1CALL
1736 0 : decode_PA_PK_AS_REP_Win2k(const unsigned char *p, size_t len, PA_PK_AS_REP_Win2k *data, size_t *size)
1737 : {
1738 0 : memset(data, 0, sizeof(*data));
1739 0 : return _asn1_decode_top(asn1_PA_PK_AS_REP_Win2k, 0|0, p, len, data, size);
1740 : }
1741 :
1742 :
1743 : int ASN1CALL
1744 4 : encode_PA_PK_AS_REP_Win2k(unsigned char *p, size_t len, const PA_PK_AS_REP_Win2k *data, size_t *size)
1745 : {
1746 4 : return _asn1_encode(asn1_PA_PK_AS_REP_Win2k, p, len, data, size);
1747 : }
1748 :
1749 :
1750 : size_t ASN1CALL
1751 4 : length_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *data)
1752 : {
1753 4 : return _asn1_length(asn1_PA_PK_AS_REP_Win2k, data);
1754 : }
1755 :
1756 :
1757 : void ASN1CALL
1758 4 : free_PA_PK_AS_REP_Win2k(PA_PK_AS_REP_Win2k *data)
1759 : {
1760 4 : _asn1_free_top(asn1_PA_PK_AS_REP_Win2k, data);
1761 4 : }
1762 :
1763 :
1764 : int ASN1CALL
1765 0 : copy_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *from, PA_PK_AS_REP_Win2k *to)
1766 : {
1767 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP_Win2k, from, to);
1768 : }
1769 :
1770 :
1771 : char * ASN1CALL
1772 0 : print_PA_PK_AS_REP_Win2k(const PA_PK_AS_REP_Win2k *data, int flags)
1773 : {
1774 0 : return _asn1_print_top(asn1_PA_PK_AS_REP_Win2k, flags, data);
1775 : }
1776 :
1777 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1778 : /* tsequence: members isstruct: 1 */
1779 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1780 : /* template_members: int exp exp */
1781 : /* generate_template_type: int_tag_nonce_91 */
1782 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_nonce_90 */
1783 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1784 : /* template_members: KDCDHKeyInfo_Win2k exp exp */
1785 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_subjectPublicKey_93 */
1786 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_93[] = {
1787 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1788 : /* 1 */ { A1_PARSE_T(A1T_HEIM_BIT_STRING), 0, NULL }
1789 : };
1790 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag_subjectPublicKey_92 */
1791 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_92[] = {
1792 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1793 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,PRIM,UT_BitString), 0, asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_93 }
1794 : };
1795 : /* generate_template_type: KDCDHKeyInfo_Win2k_tag__89 */
1796 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k_tag__89[] = {
1797 : /* 0 */ { 0, sizeof(struct KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)5) },
1798 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct KDCDHKeyInfo_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_69 },
1799 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct KDCDHKeyInfo_Win2k, subjectPublicKey), asn1_KDCDHKeyInfo_Win2k_tag_subjectPublicKey_92 },
1800 : /* 3 */ { A1_OP_NAME, 0, "KDCDHKeyInfo_Win2k" },
1801 : /* 4 */ { A1_OP_NAME, 0, "nonce" },
1802 : /* 5 */ { A1_OP_NAME, 0, "subjectPublicKey" }
1803 : };
1804 : /* generate_template_type: KDCDHKeyInfo_Win2k */
1805 : const struct asn1_template asn1_KDCDHKeyInfo_Win2k[] = {
1806 : /* 0 */ { 0, sizeof(KDCDHKeyInfo_Win2k), ((void *)(uintptr_t)1) },
1807 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_KDCDHKeyInfo_Win2k_tag__89 }
1808 : };
1809 :
1810 : int ASN1CALL
1811 0 : decode_KDCDHKeyInfo_Win2k(const unsigned char *p, size_t len, KDCDHKeyInfo_Win2k *data, size_t *size)
1812 : {
1813 0 : memset(data, 0, sizeof(*data));
1814 0 : return _asn1_decode_top(asn1_KDCDHKeyInfo_Win2k, 0|0, p, len, data, size);
1815 : }
1816 :
1817 :
1818 : int ASN1CALL
1819 0 : encode_KDCDHKeyInfo_Win2k(unsigned char *p, size_t len, const KDCDHKeyInfo_Win2k *data, size_t *size)
1820 : {
1821 0 : return _asn1_encode(asn1_KDCDHKeyInfo_Win2k, p, len, data, size);
1822 : }
1823 :
1824 :
1825 : size_t ASN1CALL
1826 0 : length_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *data)
1827 : {
1828 0 : return _asn1_length(asn1_KDCDHKeyInfo_Win2k, data);
1829 : }
1830 :
1831 :
1832 : void ASN1CALL
1833 0 : free_KDCDHKeyInfo_Win2k(KDCDHKeyInfo_Win2k *data)
1834 : {
1835 0 : _asn1_free_top(asn1_KDCDHKeyInfo_Win2k, data);
1836 0 : }
1837 :
1838 :
1839 : int ASN1CALL
1840 0 : copy_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *from, KDCDHKeyInfo_Win2k *to)
1841 : {
1842 0 : return _asn1_copy_top(asn1_KDCDHKeyInfo_Win2k, from, to);
1843 : }
1844 :
1845 :
1846 : char * ASN1CALL
1847 0 : print_KDCDHKeyInfo_Win2k(const KDCDHKeyInfo_Win2k *data, int flags)
1848 : {
1849 0 : return _asn1_print_top(asn1_KDCDHKeyInfo_Win2k, flags, data);
1850 : }
1851 :
1852 : /* template_members: ReplyKeyPack_Win2k exp exp */
1853 : /* tsequence: members isstruct: 1 */
1854 : /* template_members: ReplyKeyPack_Win2k exp exp */
1855 : /* generate_template_type: ReplyKeyPack_Win2k_tag_replyKey_95 */
1856 : /* template_members: ReplyKeyPack_Win2k exp exp */
1857 : /* template_members: int exp exp */
1858 : /* generate_template_type: int_tag_nonce_97 */
1859 : /* generate_template_type: ReplyKeyPack_Win2k_tag_nonce_96 */
1860 : /* generate_template_type: ReplyKeyPack_Win2k_tag__94 */
1861 : const struct asn1_template asn1_ReplyKeyPack_Win2k_tag__94[] = {
1862 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct ReplyKeyPack_Win2k), ((void *)(uintptr_t)6) },
1863 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct ReplyKeyPack_Win2k, replyKey), asn1_ReplyKeyPack_tag_replyKey_60 },
1864 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct ReplyKeyPack_Win2k, nonce), asn1_PKAuthenticator_Win2k_tag_nonce_69 },
1865 : /* 3 */ { A1_OP_NAME, 0, "ReplyKeyPack_Win2k" },
1866 : /* 4 */ { A1_OP_NAME, 0, "replyKey" },
1867 : /* 5 */ { A1_OP_NAME, 0, "nonce" },
1868 : /* 6 */ { A1_OP_NAME, 0, "..." }
1869 : };
1870 : /* generate_template_type: ReplyKeyPack_Win2k */
1871 : const struct asn1_template asn1_ReplyKeyPack_Win2k[] = {
1872 : /* 0 */ { 0, sizeof(ReplyKeyPack_Win2k), ((void *)(uintptr_t)1) },
1873 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_ReplyKeyPack_Win2k_tag__94 }
1874 : };
1875 :
1876 : int ASN1CALL
1877 0 : decode_ReplyKeyPack_Win2k(const unsigned char *p, size_t len, ReplyKeyPack_Win2k *data, size_t *size)
1878 : {
1879 0 : memset(data, 0, sizeof(*data));
1880 0 : return _asn1_decode_top(asn1_ReplyKeyPack_Win2k, 0|0, p, len, data, size);
1881 : }
1882 :
1883 :
1884 : int ASN1CALL
1885 0 : encode_ReplyKeyPack_Win2k(unsigned char *p, size_t len, const ReplyKeyPack_Win2k *data, size_t *size)
1886 : {
1887 0 : return _asn1_encode(asn1_ReplyKeyPack_Win2k, p, len, data, size);
1888 : }
1889 :
1890 :
1891 : size_t ASN1CALL
1892 0 : length_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *data)
1893 : {
1894 0 : return _asn1_length(asn1_ReplyKeyPack_Win2k, data);
1895 : }
1896 :
1897 :
1898 : void ASN1CALL
1899 0 : free_ReplyKeyPack_Win2k(ReplyKeyPack_Win2k *data)
1900 : {
1901 0 : _asn1_free_top(asn1_ReplyKeyPack_Win2k, data);
1902 0 : }
1903 :
1904 :
1905 : int ASN1CALL
1906 0 : copy_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *from, ReplyKeyPack_Win2k *to)
1907 : {
1908 0 : return _asn1_copy_top(asn1_ReplyKeyPack_Win2k, from, to);
1909 : }
1910 :
1911 :
1912 : char * ASN1CALL
1913 0 : print_ReplyKeyPack_Win2k(const ReplyKeyPack_Win2k *data, int flags)
1914 : {
1915 0 : return _asn1_print_top(asn1_ReplyKeyPack_Win2k, flags, data);
1916 : }
1917 :
1918 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1919 : /* tsequence: members isstruct: 1 */
1920 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1921 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag_dhSignedData_99 */
1922 : /* template_members: PA_PK_AS_REP_BTMM exp exp */
1923 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag_encKeyPack_100 */
1924 : /* generate_template_type: PA_PK_AS_REP_BTMM_tag__98 */
1925 : const struct asn1_template asn1_PA_PK_AS_REP_BTMM_tag__98[] = {
1926 : /* 0 */ { 0, sizeof(struct PA_PK_AS_REP_BTMM), ((void *)(uintptr_t)5) },
1927 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REP_BTMM, dhSignedData), asn1_HEIM_ANY_tag__74 },
1928 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1)|A1_FLAG_OPTIONAL, offsetof(struct PA_PK_AS_REP_BTMM, encKeyPack), asn1_HEIM_ANY_tag__74 },
1929 : /* 3 */ { A1_OP_NAME, 0, "PA_PK_AS_REP_BTMM" },
1930 : /* 4 */ { A1_OP_NAME, 0, "dhSignedData" },
1931 : /* 5 */ { A1_OP_NAME, 0, "encKeyPack" }
1932 : };
1933 : /* generate_template_type: PA_PK_AS_REP_BTMM */
1934 : const struct asn1_template asn1_PA_PK_AS_REP_BTMM[] = {
1935 : /* 0 */ { 0, sizeof(PA_PK_AS_REP_BTMM), ((void *)(uintptr_t)1) },
1936 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PA_PK_AS_REP_BTMM_tag__98 }
1937 : };
1938 :
1939 : int ASN1CALL
1940 0 : decode_PA_PK_AS_REP_BTMM(const unsigned char *p, size_t len, PA_PK_AS_REP_BTMM *data, size_t *size)
1941 : {
1942 0 : memset(data, 0, sizeof(*data));
1943 0 : return _asn1_decode_top(asn1_PA_PK_AS_REP_BTMM, 0|0, p, len, data, size);
1944 : }
1945 :
1946 :
1947 : int ASN1CALL
1948 0 : encode_PA_PK_AS_REP_BTMM(unsigned char *p, size_t len, const PA_PK_AS_REP_BTMM *data, size_t *size)
1949 : {
1950 0 : return _asn1_encode(asn1_PA_PK_AS_REP_BTMM, p, len, data, size);
1951 : }
1952 :
1953 :
1954 : size_t ASN1CALL
1955 0 : length_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *data)
1956 : {
1957 0 : return _asn1_length(asn1_PA_PK_AS_REP_BTMM, data);
1958 : }
1959 :
1960 :
1961 : void ASN1CALL
1962 0 : free_PA_PK_AS_REP_BTMM(PA_PK_AS_REP_BTMM *data)
1963 : {
1964 0 : _asn1_free_top(asn1_PA_PK_AS_REP_BTMM, data);
1965 0 : }
1966 :
1967 :
1968 : int ASN1CALL
1969 0 : copy_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *from, PA_PK_AS_REP_BTMM *to)
1970 : {
1971 0 : return _asn1_copy_top(asn1_PA_PK_AS_REP_BTMM, from, to);
1972 : }
1973 :
1974 :
1975 : char * ASN1CALL
1976 0 : print_PA_PK_AS_REP_BTMM(const PA_PK_AS_REP_BTMM *data, int flags)
1977 : {
1978 0 : return _asn1_print_top(asn1_PA_PK_AS_REP_BTMM, flags, data);
1979 : }
1980 :
1981 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1982 : /* tsequence: members isstruct: 1 */
1983 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1984 : /* template_members: heim_octet_string exp exp */
1985 : /* generate_template_type: heim_octet_string_tag_partyUInfo_103 */
1986 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_partyUInfo_102 */
1987 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1988 : /* template_members: heim_octet_string exp exp */
1989 : /* generate_template_type: heim_octet_string_tag_partyVInfo_105 */
1990 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_partyVInfo_104 */
1991 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1992 : /* template_members: heim_octet_string exp exp */
1993 : /* generate_template_type: heim_octet_string_tag_suppPubInfo_107 */
1994 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_suppPubInfo_106 */
1995 : /* template_members: PkinitSP80056AOtherInfo exp exp */
1996 : /* template_members: heim_octet_string exp exp */
1997 : /* generate_template_type: heim_octet_string_tag_suppPrivInfo_109 */
1998 : /* generate_template_type: PkinitSP80056AOtherInfo_tag_suppPrivInfo_108 */
1999 : /* generate_template_type: PkinitSP80056AOtherInfo_tag__101 */
2000 : const struct asn1_template asn1_PkinitSP80056AOtherInfo_tag__101[] = {
2001 : /* 0 */ { 0, sizeof(struct PkinitSP80056AOtherInfo), ((void *)(uintptr_t)11) },
2002 : /* 1 */ { A1_OP_TYPE_EXTERN , offsetof(struct PkinitSP80056AOtherInfo, algorithmID), &asn1_extern_AlgorithmIdentifier},
2003 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PkinitSP80056AOtherInfo, partyUInfo), asn1_TrustedCA_tag_caName_6 },
2004 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PkinitSP80056AOtherInfo, partyVInfo), asn1_TrustedCA_tag_caName_6 },
2005 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2)|A1_FLAG_OPTIONAL, offsetof(struct PkinitSP80056AOtherInfo, suppPubInfo), asn1_TrustedCA_tag_caName_6 },
2006 : /* 5 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3)|A1_FLAG_OPTIONAL, offsetof(struct PkinitSP80056AOtherInfo, suppPrivInfo), asn1_TrustedCA_tag_caName_6 },
2007 : /* 6 */ { A1_OP_NAME, 0, "PkinitSP80056AOtherInfo" },
2008 : /* 7 */ { A1_OP_NAME, 0, "algorithmID" },
2009 : /* 8 */ { A1_OP_NAME, 0, "partyUInfo" },
2010 : /* 9 */ { A1_OP_NAME, 0, "partyVInfo" },
2011 : /* 10 */ { A1_OP_NAME, 0, "suppPubInfo" },
2012 : /* 11 */ { A1_OP_NAME, 0, "suppPrivInfo" }
2013 : };
2014 : /* generate_template_type: PkinitSP80056AOtherInfo */
2015 : const struct asn1_template asn1_PkinitSP80056AOtherInfo[] = {
2016 : /* 0 */ { 0, sizeof(PkinitSP80056AOtherInfo), ((void *)(uintptr_t)1) },
2017 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PkinitSP80056AOtherInfo_tag__101 }
2018 : };
2019 :
2020 : int ASN1CALL
2021 0 : decode_PkinitSP80056AOtherInfo(const unsigned char *p, size_t len, PkinitSP80056AOtherInfo *data, size_t *size)
2022 : {
2023 0 : memset(data, 0, sizeof(*data));
2024 0 : return _asn1_decode_top(asn1_PkinitSP80056AOtherInfo, 0|0, p, len, data, size);
2025 : }
2026 :
2027 :
2028 : int ASN1CALL
2029 0 : encode_PkinitSP80056AOtherInfo(unsigned char *p, size_t len, const PkinitSP80056AOtherInfo *data, size_t *size)
2030 : {
2031 0 : return _asn1_encode(asn1_PkinitSP80056AOtherInfo, p, len, data, size);
2032 : }
2033 :
2034 :
2035 : size_t ASN1CALL
2036 0 : length_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *data)
2037 : {
2038 0 : return _asn1_length(asn1_PkinitSP80056AOtherInfo, data);
2039 : }
2040 :
2041 :
2042 : void ASN1CALL
2043 0 : free_PkinitSP80056AOtherInfo(PkinitSP80056AOtherInfo *data)
2044 : {
2045 0 : _asn1_free_top(asn1_PkinitSP80056AOtherInfo, data);
2046 0 : }
2047 :
2048 :
2049 : int ASN1CALL
2050 0 : copy_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *from, PkinitSP80056AOtherInfo *to)
2051 : {
2052 0 : return _asn1_copy_top(asn1_PkinitSP80056AOtherInfo, from, to);
2053 : }
2054 :
2055 :
2056 : char * ASN1CALL
2057 0 : print_PkinitSP80056AOtherInfo(const PkinitSP80056AOtherInfo *data, int flags)
2058 : {
2059 0 : return _asn1_print_top(asn1_PkinitSP80056AOtherInfo, flags, data);
2060 : }
2061 :
2062 : /* template_members: PkinitSuppPubInfo exp exp */
2063 : /* tsequence: members isstruct: 1 */
2064 : /* template_members: PkinitSuppPubInfo exp exp */
2065 : /* template_members: int exp exp */
2066 : /* generate_template_type: int_tag_enctype_112 */
2067 : /* generate_template_type: PkinitSuppPubInfo_tag_enctype_111 */
2068 : /* template_members: PkinitSuppPubInfo exp exp */
2069 : /* template_members: heim_octet_string exp exp */
2070 : /* generate_template_type: heim_octet_string_tag_as_REQ_114 */
2071 : /* generate_template_type: PkinitSuppPubInfo_tag_as_REQ_113 */
2072 : /* template_members: PkinitSuppPubInfo exp exp */
2073 : /* template_members: heim_octet_string exp exp */
2074 : /* generate_template_type: heim_octet_string_tag_pk_as_rep_116 */
2075 : /* generate_template_type: PkinitSuppPubInfo_tag_pk_as_rep_115 */
2076 : /* template_members: PkinitSuppPubInfo exp exp */
2077 : /* generate_template_type: PkinitSuppPubInfo_tag_ticket_117 */
2078 : const struct asn1_template asn1_PkinitSuppPubInfo_tag_ticket_117[] = {
2079 : /* 0 */ { 0, sizeof(Ticket), ((void *)(uintptr_t)1) },
2080 : /* 1 */ { A1_OP_TYPE_EXTERN , 0, &asn1_extern_Ticket}
2081 : };
2082 : /* generate_template_type: PkinitSuppPubInfo_tag__110 */
2083 : const struct asn1_template asn1_PkinitSuppPubInfo_tag__110[] = {
2084 : /* 0 */ { 0|A1_HF_ELLIPSIS, sizeof(struct PkinitSuppPubInfo), ((void *)(uintptr_t)10) },
2085 : /* 1 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,0), offsetof(struct PkinitSuppPubInfo, enctype), asn1_PKAuthenticator_Win2k_tag_nonce_69 },
2086 : /* 2 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,1), offsetof(struct PkinitSuppPubInfo, as_REQ), asn1_TrustedCA_tag_caName_6 },
2087 : /* 3 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,2), offsetof(struct PkinitSuppPubInfo, pk_as_rep), asn1_TrustedCA_tag_caName_6 },
2088 : /* 4 */ { A1_TAG_T(ASN1_C_CONTEXT,CONS,3), offsetof(struct PkinitSuppPubInfo, ticket), asn1_PkinitSuppPubInfo_tag_ticket_117 },
2089 : /* 5 */ { A1_OP_NAME, 0, "PkinitSuppPubInfo" },
2090 : /* 6 */ { A1_OP_NAME, 0, "enctype" },
2091 : /* 7 */ { A1_OP_NAME, 0, "as-REQ" },
2092 : /* 8 */ { A1_OP_NAME, 0, "pk-as-rep" },
2093 : /* 9 */ { A1_OP_NAME, 0, "ticket" },
2094 : /* 10 */ { A1_OP_NAME, 0, "..." }
2095 : };
2096 : /* generate_template_type: PkinitSuppPubInfo */
2097 : const struct asn1_template asn1_PkinitSuppPubInfo[] = {
2098 : /* 0 */ { 0, sizeof(PkinitSuppPubInfo), ((void *)(uintptr_t)1) },
2099 : /* 1 */ { A1_TAG_T(ASN1_C_UNIV,CONS,UT_Sequence), 0, asn1_PkinitSuppPubInfo_tag__110 }
2100 : };
2101 :
2102 : int ASN1CALL
2103 0 : decode_PkinitSuppPubInfo(const unsigned char *p, size_t len, PkinitSuppPubInfo *data, size_t *size)
2104 : {
2105 0 : memset(data, 0, sizeof(*data));
2106 0 : return _asn1_decode_top(asn1_PkinitSuppPubInfo, 0|0, p, len, data, size);
2107 : }
2108 :
2109 :
2110 : int ASN1CALL
2111 0 : encode_PkinitSuppPubInfo(unsigned char *p, size_t len, const PkinitSuppPubInfo *data, size_t *size)
2112 : {
2113 0 : return _asn1_encode(asn1_PkinitSuppPubInfo, p, len, data, size);
2114 : }
2115 :
2116 :
2117 : size_t ASN1CALL
2118 0 : length_PkinitSuppPubInfo(const PkinitSuppPubInfo *data)
2119 : {
2120 0 : return _asn1_length(asn1_PkinitSuppPubInfo, data);
2121 : }
2122 :
2123 :
2124 : void ASN1CALL
2125 0 : free_PkinitSuppPubInfo(PkinitSuppPubInfo *data)
2126 : {
2127 0 : _asn1_free_top(asn1_PkinitSuppPubInfo, data);
2128 0 : }
2129 :
2130 :
2131 : int ASN1CALL
2132 0 : copy_PkinitSuppPubInfo(const PkinitSuppPubInfo *from, PkinitSuppPubInfo *to)
2133 : {
2134 0 : return _asn1_copy_top(asn1_PkinitSuppPubInfo, from, to);
2135 : }
2136 :
2137 :
2138 : char * ASN1CALL
2139 0 : print_PkinitSuppPubInfo(const PkinitSuppPubInfo *data, int flags)
2140 : {
2141 0 : return _asn1_print_top(asn1_PkinitSuppPubInfo, flags, data);
2142 : }
2143 :
|