Skip to content

Commit 3c22ac2

Browse files
authored
OpenSSL 4 compatibility
This commit addresses two issues created by changes in certificate printing in OpenSSL 4 (based on testing with OpenSSL 4.0.0-alpha1). With OpenSSL 4, the public key type for ML-DSA keys is now shown with a string (e.g., ML-DSA-44) rather than an OID. The first change in this commit ensures that the public key size is set correctly in this case. Second, different information is printed about the size of elliptic curve public keys. All previous versions of OpenSSL (and LibreSSL) just provided the size of the public key: Public-Key: (256 bit) OpenSSL 4.0.0-alpha includes additional information: Public-Key: (256 bit field, 128 bit security level) The second change in this commit removes this additional information.
1 parent 9c086b2 commit 3c22ac2

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

testssl.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9403,9 +9403,9 @@ certificate_info() {
94039403
case "$cert_key_algo" in
94049404
1.3.101.112|E[Dd]25519) cert_key_algo="Ed25519"; cert_keysize=253 ;;
94059405
1.3.101.113|E[Dd]448) cert_key_algo="Ed448"; cert_keysize=456 ;;
9406-
2.16.840.1.101.3.4.3.17) cert_key_algo="ML-DSA-44"; cert_keysize=2560 ;;
9407-
2.16.840.1.101.3.4.3.18) cert_key_algo="ML-DSA-65"; cert_keysize=4032 ;;
9408-
2.16.840.1.101.3.4.3.19) cert_key_algo="ML-DSA-87"; cert_keysize=4896 ;;
9406+
2.16.840.1.101.3.4.3.17|ML-DSA-44) cert_key_algo="ML-DSA-44"; cert_keysize=2560 ;;
9407+
2.16.840.1.101.3.4.3.18|ML-DSA-65) cert_key_algo="ML-DSA-65"; cert_keysize=4032 ;;
9408+
2.16.840.1.101.3.4.3.19|ML-DSA-87) cert_key_algo="ML-DSA-87"; cert_keysize=4896 ;;
94099409
esac
94109410

94119411
out "$indent" ; pr_bold " Signature Algorithm "
@@ -12572,6 +12572,7 @@ get_pub_key_size() {
1257212572
if [[ -n $pubkeybits ]]; then
1257312573
# remainder e.g. "256 bit)"
1257412574
pubkeybits="${pubkeybits//\)/}"
12575+
pubkeybits="${pubkeybits%% field, *}"
1257512576
echo "Server public key is $pubkeybits" >> $TMPFILE
1257612577
else
1257712578
# This extracts the public key for DSA, DH, and GOST

0 commit comments

Comments
 (0)