mirror of https://github.com/openssl/openssl.git
				
				
				
			
		
			
				
	
	
		
			390 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			390 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| =pod
 | |
| 
 | |
| =head1 NAME
 | |
| 
 | |
| DECLARE_ASN1_FUNCTIONS,
 | |
| IMPLEMENT_ASN1_FUNCTIONS,
 | |
| ASN1_ITEM,
 | |
| ACCESS_DESCRIPTION_free,
 | |
| ACCESS_DESCRIPTION_new,
 | |
| ADMISSIONS_free,
 | |
| ADMISSIONS_new,
 | |
| ADMISSION_SYNTAX_free,
 | |
| ADMISSION_SYNTAX_new,
 | |
| ASIdOrRange_free,
 | |
| ASIdOrRange_new,
 | |
| ASIdentifierChoice_free,
 | |
| ASIdentifierChoice_new,
 | |
| ASIdentifiers_free,
 | |
| ASIdentifiers_new,
 | |
| ASRange_free,
 | |
| ASRange_new,
 | |
| AUTHORITY_INFO_ACCESS_free,
 | |
| AUTHORITY_INFO_ACCESS_new,
 | |
| AUTHORITY_KEYID_free,
 | |
| AUTHORITY_KEYID_new,
 | |
| BASIC_CONSTRAINTS_free,
 | |
| BASIC_CONSTRAINTS_new,
 | |
| CERTIFICATEPOLICIES_free,
 | |
| CERTIFICATEPOLICIES_new,
 | |
| CMS_ContentInfo_free,
 | |
| CMS_ContentInfo_new,
 | |
| CMS_ContentInfo_new_ex,
 | |
| CMS_ContentInfo_print_ctx,
 | |
| CMS_ReceiptRequest_free,
 | |
| CMS_ReceiptRequest_new,
 | |
| CRL_DIST_POINTS_free,
 | |
| CRL_DIST_POINTS_new,
 | |
| DIRECTORYSTRING_free,
 | |
| DIRECTORYSTRING_new,
 | |
| DISPLAYTEXT_free,
 | |
| DISPLAYTEXT_new,
 | |
| DIST_POINT_NAME_free,
 | |
| DIST_POINT_NAME_new,
 | |
| DIST_POINT_free,
 | |
| DIST_POINT_new,
 | |
| DSAparams_dup,
 | |
| ECPARAMETERS_free,
 | |
| ECPARAMETERS_new,
 | |
| ECPKPARAMETERS_free,
 | |
| ECPKPARAMETERS_new,
 | |
| EDIPARTYNAME_free,
 | |
| EDIPARTYNAME_new,
 | |
| ESS_CERT_ID_dup,
 | |
| ESS_CERT_ID_free,
 | |
| ESS_CERT_ID_new,
 | |
| ESS_CERT_ID_V2_dup,
 | |
| ESS_CERT_ID_V2_free,
 | |
| ESS_CERT_ID_V2_new,
 | |
| ESS_ISSUER_SERIAL_dup,
 | |
| ESS_ISSUER_SERIAL_free,
 | |
| ESS_ISSUER_SERIAL_new,
 | |
| ESS_SIGNING_CERT_dup,
 | |
| ESS_SIGNING_CERT_free,
 | |
| ESS_SIGNING_CERT_new,
 | |
| ESS_SIGNING_CERT_V2_dup,
 | |
| ESS_SIGNING_CERT_V2_free,
 | |
| ESS_SIGNING_CERT_V2_new,
 | |
| EXTENDED_KEY_USAGE_free,
 | |
| EXTENDED_KEY_USAGE_new,
 | |
| GENERAL_NAMES_free,
 | |
| GENERAL_NAMES_new,
 | |
| GENERAL_NAME_dup,
 | |
| GENERAL_NAME_free,
 | |
| GENERAL_NAME_new,
 | |
| GENERAL_SUBTREE_free,
 | |
| GENERAL_SUBTREE_new,
 | |
| IPAddressChoice_free,
 | |
| IPAddressChoice_new,
 | |
