@deftypefun {int} {gnutls_x509_privkey_get_key_id} (gnutls_x509_privkey_t @var{key}, unsigned int @var{flags}, unsigned char * @var{output_data}, size_t * @var{output_data_size}) @var{key}: a key @var{flags}: should be one of the flags from @code{gnutls_keyid_flags_t} @var{output_data}: will contain the key ID @var{output_data_size}: holds the size of output_data (and will be replaced by the actual size of parameters) This function will return a unique ID that depends on the public key parameters. This ID can be used in checking whether a certificate corresponds to the given key. If the buffer provided is not long enough to hold the output, then * @code{output_data_size} is updated and @code{GNUTLS_E_SHORT_MEMORY_BUFFER} will be returned. The output will normally be a SHA-1 hash output, which is 20 bytes. @strong{Returns:} On success, @code{GNUTLS_E_SUCCESS} (0) is returned, otherwise a negative error value. @end deftypefun