Helper function for logging ed25519 public keys.

This commit is contained in:
Nick Mathewson 2016-11-10 10:43:28 -05:00
parent ae6b73e847
commit 2cdd24ddd6
2 changed files with 17 additions and 0 deletions

View File

@ -161,6 +161,22 @@ curve25519_public_from_base64(curve25519_public_key_t *pkey,
}
}
/** For convenience: Convert <b>pkey</b> to a statically allocated base64
* string and return it. Not threadsafe. Subsequent calls invalidate
* previous returns. */
const char *
ed25519_fmt(const ed25519_public_key_t *pkey)
{
static char formatted[ED25519_BASE64_LEN+1];
if (pkey) {
int r = ed25519_public_to_base64(formatted, pkey);
tor_assert(!r);
} else {
strlcpy(formatted, "<null>", sizeof(formatted));
}
return formatted;
}
/** Try to decode the string <b>input</b> into an ed25519 public key. On
* success, store the value in <b>pkey</b> and return 0. Otherwise return
* -1. */

View File

@ -28,6 +28,7 @@ int ed25519_public_from_base64(ed25519_public_key_t *pkey,
const char *input);
int ed25519_public_to_base64(char *output,
const ed25519_public_key_t *pkey);
const char *ed25519_fmt(const ed25519_public_key_t *pkey);
/* XXXX move these to crypto_format.h */
#define ED25519_SIG_BASE64_LEN 86