| IPAddressFamily_free,
 | |
| IPAddressFamily_new,
 | |
| IPAddressOrRange_free,
 | |
| IPAddressOrRange_new,
 | |
| IPAddressRange_free,
 | |
| IPAddressRange_new,
 | |
| ISSUER_SIGN_TOOL_free,
 | |
| ISSUER_SIGN_TOOL_it,
 | |
| ISSUER_SIGN_TOOL_new,
 | |
| ISSUING_DIST_POINT_free,
 | |
| ISSUING_DIST_POINT_it,
 | |
| ISSUING_DIST_POINT_new,
 | |
| NAME_CONSTRAINTS_free,
 | |
| NAME_CONSTRAINTS_new,
 | |
| NAMING_AUTHORITY_free,
 | |
| NAMING_AUTHORITY_new,
 | |
| NETSCAPE_CERT_SEQUENCE_free,
 | |
| NETSCAPE_CERT_SEQUENCE_new,
 | |
| NETSCAPE_SPKAC_free,
 | |
| NETSCAPE_SPKAC_new,
 | |
| NETSCAPE_SPKI_free,
 | |
| NETSCAPE_SPKI_new,
 | |
| NOTICEREF_free,
 | |
| NOTICEREF_new,
 | |
| OCSP_BASICRESP_free,
 | |
| OCSP_BASICRESP_new,
 | |
| OCSP_CERTID_dup,
 | |
| OCSP_CERTID_new,
 | |
| OCSP_CERTSTATUS_free,
 | |
| OCSP_CERTSTATUS_new,
 | |
| OCSP_CRLID_free,
 | |
| OCSP_CRLID_new,
 | |
| OCSP_ONEREQ_free,
 | |
| OCSP_ONEREQ_new,
 | |
| OCSP_REQINFO_free,
 | |
| OCSP_REQINFO_new,
 | |
| OCSP_RESPBYTES_free,
 | |
| OCSP_RESPBYTES_new,
 | |
| OCSP_RESPDATA_free,
 | |
| OCSP_RESPDATA_new,
 | |
| OCSP_RESPID_free,
 | |
| OCSP_RESPID_new,
 | |
| OCSP_RESPONSE_new,
 | |
| OCSP_REVOKEDINFO_free,
 | |
| OCSP_REVOKEDINFO_new,
 | |
| OCSP_SERVICELOC_free,
 | |
| OCSP_SERVICELOC_new,
 | |
| OCSP_SIGNATURE_free,
 | |
| OCSP_SIGNATURE_new,
 | |
| OCSP_SINGLERESP_free,
 | |
| OCSP_SINGLERESP_new,
 | |
| OSSL_CMP_ITAV_dup,
 | |
| OSSL_CMP_ITAV_free,
 | |
| OSSL_CMP_MSG_dup,
 | |
| OSSL_CMP_MSG_it,
 | |
| OSSL_CMP_MSG_free,
 | |
| OSSL_CMP_PKIHEADER_free,
 | |
| OSSL_CMP_PKIHEADER_it,
 | |
| OSSL_CMP_PKIHEADER_new,
 | |
| OSSL_CMP_PKISI_dup,
 | |
| OSSL_CMP_PKISI_free,
 | |
| OSSL_CMP_PKISI_it,
 | |
| OSSL_CMP_PKISI_new,
 | |
| OSSL_CMP_PKISTATUS_it,
 | |
| OSSL_CRMF_CERTID_dup,
 | |
| OSSL_CRMF_CERTID_free,
 | |
| OSSL_CRMF_CERTID_it,
 | |
| OSSL_CRMF_CERTID_new,
 | |
| OSSL_CRMF_CERTTEMPLATE_free,
 | |
| OSSL_CRMF_CERTTEMPLATE_it,
 | |
| OSSL_CRMF_CERTTEMPLATE_new,
 | |
| OSSL_CRMF_ENCRYPTEDVALUE_free,
 | |
| OSSL_CRMF_ENCRYPTEDVALUE_it,
 | |
