



@deftypefun {int} {gnutls_x509_crt_get_subject_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 subjectUniqueID 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.
@end deftypefun
