]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/X509_dup.pod
Chunk 8 of CMP contribution to OpenSSL: CMP server and cmp_mock_srv.c for testing
[thirdparty/openssl.git] / doc / man3 / X509_dup.pod
CommitLineData
12ce9ea2
RS
1=pod
2
3=head1 NAME
4
5DECLARE_ASN1_FUNCTIONS,
6IMPLEMENT_ASN1_FUNCTIONS,
7ASN1_ITEM,
8ACCESS_DESCRIPTION_free,
9ACCESS_DESCRIPTION_new,
fa743582
RS
10ADMISSIONS_free,
11ADMISSIONS_new,
12ADMISSION_SYNTAX_free,
13ADMISSION_SYNTAX_new,
12ce9ea2
RS
14ASIdOrRange_free,
15ASIdOrRange_new,
16ASIdentifierChoice_free,
17ASIdentifierChoice_new,
18ASIdentifiers_free,
19ASIdentifiers_new,
20ASRange_free,
21ASRange_new,
22AUTHORITY_INFO_ACCESS_free,
23AUTHORITY_INFO_ACCESS_new,
24AUTHORITY_KEYID_free,
25AUTHORITY_KEYID_new,
26BASIC_CONSTRAINTS_free,
27BASIC_CONSTRAINTS_new,
28CERTIFICATEPOLICIES_free,
29CERTIFICATEPOLICIES_new,
30CMS_ContentInfo_free,
31CMS_ContentInfo_new,
32CMS_ContentInfo_print_ctx,
33CMS_ReceiptRequest_free,
34CMS_ReceiptRequest_new,
35CRL_DIST_POINTS_free,
36CRL_DIST_POINTS_new,
37DIRECTORYSTRING_free,
38DIRECTORYSTRING_new,
39DISPLAYTEXT_free,
40DISPLAYTEXT_new,
41DIST_POINT_NAME_free,
42DIST_POINT_NAME_new,
43DIST_POINT_free,
44DIST_POINT_new,
45DSAparams_dup,
9ba6f347
KY
46ECPARAMETERS_free,
47ECPARAMETERS_new,
48ECPKPARAMETERS_free,
49ECPKPARAMETERS_new,
12ce9ea2
RS
50EDIPARTYNAME_free,
51EDIPARTYNAME_new,
52ESS_CERT_ID_dup,
53ESS_CERT_ID_free,
54ESS_CERT_ID_new,
8c00f267
F
55ESS_CERT_ID_V2_dup,
56ESS_CERT_ID_V2_free,
57ESS_CERT_ID_V2_new,
12ce9ea2
RS
58ESS_ISSUER_SERIAL_dup,
59ESS_ISSUER_SERIAL_free,
60ESS_ISSUER_SERIAL_new,
61ESS_SIGNING_CERT_dup,
62ESS_SIGNING_CERT_free,
63ESS_SIGNING_CERT_new,
8c00f267
F
64ESS_SIGNING_CERT_V2_dup,
65ESS_SIGNING_CERT_V2_free,
66ESS_SIGNING_CERT_V2_new,
12ce9ea2
RS
67EXTENDED_KEY_USAGE_free,
68EXTENDED_KEY_USAGE_new,
69GENERAL_NAMES_free,
70GENERAL_NAMES_new,
71GENERAL_NAME_dup,
72GENERAL_NAME_free,
73GENERAL_NAME_new,
74GENERAL_SUBTREE_free,
75GENERAL_SUBTREE_new,
76IPAddressChoice_free,
77IPAddressChoice_new,
78IPAddressFamily_free,
79IPAddressFamily_new,
80IPAddressOrRange_free,
81IPAddressOrRange_new,
82IPAddressRange_free,
83IPAddressRange_new,
84ISSUING_DIST_POINT_free,
85ISSUING_DIST_POINT_new,
86NAME_CONSTRAINTS_free,
87NAME_CONSTRAINTS_new,
fa743582
RS
88NAMING_AUTHORITY_free,
89NAMING_AUTHORITY_new,
12ce9ea2
RS
90NETSCAPE_CERT_SEQUENCE_free,
91NETSCAPE_CERT_SEQUENCE_new,
92NETSCAPE_SPKAC_free,
93NETSCAPE_SPKAC_new,
94NETSCAPE_SPKI_free,
95NETSCAPE_SPKI_new,
96NOTICEREF_free,
97NOTICEREF_new,
98OCSP_BASICRESP_free,
99OCSP_BASICRESP_new,
100OCSP_CERTID_dup,
101OCSP_CERTID_new,
102OCSP_CERTSTATUS_free,
103OCSP_CERTSTATUS_new,
104OCSP_CRLID_free,
105OCSP_CRLID_new,
106OCSP_ONEREQ_free,
107OCSP_ONEREQ_new,
108OCSP_REQINFO_free,
109OCSP_REQINFO_new,
110OCSP_RESPBYTES_free,
111OCSP_RESPBYTES_new,
112OCSP_RESPDATA_free,
113OCSP_RESPDATA_new,
114OCSP_RESPID_free,
115OCSP_RESPID_new,
116OCSP_RESPONSE_new,
117OCSP_REVOKEDINFO_free,
118OCSP_REVOKEDINFO_new,
119OCSP_SERVICELOC_free,
120OCSP_SERVICELOC_new,
121OCSP_SIGNATURE_free,
122OCSP_SIGNATURE_new,
123OCSP_SINGLERESP_free,
124OCSP_SINGLERESP_new,
62dcd2aa 125OSSL_CMP_ITAV_dup,
8869ad4a 126OSSL_CMP_ITAV_free,
62dcd2aa 127OSSL_CMP_MSG_dup,
227d4265 128OSSL_CMP_MSG_it,
7960dbec 129OSSL_CMP_MSG_free,
8869ad4a
AK
130OSSL_CMP_PKIHEADER_free,
131OSSL_CMP_PKIHEADER_it,
132OSSL_CMP_PKIHEADER_new,
62dcd2aa 133OSSL_CMP_PKISI_dup,
8869ad4a 134OSSL_CMP_PKISI_free,
62dcd2aa 135OSSL_CMP_PKISI_it,
7960dbec 136OSSL_CMP_PKISI_new,
8869ad4a 137OSSL_CMP_PKISTATUS_it,
2a3b52ea 138OSSL_CRMF_CERTID_free,
8869ad4a 139OSSL_CRMF_CERTID_it,
2a3b52ea
DO
140OSSL_CRMF_CERTID_new,
141OSSL_CRMF_CERTTEMPLATE_free,
8869ad4a 142OSSL_CRMF_CERTTEMPLATE_it,
2a3b52ea
DO
143OSSL_CRMF_CERTTEMPLATE_new,
144OSSL_CRMF_ENCRYPTEDVALUE_free,
8869ad4a 145OSSL_CRMF_ENCRYPTEDVALUE_it,
2a3b52ea 146OSSL_CRMF_ENCRYPTEDVALUE_new,
8869ad4a
AK
147OSSL_CRMF_MSGS_free,
148OSSL_CRMF_MSGS_it,
149OSSL_CRMF_MSGS_new,
2a3b52ea 150OSSL_CRMF_MSG_free,
8869ad4a 151OSSL_CRMF_MSG_it,
2a3b52ea
DO
152OSSL_CRMF_MSG_new,
153OSSL_CRMF_PBMPARAMETER_free,
8869ad4a 154OSSL_CRMF_PBMPARAMETER_it,
2a3b52ea
DO
155OSSL_CRMF_PBMPARAMETER_new,
156OSSL_CRMF_PKIPUBLICATIONINFO_free,
8869ad4a 157OSSL_CRMF_PKIPUBLICATIONINFO_it,
2a3b52ea 158OSSL_CRMF_PKIPUBLICATIONINFO_new,
8869ad4a
AK
159OSSL_CRMF_SINGLEPUBINFO_free,
160OSSL_CRMF_SINGLEPUBINFO_it,
161OSSL_CRMF_SINGLEPUBINFO_new,
12ce9ea2
RS
162OTHERNAME_free,
163OTHERNAME_new,
164PBE2PARAM_free,
165PBE2PARAM_new,
166PBEPARAM_free,
167PBEPARAM_new,
168PBKDF2PARAM_free,
169PBKDF2PARAM_new,
170PKCS12_BAGS_free,
171PKCS12_BAGS_new,
172PKCS12_MAC_DATA_free,
173PKCS12_MAC_DATA_new,
174PKCS12_SAFEBAG_free,
175PKCS12_SAFEBAG_new,
176PKCS12_free,
177PKCS12_new,
178PKCS7_DIGEST_free,
179PKCS7_DIGEST_new,
180PKCS7_ENCRYPT_free,
181PKCS7_ENCRYPT_new,
182PKCS7_ENC_CONTENT_free,
183PKCS7_ENC_CONTENT_new,
184PKCS7_ENVELOPE_free,
185PKCS7_ENVELOPE_new,
186PKCS7_ISSUER_AND_SERIAL_free,
187PKCS7_ISSUER_AND_SERIAL_new,
188PKCS7_RECIP_INFO_free,
189PKCS7_RECIP_INFO_new,
190PKCS7_SIGNED_free,
191PKCS7_SIGNED_new,
192PKCS7_SIGNER_INFO_free,
193PKCS7_SIGNER_INFO_new,
194PKCS7_SIGN_ENVELOPE_free,
195PKCS7_SIGN_ENVELOPE_new,
196PKCS7_dup,
197PKCS7_free,
198PKCS7_new,
199PKCS7_print_ctx,
200PKCS8_PRIV_KEY_INFO_free,
201PKCS8_PRIV_KEY_INFO_new,
202PKEY_USAGE_PERIOD_free,
203PKEY_USAGE_PERIOD_new,
204POLICYINFO_free,
205POLICYINFO_new,
206POLICYQUALINFO_free,
207POLICYQUALINFO_new,
208POLICY_CONSTRAINTS_free,
209POLICY_CONSTRAINTS_new,
210POLICY_MAPPING_free,
211POLICY_MAPPING_new,
fa743582
RS
212PROFESSION_INFOS_free,
213PROFESSION_INFOS_new,
227d4265
DMSP
214PROFESSION_INFO_free,
215PROFESSION_INFO_new,
12ce9ea2
RS
216PROXY_CERT_INFO_EXTENSION_free,
217PROXY_CERT_INFO_EXTENSION_new,
218PROXY_POLICY_free,
219PROXY_POLICY_new,
220RSAPrivateKey_dup,
221RSAPublicKey_dup,
222RSA_OAEP_PARAMS_free,
223RSA_OAEP_PARAMS_new,
224RSA_PSS_PARAMS_free,
225RSA_PSS_PARAMS_new,
00606b06
HK
226SCRYPT_PARAMS_free,
227SCRYPT_PARAMS_new,
12ce9ea2
RS
228SXNETID_free,
229SXNETID_new,
230SXNET_free,
231SXNET_new,
232TLS_FEATURE_free,
233TLS_FEATURE_new,
234TS_ACCURACY_dup,
235TS_ACCURACY_free,
236TS_ACCURACY_new,
237TS_MSG_IMPRINT_dup,
238TS_MSG_IMPRINT_free,
239TS_MSG_IMPRINT_new,
240TS_REQ_dup,
241TS_REQ_free,
242TS_REQ_new,
243TS_RESP_dup,
244TS_RESP_free,
245TS_RESP_new,
246TS_STATUS_INFO_dup,
247TS_STATUS_INFO_free,
248TS_STATUS_INFO_new,
249TS_TST_INFO_dup,
250TS_TST_INFO_free,
251TS_TST_INFO_new,
252USERNOTICE_free,
253USERNOTICE_new,
254X509_ALGOR_free,
255X509_ALGOR_new,
256X509_ATTRIBUTE_dup,
257X509_ATTRIBUTE_free,
258X509_ATTRIBUTE_new,
259X509_CERT_AUX_free,
260X509_CERT_AUX_new,
261X509_CINF_free,
262X509_CINF_new,
263X509_CRL_INFO_free,
264X509_CRL_INFO_new,
12ce9ea2
RS
265X509_CRL_dup,
266X509_CRL_free,
267X509_CRL_new,
268X509_EXTENSION_dup,
269X509_EXTENSION_free,
270X509_EXTENSION_new,
271X509_NAME_ENTRY_dup,
272X509_NAME_ENTRY_free,
273X509_NAME_ENTRY_new,
274X509_NAME_dup,
275X509_NAME_free,
276X509_NAME_new,
277X509_REQ_INFO_free,
278X509_REQ_INFO_new,
279X509_REQ_dup,
280X509_REQ_free,
281X509_REQ_new,
282X509_REVOKED_dup,
283X509_REVOKED_free,
284X509_REVOKED_new,
285X509_SIG_free,
286X509_SIG_new,
287X509_VAL_free,
288X509_VAL_new,
289X509_dup,
290- ASN1 object utilities
291
292=head1 SYNOPSIS
293
bb82531f 294=for openssl generic
b97fdb57 295
12ce9ea2
RS
296 #include <openssl/asn1t.h>
297
91da5e77
RS
298 DECLARE_ASN1_FUNCTIONS(type)
299 IMPLEMENT_ASN1_FUNCTIONS(stname)
12ce9ea2
RS
300
301 typedef struct ASN1_ITEM_st ASN1_ITEM;
302
303 extern const ASN1_ITEM TYPE_it;
304 TYPE *TYPE_new(void);
9fdcc21f 305 TYPE *TYPE_dup(const TYPE *a);
12ce9ea2
RS
306 void TYPE_free(TYPE *a);
307 int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);
308
12ce9ea2
RS
309=head1 DESCRIPTION
310
bbecf04e
RL
311In the description below, B<I<TYPE>> is used
312as a placeholder for any of the OpenSSL datatypes, such as B<X509>.
12ce9ea2
RS
313
314The OpenSSL ASN1 parsing library templates are like a data-driven bytecode
315interpreter.
316Every ASN1 object as a global variable, TYPE_it, that describes the item
317such as its fields. (On systems which cannot export variables from shared
318libraries, the global is instead a function which returns a pointer to a
319static variable.
320
321The macro DECLARE_ASN1_FUNCTIONS() is typically used in header files
322to generate the function declarations.
323
324The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file
325to generate the function bodies.
326
327
bbecf04e
RL
328B<I<TYPE>_new>() allocates an empty object of the indicated type.
329The object returned must be released by calling B<I<TYPE>_free>().
12ce9ea2 330
bbecf04e 331B<I<TYPE>_dup>() copies an existing object, leaving it untouched.
12ce9ea2 332
bbecf04e 333B<I<TYPE>_free>() releases the object and all pointers and sub-objects
12ce9ea2
RS
334within it.
335
bbecf04e
RL
336B<I<TYPE>_print_ctx>() prints the object I<a> on the specified BIO I<out>.
337Each line will be prefixed with I<indent> spaces.
338The I<pctx> specifies the printing context and is for internal
12ce9ea2 339use; use NULL to get the default behavior. If a print function is
bbecf04e 340user-defined, then pass in any I<pctx> down to any nested calls.
12ce9ea2
RS
341
342=head1 RETURN VALUES
343
bbecf04e
RL
344B<I<TYPE>_new>() and B<I<TYPE>_dup>() return a pointer to the object or NULL on
345failure.
12ce9ea2 346
bbecf04e 347B<I<TYPE>_print_ctx>() returns 1 on success or zero on failure.
12ce9ea2
RS
348
349=head1 COPYRIGHT
350
6738bf14 351Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
12ce9ea2 352
4746f25a 353Licensed under the Apache License 2.0 (the "License"). You may not use
12ce9ea2
RS
354this file except in compliance with the License. You can obtain a copy
355in the file LICENSE in the source distribution or at
356L<https://www.openssl.org/source/license.html>.
357
358=cut