| OSSL_CRMF_ENCRYPTEDVALUE_new,
 | |
| OSSL_CRMF_MSGS_free,
 | |
| OSSL_CRMF_MSGS_it,
 | |
| OSSL_CRMF_MSGS_new,
 | |
| OSSL_CRMF_MSG_dup,
 | |
| OSSL_CRMF_MSG_free,
 | |
| OSSL_CRMF_MSG_it,
 | |
| OSSL_CRMF_MSG_new,
 | |
| OSSL_CRMF_PBMPARAMETER_free,
 | |
| OSSL_CRMF_PBMPARAMETER_it,
 | |
| OSSL_CRMF_PBMPARAMETER_new,
 | |
| OSSL_CRMF_PKIPUBLICATIONINFO_free,
 | |
| OSSL_CRMF_PKIPUBLICATIONINFO_it,
 | |
| OSSL_CRMF_PKIPUBLICATIONINFO_new,
 | |
| OSSL_CRMF_SINGLEPUBINFO_free,
 | |
| OSSL_CRMF_SINGLEPUBINFO_it,
 | |
| OSSL_CRMF_SINGLEPUBINFO_new,
 | |
| OTHERNAME_free,
 | |
| OTHERNAME_new,
 | |
| PBE2PARAM_free,
 | |
| PBE2PARAM_new,
 | |
| PBEPARAM_free,
 | |
| PBEPARAM_new,
 | |
| PBKDF2PARAM_free,
 | |
| PBKDF2PARAM_new,
 | |
| PKCS12_BAGS_free,
 | |
| PKCS12_BAGS_new,
 | |
| PKCS12_MAC_DATA_free,
 | |
| PKCS12_MAC_DATA_new,
 | |
| PKCS12_SAFEBAG_free,
 | |
| PKCS12_SAFEBAG_new,
 | |
| PKCS12_free,
 | |
| PKCS12_new,
 | |
| PKCS7_DIGEST_free,
 | |
| PKCS7_DIGEST_new,
 | |
| PKCS7_ENCRYPT_free,
 | |
| PKCS7_ENCRYPT_new,
 | |
| PKCS7_ENC_CONTENT_free,
 | |
| PKCS7_ENC_CONTENT_new,
 | |
| PKCS7_ENVELOPE_free,
 | |
| PKCS7_ENVELOPE_new,
 | |
| PKCS7_ISSUER_AND_SERIAL_free,
 | |
| PKCS7_ISSUER_AND_SERIAL_new,
 | |
| PKCS7_RECIP_INFO_free,
 | |
| PKCS7_RECIP_INFO_new,
 | |
| PKCS7_SIGNED_free,
 | |
| PKCS7_SIGNED_new,
 | |
| PKCS7_SIGNER_INFO_free,
 | |
| PKCS7_SIGNER_INFO_new,
 | |
| PKCS7_SIGN_ENVELOPE_free,
 | |
| PKCS7_SIGN_ENVELOPE_new,
 | |
| PKCS7_dup,
 | |
| PKCS7_free,
 | |
| PKCS7_new_ex,
 | |
| PKCS7_new,
 | |
| PKCS7_print_ctx,
 | |
| PKCS8_PRIV_KEY_INFO_free,
 | |
| PKCS8_PRIV_KEY_INFO_new,
 | |
| PKEY_USAGE_PERIOD_free,
 | |
| PKEY_USAGE_PERIOD_new,
 | |
| POLICYINFO_free,
 | |
| POLICYINFO_new,
 | |
| POLICYQUALINFO_free,
 | |
| POLICYQUALINFO_new,
 | |
| POLICY_CONSTRAINTS_free,
 | |
| POLICY_CONSTRAINTS_new,
 | |
| POLICY_MAPPING_free,
 | |
| POLICY_MAPPING_new,
 | |
| PROFESSION_INFOS_free,
 | |
| PROFESSION_INFOS_new,
 | |
| PROFESSION_INFO_free,
 | |
| PROFESSION_INFO_new,
 | |
| PROXY_CERT_INFO_EXTENSION_free,
 | |
