Skip to content

Commit 6e9854d

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 2d2e665 commit 6e9854d

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
@@ -9206,9 +9206,9 @@ certificate_info() {
92069206
case "$cert_key_algo" in
92079207
1.3.101.112|E[Dd]25519) cert_key_algo="Ed25519"; cert_keysize=253 ;;
92089208
1.3.101.113|E[Dd]448) cert_key_algo="Ed448"; cert_keysize=456 ;;
9209-
2.16.840.1.101.3.4.3.17) cert_key_algo="ML-DSA-44"; cert_keysize=2560 ;;
9210-
2.16.840.1.101.3.4.3.18) cert_key_algo="ML-DSA-65"; cert_keysize=4032 ;;
9211-
2.16.840.1.101.3.4.3.19) cert_key_algo="ML-DSA-87"; cert_keysize=4896 ;;
9209+
2.16.840.1.101.3.4.3.17|ML-DSA-44) cert_key_algo="ML-DSA-44"; cert_keysize=2560 ;;
9210+
2.16.840.1.101.3.4.3.18|ML-DSA-65) cert_key_algo="ML-DSA-65"; cert_keysize=4032 ;;
9211+
2.16.840.1.101.3.4.3.19|ML-DSA-87) cert_key_algo="ML-DSA-87"; cert_keysize=4896 ;;
92129212
esac
92139213

92149214
out "$indent" ; pr_bold " Signature Algorithm "
@@ -12300,6 +12300,7 @@ get_pub_key_size() {
1230012300
if [[ -n $pubkeybits ]]; then
1230112301
# remainder e.g. "256 bit)"
1230212302
pubkeybits="${pubkeybits//\)/}"
12303+
pubkeybits="${pubkeybits%% field, *}"
1230312304
echo "Server public key is $pubkeybits" >> $TMPFILE
1230412305
else
1230512306
# This extracts the public key for DSA, DH, and GOST

0 commit comments

Comments
 (0)