



@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
