5 DECLARE_ASN1_FUNCTIONS,
6 IMPLEMENT_ASN1_FUNCTIONS,
8 ACCESS_DESCRIPTION_free,
9 ACCESS_DESCRIPTION_new,
12 ADMISSION_SYNTAX_free,
16 ASIdentifierChoice_free,
17 ASIdentifierChoice_new,
22 AUTHORITY_INFO_ACCESS_free,
23 AUTHORITY_INFO_ACCESS_new,
26 BASIC_CONSTRAINTS_free,
27 BASIC_CONSTRAINTS_new,
28 CERTIFICATEPOLICIES_free,
29 CERTIFICATEPOLICIES_new,
32 CMS_ContentInfo_print_ctx,
33 CMS_ReceiptRequest_free,
34 CMS_ReceiptRequest_new,
58 ESS_ISSUER_SERIAL_dup,
59 ESS_ISSUER_SERIAL_free,
60 ESS_ISSUER_SERIAL_new,
62 ESS_SIGNING_CERT_free,
64 ESS_SIGNING_CERT_V2_dup,
65 ESS_SIGNING_CERT_V2_free,
66 ESS_SIGNING_CERT_V2_new,
67 EXTENDED_KEY_USAGE_free,
68 EXTENDED_KEY_USAGE_new,
80 IPAddressOrRange_free,
84 ISSUER_SIGN_TOOL_free,
87 ISSUING_DIST_POINT_free,
88 ISSUING_DIST_POINT_it,
89 ISSUING_DIST_POINT_new,
90 NAME_CONSTRAINTS_free,
92 NAMING_AUTHORITY_free,
94 NETSCAPE_CERT_SEQUENCE_free,
95 NETSCAPE_CERT_SEQUENCE_new,
106 OCSP_CERTSTATUS_free,
121 OCSP_REVOKEDINFO_free,
122 OCSP_REVOKEDINFO_new,
123 OCSP_SERVICELOC_free,
127 OCSP_SINGLERESP_free,
134 OSSL_CMP_PKIHEADER_free,
135 OSSL_CMP_PKIHEADER_it,
136 OSSL_CMP_PKIHEADER_new,
141 OSSL_CMP_PKISTATUS_it,
142 OSSL_CRMF_CERTID_dup,
143 OSSL_CRMF_CERTID_free,
145 OSSL_CRMF_CERTID_new,
146 OSSL_CRMF_CERTTEMPLATE_free,
147 OSSL_CRMF_CERTTEMPLATE_it,
148 OSSL_CRMF_CERTTEMPLATE_new,
149 OSSL_CRMF_ENCRYPTEDVALUE_free,
150 OSSL_CRMF_ENCRYPTEDVALUE_it,
151 OSSL_CRMF_ENCRYPTEDVALUE_new,
158 OSSL_CRMF_PBMPARAMETER_free,
159 OSSL_CRMF_PBMPARAMETER_it,
160 OSSL_CRMF_PBMPARAMETER_new,
161 OSSL_CRMF_PKIPUBLICATIONINFO_free,
162 OSSL_CRMF_PKIPUBLICATIONINFO_it,
163 OSSL_CRMF_PKIPUBLICATIONINFO_new,
164 OSSL_CRMF_SINGLEPUBINFO_free,
165 OSSL_CRMF_SINGLEPUBINFO_it,
166 OSSL_CRMF_SINGLEPUBINFO_new,
177 PKCS12_MAC_DATA_free,
187 PKCS7_ENC_CONTENT_free,
188 PKCS7_ENC_CONTENT_new,
191 PKCS7_ISSUER_AND_SERIAL_free,
192 PKCS7_ISSUER_AND_SERIAL_new,
193 PKCS7_RECIP_INFO_free,
194 PKCS7_RECIP_INFO_new,
197 PKCS7_SIGNER_INFO_free,
198 PKCS7_SIGNER_INFO_new,
199 PKCS7_SIGN_ENVELOPE_free,
200 PKCS7_SIGN_ENVELOPE_new,
205 PKCS8_PRIV_KEY_INFO_free,
206 PKCS8_PRIV_KEY_INFO_new,
207 PKEY_USAGE_PERIOD_free,
208 PKEY_USAGE_PERIOD_new,
213 POLICY_CONSTRAINTS_free,
214 POLICY_CONSTRAINTS_new,
217 PROFESSION_INFOS_free,
218 PROFESSION_INFOS_new,
219 PROFESSION_INFO_free,
221 PROXY_CERT_INFO_EXTENSION_free,
222 PROXY_CERT_INFO_EXTENSION_new,
227 RSA_OAEP_PARAMS_free,
278 X509_NAME_ENTRY_free,
296 - ASN1 object utilities
302 #include <openssl/asn1t.h>
304 DECLARE_ASN1_FUNCTIONS(type)
305 IMPLEMENT_ASN1_FUNCTIONS(stname)
307 typedef struct ASN1_ITEM_st ASN1_ITEM;
309 extern const ASN1_ITEM TYPE_it;
310 TYPE *TYPE_new(void);
311 TYPE *TYPE_dup(const TYPE *a);
312 void TYPE_free(TYPE *a);
313 int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);
317 In the description below, B<I<TYPE>> is used
318 as a placeholder for any of the OpenSSL datatypes, such as B<X509>.
320 The OpenSSL ASN1 parsing library templates are like a data-driven bytecode
322 Every ASN1 object as a global variable, TYPE_it, that describes the item
323 such as its fields. (On systems which cannot export variables from shared
324 libraries, the global is instead a function which returns a pointer to a
327 The macro DECLARE_ASN1_FUNCTIONS() is typically used in header files
328 to generate the function declarations.
330 The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file
331 to generate the function bodies.
334 B<I<TYPE>_new>() allocates an empty object of the indicated type.
335 The object returned must be released by calling B<I<TYPE>_free>().
337 B<I<TYPE>_dup>() copies an existing object, leaving it untouched.
339 B<I<TYPE>_free>() releases the object and all pointers and sub-objects
342 B<I<TYPE>_print_ctx>() prints the object I<a> on the specified BIO I<out>.
343 Each line will be prefixed with I<indent> spaces.
344 The I<pctx> specifies the printing context and is for internal
345 use; use NULL to get the default behavior. If a print function is
346 user-defined, then pass in any I<pctx> down to any nested calls.
350 B<I<TYPE>_new>() and B<I<TYPE>_dup>() return a pointer to the object or NULL on
353 B<I<TYPE>_print_ctx>() returns 1 on success or zero on failure.
357 Copyright 2016-2020 The OpenSSL Project Authors. All Rights Reserved.
359 Licensed under the Apache License 2.0 (the "License"). You may not use
360 this file except in compliance with the License. You can obtain a copy
361 in the file LICENSE in the source distribution or at
362 L<https://www.openssl.org/source/license.html>.