# gnutls_x509_crt_get_authority_info_access

## 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.
    


## RETURNS



           **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.
    


## SINCE



           3.0
    


* * *