@deftypefun {int} {gnutls_x509_crq_get_key_usage} (gnutls_x509_crq_t @var{crq}, unsigned int * @var{key_usage}, unsigned int * @var{critical}) @var{crq}: should contain a @code{gnutls_x509_crq_t} type @var{key_usage}: where the key usage bits will be stored @var{critical}: will be non-zero if the extension is marked as critical This function will return certificate's key usage, by reading the keyUsage X.509 extension (2.5.29.15). The key usage value will ORed values of the: @code{GNUTLS_KEY_DIGITAL_SIGNATURE} , @code{GNUTLS_KEY_NON_REPUDIATION} , @code{GNUTLS_KEY_KEY_ENCIPHERMENT} , @code{GNUTLS_KEY_DATA_ENCIPHERMENT} , @code{GNUTLS_KEY_KEY_AGREEMENT} , @code{GNUTLS_KEY_KEY_CERT_SIGN} , @code{GNUTLS_KEY_CRL_SIGN} , @code{GNUTLS_KEY_ENCIPHER_ONLY} , @code{GNUTLS_KEY_DECIPHER_ONLY} . @strong{Returns:} the certificate key usage, or a negative error code in case of parsing error. If the certificate does not contain the keyUsage extension @code{GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE} will be returned. @strong{Since:} 2.8.0 @end deftypefun