| PROXY_CERT_INFO_EXTENSION_new,
 | |
| PROXY_POLICY_free,
 | |
| PROXY_POLICY_new,
 | |
| RSAPrivateKey_dup,
 | |
| RSAPublicKey_dup,
 | |
| RSA_OAEP_PARAMS_free,
 | |
| RSA_OAEP_PARAMS_new,
 | |
| RSA_PSS_PARAMS_free,
 | |
| RSA_PSS_PARAMS_new,
 | |
| RSA_PSS_PARAMS_dup,
 | |
| SCRYPT_PARAMS_free,
 | |
| SCRYPT_PARAMS_new,
 | |
| SXNETID_free,
 | |
| SXNETID_new,
 | |
| SXNET_free,
 | |
| SXNET_new,
 | |
| TLS_FEATURE_free,
 | |
| TLS_FEATURE_new,
 | |
| TS_ACCURACY_dup,
 | |
| TS_ACCURACY_free,
 | |
| TS_ACCURACY_new,
 | |
| TS_MSG_IMPRINT_dup,
 | |
| TS_MSG_IMPRINT_free,
 | |
| TS_MSG_IMPRINT_new,
 | |
| TS_REQ_dup,
 | |
| TS_REQ_free,
 | |
| TS_REQ_new,
 | |
| TS_RESP_dup,
 | |
| TS_RESP_free,
 | |
| TS_RESP_new,
 | |
| TS_STATUS_INFO_dup,
 | |
| TS_STATUS_INFO_free,
 | |
| TS_STATUS_INFO_new,
 | |
| TS_TST_INFO_dup,
 | |
| TS_TST_INFO_free,
 | |
| TS_TST_INFO_new,
 | |
| USERNOTICE_free,
 | |
| USERNOTICE_new,
 | |
| X509_ALGOR_free,
 | |
| X509_ALGOR_it,
 | |
| X509_ALGOR_new,
 | |
| X509_ATTRIBUTE_dup,
 | |
| X509_ATTRIBUTE_free,
 | |
| X509_ATTRIBUTE_new,
 | |
| X509_CERT_AUX_free,
 | |
| X509_CERT_AUX_new,
 | |
| X509_CINF_free,
 | |
| X509_CINF_new,
 | |
| X509_CRL_INFO_free,
 | |
| X509_CRL_INFO_new,
 | |
| X509_CRL_dup,
 | |
| X509_CRL_free,
 | |
| X509_CRL_new,
 | |
| X509_EXTENSION_dup,
 | |
| X509_EXTENSION_free,
 | |
| X509_EXTENSION_new,
 | |
| X509_NAME_ENTRY_dup,
 | |
| X509_NAME_ENTRY_free,
 | |
| X509_NAME_ENTRY_new,
 | |
| X509_NAME_dup,
 | |
| X509_NAME_free,
 | |
| X509_NAME_new,
 | |
| X509_REQ_INFO_free,
 | |
| X509_REQ_INFO_new,
 | |
| X509_REQ_dup,
 | |
| X509_REQ_free,
 | |
| X509_REQ_new,
 | |
| X509_REQ_new_ex,
 | |
| X509_REVOKED_dup,
 | |
| X509_REVOKED_free,
 | |
| X509_REVOKED_new,
 | |
| X509_SIG_free,
 | |
| X509_SIG_new,
 | |
| X509_VAL_free,
 | |
| X509_VAL_new,
 | |
| X509_dup,
 | |
| - ASN1 object utilities
 | |
| 
 | |
| =head1 SYNOPSIS
 | |
| 
 | |
| =for openssl generic
 | |
| 
 | |
|  #include <openssl/asn1t.h>
 | |
| 
 | |
|  DECLARE_ASN1_FUNCTIONS(type)
 | |
|  IMPLEMENT_ASN1_FUNCTIONS(stname)
 | |
| 
 | |
|  typedef struct ASN1_ITEM_st ASN1_ITEM;
 | |
| 
 | |
|  extern const ASN1_ITEM TYPE_it;
 | |
