Функции API (API function)
Имя (Name)
gnutls_x509_crt_get_authority_info_access - API function
Синопсис (Synopsis)
#include <gnutls/x509.h>
int gnutls_x509_crt_get_authority_info_access(gnutls_x509_crt_t
crt, unsigned int
seq, int
what, gnutls_datum_t *
data, unsigned
int *
critical);
Аргументы (Arguments)
gnutls_x509_crt_t crt
Holds the certificate
unsigned int seq
specifies the sequence number of the access
descriptor (0 for the first one, 1 for the second
etc.)
int what what data to get, a gnutls_info_access_what_t
type.
gnutls_datum_t * data
output data to be freed with gnutls_free()
.
unsigned int * critical
pointer to output integer that is set to non-zero if
the extension is marked as critical (may be NULL
)
Описание (Description)
Note that a simpler API to access the authority info data is
provided by gnutls_x509_aia_get()
and
gnutls_x509_ext_import_aia()
.
This function extracts the Authority Information Access (AIA)
extension, see RFC 5280 section 4.2.2.1 for more information.
The AIA extension holds a sequence of AccessDescription (AD)
data.
The seq input parameter is used to indicate which member of the
sequence the caller is interested in. The first member is 0, the
second member 1 and so on. When the seq value is out of bounds,
GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE
is returned.
The type of data returned in data is specified via what which
should be gnutls_info_access_what_t
values.
If what is GNUTLS_IA_ACCESSMETHOD_OID
then data will hold the
accessMethod OID (e.g., "1.3.6.1.5.5.7.48.1").
If what is GNUTLS_IA_ACCESSLOCATION_GENERALNAME_TYPE
, data will
hold the accessLocation GeneralName type (e.g.,
"uniformResourceIdentifier").
If what is GNUTLS_IA_URI
, data will hold the accessLocation URI
data. Requesting this what value leads to an error if the
accessLocation is not of the "uniformResourceIdentifier" type.
If what is GNUTLS_IA_OCSP_URI
, data will hold the OCSP URI.
Requesting this what value leads to an error if the accessMethod
is not 1.3.6.1.5.5.7.48.1 aka OCSP, or if accessLocation is not
of the "uniformResourceIdentifier" type. In that case
GNUTLS_E_UNKNOWN_ALGORITHM
will be returned, and seq should be
increased and this function called again.
If what is GNUTLS_IA_CAISSUERS_URI
, data will hold the
caIssuers URI. Requesting this what value leads to an error if
the accessMethod is not 1.3.6.1.5.5.7.48.2 aka caIssuers, or if
accessLocation is not of the "uniformResourceIdentifier" type.
In that case handle as in GNUTLS_IA_OCSP_URI
.
More what values may be allocated in the future as needed.
If data is NULL, the function does the same without storing the
output data, that is, it will set critical and do error checking
as usual.
The value of the critical flag is returned in * critical .
Supply a NULL critical if you want the function to make sure the
extension is non-critical, as required by RFC 5280.
Возвращаемое значение (Return value)
GNUTLS_E_SUCCESS
on success, GNUTLS_E_INVALID_REQUEST
on invalid
crt , GNUTLS_E_CONSTRAINT_ERROR
if the extension is incorrectly
marked as critical (use a non-NULL critical to override),
GNUTLS_E_UNKNOWN_ALGORITHM
if the requested OID does not match
(e.g., when using GNUTLS_IA_OCSP_URI
), otherwise a negative error
code.
Сообщение об ошибках (Reporting bugs)
Report bugs to <bugs@gnutls.org>.
Home page: https://www.gnutls.org
Смотри также (See also)
The full documentation for gnutls
is maintained as a Texinfo
manual. If the /usr/share/doc/gnutls/ directory does not contain
the HTML form visit
https://www.gnutls.org/manual/