Fix EdDSA key sizes (key_size is in bits).

This commit is contained in:
Aaron Thompson
2020-03-25 21:03:41 +00:00
committed by Ondřej Surý
parent 4969577189
commit 9b87fe1051
2 changed files with 11 additions and 11 deletions

View File

@@ -471,13 +471,13 @@ openssleddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
#if HAVE_OPENSSL_ED25519
if (key->key_alg == DST_ALG_ED25519) {
nid = NID_ED25519;
key->key_size = DNS_KEY_ED25519SIZE;
key->key_size = DNS_KEY_ED25519SIZE * 8;
}
#endif /* if HAVE_OPENSSL_ED25519 */
#if HAVE_OPENSSL_ED448
if (key->key_alg == DST_ALG_ED448) {
nid = NID_ED448;
key->key_size = DNS_KEY_ED448SIZE;
key->key_size = DNS_KEY_ED448SIZE * 8;
}
#endif /* if HAVE_OPENSSL_ED448 */
if (nid == 0) {
@@ -606,7 +606,7 @@ openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
}
isc_buffer_forward(data, len);
key->keydata.pkey = pkey;
key->key_size = len;
key->key_size = len * 8;
return (ISC_R_SUCCESS);
}
@@ -733,7 +733,7 @@ openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
DST_RET(DST_R_INVALIDPRIVATEKEY);
}
key->keydata.pkey = pkey;
key->key_size = len;
key->key_size = len * 8;
ret = ISC_R_SUCCESS;
err:

View File

@@ -519,10 +519,10 @@ pkcs11eddsa_generate(dst_key_t *key, int unused, void (*callback)(int)) {
switch (key->key_alg) {
case DST_ALG_ED25519:
key->key_size = DNS_KEY_ED25519SIZE;
key->key_size = DNS_KEY_ED25519SIZE * 8;
break;
case DST_ALG_ED448:
key->key_size = DNS_KEY_ED448SIZE;
key->key_size = DNS_KEY_ED448SIZE * 8;
break;
default:
INSIST(0);
@@ -673,7 +673,7 @@ pkcs11eddsa_fromdns(dst_key_t *key, isc_buffer_t *data) {
isc_buffer_forward(data, len);
key->keydata.pkey = ec;
key->key_size = len;
key->key_size = len * 8;
return (ISC_R_SUCCESS);
}
@@ -929,10 +929,10 @@ pkcs11eddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t *pub) {
memset(&priv, 0, sizeof(priv));
switch (key->key_alg) {
case DST_ALG_ED25519:
key->key_size = DNS_KEY_ED25519SIZE;
key->key_size = DNS_KEY_ED25519SIZE * 8;
break;
case DST_ALG_ED448:
key->key_size = DNS_KEY_ED448SIZE;
key->key_size = DNS_KEY_ED448SIZE * 8;
break;
default:
INSIST(0);
@@ -1052,10 +1052,10 @@ pkcs11eddsa_fromlabel(dst_key_t *key, const char *engine, const char *label,
key->label = isc_mem_strdup(key->mctx, label);
switch (key->key_alg) {
case DST_ALG_ED25519:
key->key_size = DNS_KEY_ED25519SIZE;
key->key_size = DNS_KEY_ED25519SIZE * 8;
break;
case DST_ALG_ED448:
key->key_size = DNS_KEY_ED448SIZE;
key->key_size = DNS_KEY_ED448SIZE * 8;
break;
default:
INSIST(0);