|  TYPE *TYPE_new(void);
 | |
|  TYPE *TYPE_dup(const TYPE *a);
 | |
|  void TYPE_free(TYPE *a);
 | |
|  int TYPE_print_ctx(BIO *out, TYPE *a, int indent, const ASN1_PCTX *pctx);
 | |
| 
 | |
| Deprecated since OpenSSL 3.0, can be hidden entirely by defining
 | |
| B<OPENSSL_API_COMPAT> with a suitable version value, see
 | |
| L<openssl_user_macros(7)>:
 | |
| 
 | |
|  DSA *DSAparams_dup(const DSA *dsa);
 | |
|  RSA *RSAPrivateKey_dup(const RSA *rsa);
 | |
|  RSA *RSAPublicKey_dup(const RSA *rsa);
 | |
| 
 | |
| =head1 DESCRIPTION
 | |
| 
 | |
| In the description below, B<I<TYPE>> is used
 | |
| as a placeholder for any of the OpenSSL datatypes, such as B<X509>.
 | |
| 
 | |
| The OpenSSL ASN1 parsing library templates are like a data-driven bytecode
 | |
| interpreter.
 | |
| Every ASN1 object as a global variable, TYPE_it, that describes the item
 | |
| such as its fields.  (On systems which cannot export variables from shared
 | |
| libraries, the global is instead a function which returns a pointer to a
 | |
| static variable.
 | |
| 
 | |
| The macro DECLARE_ASN1_FUNCTIONS() is typically used in header files
 | |
| to generate the function declarations.
 | |
| 
 | |
| The macro IMPLEMENT_ASN1_FUNCTIONS() is used once in a source file
 | |
| to generate the function bodies.
 | |
| 
 | |
| 
 | |
| B<I<TYPE>_new>() allocates an empty object of the indicated type.
 | |
| The object returned must be released by calling B<I<TYPE>_free>().
 | |
| 
 | |
| B<I<TYPE>_new_ex>() is similiar to B<I<TYPE>_new>() but also passes the
 | |
| library context I<libctx> and the property query I<propq> to use when retrieving
 | |
| algorithms from providers.
 | |
| 
 | |
| B<I<TYPE>_dup>() copies an existing object, leaving it untouched.
 | |
| 
 | |
| B<I<TYPE>_free>() releases the object and all pointers and sub-objects
 | |
| within it.
 | |
| 
 | |
| B<I<TYPE>_print_ctx>() prints the object I<a> on the specified BIO I<out>.
 | |
| Each line will be prefixed with I<indent> spaces.
 | |
| The I<pctx> specifies the printing context and is for internal
 | |
| use; use NULL to get the default behavior.  If a print function is
 | |
| user-defined, then pass in any I<pctx> down to any nested calls.
 | |
| 
 | |
| =head1 RETURN VALUES
 | |
| 
 | |
| B<I<TYPE>_new>(), B<I<TYPE>_new_ex>() and B<I<TYPE>_dup>() return a pointer to
 | |
| the object or NULL on failure.
 | |
| 
 | |
| B<I<TYPE>_print_ctx>() returns 1 on success or zero on failure.
 | |
| 
 | |
| =head1 HISTORY
 | |
| 
 | |
| The functions PKCS7_new_ex() and CMS_ContentInfo_new_ex() were
 | |
| added in OpenSSL 3.0.
 | |
| 
 | |
| The functions DSAparams_dup(), RSAPrivateKey_dup() and RSAPublicKey_dup() were
 | |
| deprecated in 3.0.
 | |
| 
 | |
| =head1 COPYRIGHT
 | |
| 
 | |
| Copyright 2016-2021 The OpenSSL Project Authors. All Rights Reserved.
 | |
| 
 | |
| Licensed under the Apache License 2.0 (the "License").  You may not use
 | |
| this file except in compliance with the License.  You can obtain a copy
 | |
| in the file LICENSE in the source distribution or at
 | |
| L<https://www.openssl.org/source/license.html>.
 | |
| 
 | |
| =cut
 |