From ff7fbfd55039c6d1a003304abd89959365309d74 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Mon, 2 Nov 2015 11:52:01 +0000 Subject: [PATCH] Document new functions Reviewed-by: Tim Hudson --- doc/crypto/X509V3_get_d2i.pod | 12 ++++++++ doc/crypto/X509_get0_signature.pod | 8 +++-- doc/crypto/X509_get0_uids.pod | 47 ++++++++++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 doc/crypto/X509_get0_uids.pod diff --git a/doc/crypto/X509V3_get_d2i.pod b/doc/crypto/X509V3_get_d2i.pod index 8e7848894d..82500106cc 100644 --- a/doc/crypto/X509V3_get_d2i.pod +++ b/doc/crypto/X509V3_get_d2i.pod @@ -31,6 +31,10 @@ X509_REVOKED_add1_ext_i2d - X509 extension decode and encode functions int X509_REVOKED_add1_ext_i2d(X509_REVOKED *r, int nid, void *value, int crit, unsigned long flags); + STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x); + STACK_OF(X509_EXTENSION) *X509_CRL_get0_extensions(X509_CRL *crl); + STACK_OF(X509_EXTENSION) *X509_REVOKED_get0_extensions(X509_REVOKED *r); + =head1 DESCRIPTION X509V3_get_ext_d2i() looks for an extension with OID B in the extensions @@ -66,6 +70,10 @@ X509_REVOKED_get_ext_d2i() and X509_REVOKED_add1_ext_i2d() operate on the extensions of B structure B (i.e for CRL entry extensions), they are otherwise identical to X509V3_get_d2i() and X509V3_add_i2d(). +X509_get0_extensions(), X509_CRL_get0_extensions() and +X509_REVOKED_get0_extensions() return a stack of all the extensions +of a certificate a CRL or a CRL entry respectively. + =head1 NOTES In almost all cases an extension can occur at most once and multiple @@ -195,6 +203,10 @@ fails due to a non-fatal error (extension not found, already exists, cannot be encoded) or -1 due to a fatal error such as a memory allocation failure. +X509_get0_extensions(), X509_CRL_get0_extensions() and +X509_REVOKED_get0_extensions() return a stack of extensions. They can return +NULL if no extensions are present. + =head1 SEE ALSO L, diff --git a/doc/crypto/X509_get0_signature.pod b/doc/crypto/X509_get0_signature.pod index 102c0c6e97..8758684482 100644 --- a/doc/crypto/X509_get0_signature.pod +++ b/doc/crypto/X509_get0_signature.pod @@ -2,8 +2,8 @@ =head1 NAME -X509_get0_signature, X509_get_signature_nid, X509_REQ_get0_signature, -X509_REQ_get_signature_nid, X509_CRL_get0_signature, +X509_get0_signature, X509_get_signature_nid, X509_get0_tbs_sigalg, +X509_REQ_get0_signature, X509_REQ_get_signature_nid, X509_CRL_get0_signature, X509_CRL_get_signature_nid - signature information. =head1 SYNOPSIS @@ -13,6 +13,7 @@ X509_CRL_get_signature_nid - signature information. void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, const X509 *x); int X509_get_signature_nid(const X509 *x); + X509_ALGOR *X509_get0_tbs_sigalg(X509 *x); void X509_REQ_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg, const X509_REQ *crl); @@ -28,6 +29,9 @@ X509_get0_signature() sets B<*psig> to the signature of B and B<*palg> to the signature algorithm of B. The values returned are internal pointers which B be freed up after the call. +X509_get0_tbs_sigalg() returns the signature algorithm in the signed +portion of B. + X509_get_signature_nid() returns the NID corresponding to the signature algorithm of B. diff --git a/doc/crypto/X509_get0_uids.pod b/doc/crypto/X509_get0_uids.pod new file mode 100644 index 0000000000..a61c267449 --- /dev/null +++ b/doc/crypto/X509_get0_uids.pod @@ -0,0 +1,47 @@ +=pod + +=head1 NAME + +X509_get0_uids - get certificate unique identifiers + +=head1 SYNOPSIS + + #include + + void X509_get0_uids(ASN1_BIT_STRING **piuid, ASN1_BIT_STRING **psuid, X509 *x); + +=head1 DESCRIPTION + +X509_get0_uids() sets B<*piuid> and B<*psuid> to the issuer and subject unique +identifiers of certificate B or NULL if the fields are not present. + +=head1 NOTES + +The issuer and subject unique identifier fields are very rarely encountered in +practice outside test cases. + +=head1 RETURN VALUES + +X509_get0_uids() does not return a value. + +=head1 SEE ALSO + +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L + +=cut -- GitLab