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