---
name: "gnutls_x509_crt_get_authority_info_access"
section: "3"
platform: "linux"
package: "gnutls"
version: "3.8.13-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/gnutls_x509_crt_get_authority_info_access"
---

# gnutls\_x509\_crt\_get\_authority\_info\_access(3)

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.

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

## REPORTING BUGS

Report bugs to \<bugs@gnutls.org\>.\
 Home page: https://www.gnutls.org

## COPYRIGHT

Copyright © 2001-2023 Free Software Foundation, Inc., and others.\
 Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

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