diff options
Diffstat (limited to 'static/freebsd/man3/X509_ACERT_get0_holder_baseCertId.3')
| -rw-r--r-- | static/freebsd/man3/X509_ACERT_get0_holder_baseCertId.3 | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/static/freebsd/man3/X509_ACERT_get0_holder_baseCertId.3 b/static/freebsd/man3/X509_ACERT_get0_holder_baseCertId.3 new file mode 100644 index 00000000..00e537a8 --- /dev/null +++ b/static/freebsd/man3/X509_ACERT_get0_holder_baseCertId.3 @@ -0,0 +1,171 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" Required to disable full justification in groff 1.23.0. +.if n .ds AD l +.\" ======================================================================== +.\" +.IX Title "X509_ACERT_GET0_HOLDER_BASECERTID 3ossl" +.TH X509_ACERT_GET0_HOLDER_BASECERTID 3ossl 2026-04-07 3.5.6 OpenSSL +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +X509_ACERT_get0_holder_baseCertId, +X509_ACERT_get0_holder_digest, +X509_ACERT_get0_holder_entityName, +X509_ACERT_set0_holder_baseCertId, +X509_ACERT_set0_holder_digest, +X509_ACERT_set0_holder_entityName, +OSSL_ISSUER_SERIAL_get0_issuer, +OSSL_ISSUER_SERIAL_get0_issuerUID, +OSSL_ISSUER_SERIAL_get0_serial, +OSSL_ISSUER_SERIAL_set1_issuer, +OSSL_ISSUER_SERIAL_set1_issuerUID, +OSSL_ISSUER_SERIAL_set1_serial, +OSSL_OBJECT_DIGEST_INFO_get0_digest, +OSSL_OBJECT_DIGEST_INFO_set1_digest \- get and set Attribute Certificate holder fields +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 1 +\& #include <openssl/x509_acert.h> +\& +\& const GENERAL_NAMES *X509_ACERT_get0_holder_entityName(const X509_ACERT *x); +\& OSSL_ISSUER_SERIAL *X509_ACERT_get0_holder_baseCertId(const X509_ACERT *x); +\& OSSL_OBJECT_DIGEST_INFO * X509_ACERT_get0_holder_digest(const X509_ACERT *x); +\& void X509_ACERT_set0_holder_entityName(X509_ACERT *x, GENERAL_NAMES *name); +\& void X509_ACERT_set0_holder_baseCertId(X509_ACERT *x, OSSL_ISSUER_SERIAL *isss); +\& void X509_ACERT_set0_holder_digest(X509_ACERT *x, +\& OSSL_OBJECT_DIGEST_INFO *dinfo); +\& +\& X509_NAME *OSSL_ISSUER_SERIAL_get0_issuer(OSSL_ISSUER_SERIAL *isss); +\& ASN1_INTEGER *OSSL_ISSUER_SERIAL_get0_serial(OSSL_ISSUER_SERIAL *isss); +\& ASN1_BIT_STRING *OSSL_ISSUER_SERIAL_get0_issuerUID(OSSL_ISSUER_SERIAL *isss); +\& int OSSL_ISSUER_SERIAL_set1_issuer(OSSL_ISSUER_SERIAL *isss, X509_NAME *issuer); +\& int OSSL_ISSUER_SERIAL_set1_serial(OSSL_ISSUER_SERIAL *isss, ASN1_INTEGER *serial); +\& int OSSL_ISSUER_SERIAL_set1_issuerUID(OSSL_ISSUER_SERIAL *isss, ASN1_BIT_STRING *uid); +\& +\& void OSSL_OBJECT_DIGEST_INFO_get0_digest(OSSL_OBJECT_DIGEST_INFO *o, +\& ASN1_ENUMERATED **digestedObjectType, +\& X509_ALGOR **digestAlgorithm, +\& ASN1_BIT_STRING **digest); +\& void OSSL_OBJECT_DIGEST_INFO_set1_digest(OSSL_OBJECT_DIGEST_INFO *o, +\& ASN1_ENUMERATED *digestedObjectType, +\& X509_ALGOR *digestAlgorithm, +\& ASN1_BIT_STRING *digest); +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +These routines set and get the holder identity of an X509 attribute certificate. +.PP +\&\fBX509_ACERT_set0_holder_entityName()\fR sets the identity as a \fBGENERAL_NAME\fR +\&\fIname\fR, \fBX509_ACERT_set0_holder_baseCertId()\fR sets the identity based on the +issuer and serial number of a certificate detailed in \fIisss\fR and +\&\fBX509_ACERT_set0_holder_digest()\fR sets the holder entity based on digest +information \fIdinfo\fR. Although RFC 5755 section 4.2.2 recommends that only +one of the above methods be used to set the holder identity for a given +attribute certificate \fIx\fR, setting multiple methods at the same time is +possible. It is up to the application to handle cases when conflicting +identity information is specified using different methods. +.PP +Pointers to the internal structures describing the holder identity of +attribute certificate \fIx\fR can be retrieved with +\&\fBX509_ACERT_get0_holder_entityName()\fR, \fBX509_ACERT_get0_holder_baseCertId()\fR, and +\&\fBX509_ACERT_get0_holder_digest()\fR. +.PP +A \fBOSSL_ISSUER_SERIAL\fR object holds the subject name and UID of a certificate +issuer and a certificate\*(Aqs serial number. \fBOSSL_ISSUER_SERIAL_set1_issuer()\fR, +\&\fBOSSL_ISSUER_SERIAL_set1_issuerUID()\fR, and \fBOSSL_ISSUER_SERIAL_set1_serial()\fR +respectively copy these values into the \fBOSSL_ISSUER_SERIAL\fR structure. +The application is responsible for freeing its own copy of these values after +use. \fBOSSL_ISSUER_SERIAL_get0_issuer()\fR, \fBOSSL_ISSUER_SERIAL_get0_issuerUID()\fR, +and \fBOSSL_ISSUER_SERIAL_get0_serial()\fR return pointers to these values in the object. +.PP +An \fBOSSL_OBJECT_DIGEST_INFO\fR object holds a digest of data to identify the +attribute certificate holder. \fBOSSL_OBJECT_DIGEST_INFO_set1_digest()\fR sets the +digest information of the object. The type of \fIdigest\fR information is given +by \fIdigestedObjectType\fR and can be one of: +.IP OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY 4 +.IX Item "OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY" +Hash of a public key +.IP OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY_CERT 4 +.IX Item "OSSL_OBJECT_DIGEST_INFO_PUBLIC_KEY_CERT" +Hash of a public key certificate +.IP OSSL_OBJECT_DIGEST_INFO_OTHER 4 +.IX Item "OSSL_OBJECT_DIGEST_INFO_OTHER" +Hash of another object. See NOTES below. +.PP +\&\fIdigestAlgorithm\fR indicates the algorithm used to compute \fIdigest\fR. +.SH "RETURN VALUES" +.IX Header "RETURN VALUES" +All \fIset0\fR/\fIset1\fR routines return 1 for success and 0 for failure. +All \fIget0\fR functions return a pointer to the object\*(Aqs inner structure. These +pointers must not be freed after use. +.SH NOTES +.IX Header "NOTES" +Although the value of \fBOSSL_OBJECT_DIGEST_INFO_OTHER\fR is defined in RFC 5755, +its use is prohibited for conformant attribute certificates. +.SH HISTORY +.IX Header "HISTORY" +These functions were added in OpenSSL 3.4. +.SH COPYRIGHT +.IX Header "COPYRIGHT" +Copyright 2023\-2024 The OpenSSL Project Authors. All Rights Reserved. +.PP +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 +<https://www.openssl.org/source/license.html>. |
