From: Dr. Stephen Henson Date: Fri, 11 Dec 2015 02:59:10 +0000 (+0000) Subject: Add extension utility documentation. X-Git-Tag: OpenSSL_1_1_0-pre2~251 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=9391ba1b51fac77a1255f3d9a0d275e4cce9d543 Add extension utility documentation. Reviewed-by: Kurt Roeckx --- diff --git a/doc/crypto/X509_EXTENSION_set_object.pod b/doc/crypto/X509_EXTENSION_set_object.pod new file mode 100644 index 0000000000..6afef2b064 --- /dev/null +++ b/doc/crypto/X509_EXTENSION_set_object.pod @@ -0,0 +1,83 @@ +=head1 NAME + +X509_EXTENSION_set_object, X509_EXTENSION_set_critical, +X509_EXTENSION_set_data, X509_EXTENSION_create_by_NID, +X509_EXTENSION_create_by_OBJ, X509_EXTENSION_get_object, +X509_EXTENSION_get_critical, X509_EXTENSION_get_data - extension utility +functions. + +=head1 SYNOPSIS + + int X509_EXTENSION_set_object(X509_EXTENSION *ex, ASN1_OBJECT *obj); + int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); + int X509_EXTENSION_set_data(X509_EXTENSION *ex, ASN1_OCTET_STRING *data); + + X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, + int nid, int crit, + ASN1_OCTET_STRING *data); + X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, + ASN1_OBJECT *obj, int crit, + ASN1_OCTET_STRING *data); + + ASN1_OBJECT *X509_EXTENSION_get_object(X509_EXTENSION *ex); + int X509_EXTENSION_get_critical(X509_EXTENSION *ex); + ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); + +=head1 DESCRIPTION + +X509_EXTENSION_set_object() sets the extension type of B to B. The +B pointer is duplicated internally so B should be freed up after use. + +X509_EXTENSION_set_critical() sets the criticality of B to B. If +B is zero the extension in non-critical otherwise it is critical. + +X509_EXTENSION_set_data() sets the data in extension B to B. The +B pointer is duplicated internally. + +X509_EXTENSION_create_by_NID() creates an extension of type B, +criticality B using data B. The created extension is returned and +written to B<*ex> reusing or allocating a new extension if necessary so B<*ex> +should either be B or a valid B structure it must +B be an uninitialised pointer. + +X509_EXTENSION_create_by_OBJ() is identical to X509_EXTENSION_create_by_NID() +except it creates and extension using B instead of a NID. + +X509_EXTENSION_get_object() returns the extension type of B as an +B pointer. The returned pointer is an internal value which must +not be freed up. + +X509_EXTENSION_get_critical() returns the criticality of extension B it +returns B<1> for critical and B<0> for non-critical. + +X509_EXTENSION_get_data() returns the data of extension B. The returned +pointer is an internal value which must not be freed up. + +=head1 NOTES + +These functions manipulate the contents of an extension directly. Most +applications will want to parse or encode and add an extension: they should +use the extension encode and decode functions instead such as +X509_add1_ext_i2d() and X509_get_ext_d2i(). + +The B associated with an extension is the extension encoding in an +B structure. + +=head1 RETURN VALUES + +X509_EXTENSION_set_object() X509_EXTENSION_set_critical() and +X509_EXTENSION_set_data() return B<1> for success and B<0> for failure. + +X509_EXTENSION_create_by_NID() and X509_EXTENSION_create_by_OBJ() return +an B pointer or B if an error occurs. + +X509_EXTENSION_get_object() returns an B pointer. + +X509_EXTENSION_get_critical() returns B<0> for non-critical and B<1> for +critical. + +X509_EXTENSION_get_data() returns an B pointer. + +=head1 SEE ALSO + +L