gnutls_x509_crq_get_subject_alt_name — API function


#include <gnutls/x509.h>
int gnutls_x509_crq_get_subject_alt_name( gnutls_x509_crq_t crq,
  unsigned int seq,
  void * ret,
  size_t * ret_size,
  unsigned int * ret_type,
  unsigned int * critical);


gnutls_x509_crq_t crq

should contain a gnutls_x509_crq_t structure

unsigned int seq

specifies the sequence number of the alt name, 0 for the first one, 1 for the second etc.

void * ret

is the place where the alternative name will be copied to

size_t * ret_size

holds the size of ret.

unsigned int * ret_type

holds the gnutls_x509_subject_alt_name_t name type

unsigned int * critical

will be non−zero if the extension is marked as critical (may be null)


This function will return the alternative names, contained in the given certificate. It is the same as gnutls_x509_crq_get_subject_alt_name() except for the fact that it will return the type of the alternative name in ret_type even if the function fails for some reason (i.e. the buffer provided is not enough).


the alternative subject name type on success, one of the enumerated gnutls_x509_subject_alt_name_t. It will return GNUTLS_E_SHORT_MEMORY_BUFFER if ret_size is not large enough to hold the value. In that case ret_size will be updated with the required size. If the certificate request does not have an Alternative name with the specified sequence number then GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE is returned.




Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command

info gnutls

should give you access to the complete manual. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

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.