gnutls_x509_crt_get_key_purpose_oid — API function


#include <gnutls/x509.h>
int gnutls_x509_crt_get_key_purpose_oid( gnutls_x509_crt_t cert,
  int indx,
  void * oid,
  size_t * oid_size,
  unsigned int * critical);


gnutls_x509_crt_t cert

should contain a gnutls_x509_crt_t structure

int indx

This specifies which OID to return. Use (0) to get the first one.

void * oid

a pointer to a buffer to hold the OID (may be null)

size_t * oid_size

initially holds the size of oid

unsigned int * critical

output flag to indicate criticality of extension


This function will extract the key purpose OIDs of the Certificate specified by the given index. These are stored in the Extended Key Usage extension ( See the GNUTLS_KP_* definitions for human readable names.

If oid is null then only the size will be filled. The oid returned will be null terminated, although oid_size will not account for the trailing null.


GNUTLS_E_SHORT_MEMORY_BUFFER if the provided buffer is not long enough, and in that case the *oid_size will be updated with the required size. On success 0 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.