]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/X509_dup.pod
Certificate Management Protocol (CMP, RFC 4210) extension to OpenSSL
[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,
8869ad4a 125OSSL_CMP_ITAV_free,
227d4265 126OSSL_CMP_MSG_it,
7960dbec 127OSSL_CMP_MSG_free,
8869ad4a
AK
128OSSL_CMP_PKIHEADER_free,
129OSSL_CMP_PKIHEADER_it,
130OSSL_CMP_PKIHEADER_new,
131OSSL_CMP_PKISI_free,
7960dbec 132OSSL_CMP_PKISI_new,
8869ad4a 133OSSL_CMP_PKISTATUS_it,
2a3b52ea 134OSSL_CRMF_CERTID_free,
8869ad4a 135OSSL_CRMF_CERTID_it,
2a3b52ea
DO
136OSSL_CRMF_CERTID_new,
137OSSL_CRMF_CERTTEMPLATE_free,
8869ad4a 138OSSL_CRMF_CERTTEMPLATE_it,
2a3b52ea
DO
139OSSL_CRMF_CERTTEMPLATE_new,
140OSSL_CRMF_ENCRYPTEDVALUE_free,
8869ad4a 141OSSL_CRMF_ENCRYPTEDVALUE_it,
2a3b52ea 142OSSL_CRMF_ENCRYPTEDVALUE_new,
8869ad4a
AK
143OSSL_CRMF_MSGS_free,
144OSSL_CRMF_MSGS_it,
145OSSL_CRMF_MSGS_new,
2a3b52ea 146OSSL_CRMF_MSG_free,
8869ad4a 147OSSL_CRMF_MSG_it,
2a3b52ea
DO
148OSSL_CRMF_MSG_new,
149OSSL_CRMF_PBMPARAMETER_free,
8869ad4a 150OSSL_CRMF_PBMPARAMETER_it,
2a3b52ea
DO
151OSSL_CRMF_PBMPARAMETER_new,
152OSSL_CRMF_PKIPUBLICATIONINFO_free,
8869ad4a 153OSSL_CRMF_PKIPUBLICATIONINFO_it,
2a3b52ea 154OSSL_CRMF_PKIPUBLICATIONINFO_new,
8869ad4a
AK
155OSSL_CRMF_SINGLEPUBINFO_free,
156OSSL_CRMF_SINGLEPUBINFO_it,
157OSSL_CRMF_SINGLEPUBINFO_new,
12ce9ea2
RS
158OTHERNAME_free,
159OTHERNAME_new,
160PBE2PARAM_free,
161PBE2PARAM_new,
162PBEPARAM_free,
163PBEPARAM_new,
164PBKDF2PARAM_free,
165PBKDF2PARAM_new,
166PKCS12_BAGS_free,
167PKCS12_BAGS_new,
168PKCS12_MAC_DATA_free,
169PKCS12_MAC_DATA_new,
170PKCS12_SAFEBAG_free,
171PKCS12_SAFEBAG_new,
172PKCS12_free,
173PKCS12_new,
174PKCS7_DIGEST_free,
175PKCS7_DIGEST_new,
176PKCS7_ENCRYPT_free,
177PKCS7_ENCRYPT_new,
178PKCS7_ENC_CONTENT_free,
179PKCS7_ENC_CONTENT_new,
180PKCS7_ENVELOPE_free,
181PKCS7_ENVELOPE_new,
182PKCS7_ISSUER_AND_SERIAL_free,
183PKCS7_ISSUER_AND_SERIAL_new,
184PKCS7_RECIP_INFO_free,
185PKCS7_RECIP_INFO_new,
186PKCS7_SIGNED_free,
187PKCS7_SIGNED_new,
188PKCS7_SIGNER_INFO_free,
189PKCS7_SIGNER_INFO_new,
190PKCS7_SIGN_ENVELOPE_free,
191PKCS7_SIGN_ENVELOPE_new,
192PKCS7_dup,
193PKCS7_free,
194PKCS7_new,
195PKCS7_print_ctx,
196PKCS8_PRIV_KEY_INFO_free,
197PKCS8_PRIV_KEY_INFO_new,
198PKEY_USAGE_PERIOD_free,
199PKEY_USAGE_PERIOD_new,
200POLICYINFO_free,
201POLICYINFO_new,
202POLICYQUALINFO_free,
203POLICYQUALINFO_new,
204POLICY_CONSTRAINTS_free,
205POLICY_CONSTRAINTS_new,
206POLICY_MAPPING_free,
207POLICY_MAPPING_new,
fa743582
RS
208PROFESSION_INFOS_free,
209PROFESSION_INFOS_new,
227d4265
DMSP
210PROFESSION_INFO_free,
211PROFESSION_INFO_new,
12ce9ea2
RS
212PROXY_CERT_INFO_EXTENSION_free,
213PROXY_CERT_INFO_EXTENSION_new,
214PROXY_POLICY_free,
215PROXY_POLICY_new,
216RSAPrivateKey_dup,
217RSAPublicKey_dup,
218RSA_OAEP_PARAMS_free,
219RSA_OAEP_PARAMS_new,
220RSA_PSS_PARAMS_free,
221RSA_PSS_PARAMS_new,
00606b06
HK
222SCRYPT_PARAMS_free,
223SCRYPT_PARAMS_new,
12ce9ea2
RS
224SXNETID_free,
225SXNETID_new,
226SXNET_free,
227SXNET_new,
228TLS_FEATURE_free,
229TLS_FEATURE_new,
230TS_ACCURACY_dup,
231TS_ACCURACY_free,
232TS_ACCURACY_new,
233TS_MSG_IMPRINT_dup,
234TS_MSG_IMPRINT_free,
235TS_MSG_IMPRINT_new,
236TS_REQ_dup,
237TS_REQ_free,
238TS_REQ_new,
239TS_RESP_dup,
240TS_RESP_free,
241TS_RESP_new,
242TS_STATUS_INFO_dup,
243TS_STATUS_INFO_free,
244TS_STATUS_INFO_new,
245TS_TST_INFO_dup,
246TS_TST_INFO_free,
247TS_TST_INFO_new,
248USERNOTICE_free,
249USERNOTICE_new,
250X509_ALGOR_free,
251X509_ALGOR_new,
252X509_ATTRIBUTE_dup,
253X509_ATTRIBUTE_free,
254X509_ATTRIBUTE_new,
255X509_CERT_AUX_free,
256X509_CERT_AUX_new,
257X509_CINF_free,
258X509_CINF_new,
259X509_CRL_INFO_free,
260X509_CRL_INFO_new,
12ce9ea2
RS
261X509_CRL_dup,
262X509_CRL_free,
263X509_CRL_new,
264X509_EXTENSION_dup,
265X509_EXTENSION_free,
266X509_EXTENSION_new,
267X509_NAME_ENTRY_dup,
268X509_NAME_ENTRY_free,
269X509_NAME_ENTRY_new,
270X509_NAME_dup,
271X509_NAME_free,
272X509_NAME_new,
273X509_REQ_INFO_free,
274X509_REQ_INFO_new,
275X509_REQ_dup,
276X509_REQ_free,
277X509_REQ_new,
278X509_REVOKED_dup,
279X509_REVOKED_free,
280X509_REVOKED_new,
281X509_SIG_free,
282X509_SIG_new,
283X509_VAL_free,
284X509_VAL_new,
285X509_dup,
286- ASN1 object utilities
287
288=head1 SYNOPSIS
289
b97fdb57
RL
290=for comment generic
291
12ce9ea2
RS
292 #include <openssl/asn1t.h>
293
91da5e77
RS
294 DECLARE_ASN1_FUNCTIONS(type)
295 IMPLEMENT_ASN1_FUNCTIONS(stname)
12ce9ea2
RS
296
297 typedef struct ASN1_ITEM_st ASN1_ITEM;
298
299 extern const ASN1_ITEM TYPE_it;
300 TYPE *TYPE_new(void);
9fdcc21f 301 TYPE *TYPE_dup(const TYPE *a);
12ce9ea2
RS
302 void TYPE_free(TYPE *a);
303 int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);
304
12ce9ea2
RS
305=head1 DESCRIPTION
306
307In the description below, I<TYPE> is used
308as a placeholder for any of the OpenSSL datatypes, such as I<X509>.
309
310The OpenSSL ASN1 parsing library templates are like a data-driven bytecode
311interpreter.
312Every ASN1 object as a global variable, TYPE_it, that describes the item
313such as its fields. (On systems which cannot export variables from shared
314libraries, the global is instead a function which returns a pointer to a
315static variable.
316
317The macro DECLARE_ASN1_FUNCTIONS() is typically used in header files
318to generate the function declarations.
319
320The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file
321to generate the function bodies.
322
323
324TYPE_new() allocates an empty object of the indicated type.
325The object returned must be released by calling TYPE_free().
326
9fdcc21f 327TYPE_dup() copies an existing object, leaving it untouched.
12ce9ea2
RS
328
329TYPE_free() releases the object and all pointers and sub-objects
330within it.
331
332TYPE_print_ctx() prints the object B<a> on the specified BIO B<out>.
333Each line will be prefixed with B<indent> spaces.
334The B<pctx> specifies the printing context and is for internal
335use; use NULL to get the default behavior. If a print function is
336user-defined, then pass in any B<pctx> down to any nested calls.
337
338=head1 RETURN VALUES
339
340TYPE_new() and TYPE_dup() return a pointer to the object or NULL on failure.
341
342TYPE_print_ctx() returns 1 on success or zero on failure.
343
344=head1 COPYRIGHT
345
6738bf14 346Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
12ce9ea2 347
4746f25a 348Licensed under the Apache License 2.0 (the "License"). You may not use
12ce9ea2
RS
349this file except in compliance with the License. You can obtain a copy
350in the file LICENSE in the source distribution or at
351L<https://www.openssl.org/source/license.html>.
352
353=cut