@deftypefun {int} {gnutls_x509_crt_get_key_purpose_oid} (gnutls_x509_crt_t @var{cert}, unsigned @var{indx}, void * @var{oid}, size_t * @var{oid_size}, unsigned int * @var{critical}) @var{cert}: should contain a @code{gnutls_x509_crt_t} type @var{indx}: This specifies which OID to return. Use (0) to get the first one. @var{oid}: a pointer to a buffer to hold the OID (may be null) @var{oid_size}: initially holds the size of @code{oid} @var{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 (2.5.29.37) See the GNUTLS_KP_* definitions for human readable names. If @code{oid} is null then only the size will be filled. The @code{oid} returned will be null terminated, although @code{oid_size} will not account for the trailing null. @strong{Returns:} @code{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. @end deftypefun