Skip to content

Commit 2356d5c

Browse files
committed
Add sanity checks
1 parent 432808b commit 2356d5c

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

pdns/pkcs11signers.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,9 @@ class Pkcs11Token {
352352
if (!GetAttributeValue2(d_public_key, attr)) {
353353
d_ecdsa_params = attr[0].str();
354354
if (d_ecdsa_params == "\x06\x08\x2a\x86\x48\xce\x3d\x03\x01\x07") d_bits = 256;
355-
if (d_ecdsa_params == "\x06\x05\x2b\x81\x04\x00\x22") d_bits = 384;
355+
else if (d_ecdsa_params == "\x06\x05\x2b\x81\x04\x00\x22") d_bits = 384;
356+
else throw PDNSException("Unsupported EC key");
357+
if (attr[1].str().length() != (d_bits*2/8 + 3)) throw PDNSException("EC Point data invalid");
356358
d_ec_point = attr[1].str().substr(3);
357359
} else {
358360
throw PDNSException("Cannot load attributes for PCKS#11 public key " + d_label);

0 commit comments

Comments
 (0)