@deftypefun {int} {gnutls_x509_crt_get_issuer_unique_id} (gnutls_x509_crt_t @var{crt}, char * @var{buf}, size_t * @var{buf_size}) @var{crt}: Holds the certificate @var{buf}: user allocated memory buffer, will hold the unique id @var{buf_size}: size of user allocated memory buffer (on input), will hold actual size of the unique ID on return. This function will extract the issuerUniqueID value (if present) for the given certificate. If the user allocated memory buffer is not large enough to hold the full subjectUniqueID, then a GNUTLS_E_SHORT_MEMORY_BUFFER error will be returned, and buf_size will be set to the actual length. This function had a bug prior to 3.4.8 that prevented the setting of @code{NULL} @code{buf} to discover the @code{buf_size} . To use this function safely with the older versions the @code{buf} must be a valid buffer that can hold at least a single byte if @code{buf_size} is zero. @strong{Returns:} @code{GNUTLS_E_SUCCESS} on success, otherwise a negative error code. @strong{Since:} 2.12.0 @end deftypefun