I don't expect this matters, but why not fix this
to do what was intended (by the comment).
Discovered by Daniel Salzman <daniel.salzman@nic.cz>
* \return error code */
static int get_oob_key_pin(gnutls_x509_crt_t crt, char *outchar, ssize_t outchar_len, bool raw)
{
+ /* TODO: simplify this function by using gnutls_x509_crt_get_key_id() */
if (kr_fails_assert(!raw || outchar_len >= TLS_SHA256_RAW_LEN)) {
return kr_error(ENOSPC);
/* With !raw we have check inside kr_base64_encode. */
uint8_t serial[16];
gnutls_rnd(GNUTLS_RND_NONCE, serial, sizeof(serial));
/* clear the left-most bit to avoid signedness confusion: */
- serial[0] &= 0x8f;
+ serial[0] &= 0x7f;
size_t namelen = strlen(servicename);
#define gtx(fn, ...) \