From: slontis Date: Fri, 7 Feb 2025 06:51:37 +0000 (+1100) Subject: ML-DSA: Add TLS certificate test X-Git-Tag: openssl-3.5.0-alpha1~556 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d2d153f9d480cbd2a58aeb71d29db1b84026d93;p=thirdparty%2Fopenssl.git ML-DSA: Add TLS certificate test Reviewed-by: Tim Hudson Reviewed-by: Tomas Mraz Reviewed-by: Viktor Dukhovni (Merged from https://github.com/openssl/openssl/pull/26654) --- diff --git a/test/certs/root-ml-dsa-44-cert.pem b/test/certs/root-ml-dsa-44-cert.pem new file mode 100644 index 00000000000..5689394e222 --- /dev/null +++ b/test/certs/root-ml-dsa-44-cert.pem @@ -0,0 +1,85 @@ +-----BEGIN CERTIFICATE----- +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 +AAAAAAAAAAAAAAAAAAAUHy88 +-----END CERTIFICATE----- diff --git a/test/certs/root-ml-dsa-44-key.pem b/test/certs/root-ml-dsa-44-key.pem new file mode 100644 index 00000000000..958e66a4532 --- /dev/null +++ b/test/certs/root-ml-dsa-44-key.pem @@ -0,0 +1,56 @@ +-----BEGIN PRIVATE KEY----- +MIIKFAIBADALBglghkgBZQMEAxEEggoAZbIFHeCGrKUiD5jSAJ6/zZLbASpsOXwR +boI0Z9gDpjVPV48l0SdIOBqMSGRuOlrVIvqprrR2RLu+ISWiaV8gkRJB0wkq0Rsf +heuzkXiZTS9+RhSnjCbYWdBYUaA1996wBu0vB1Mws+dOsqf2SyZw/OT68cefw9nb +bAj6YOK6qO0MiYwBhUkApQlkOFAUoASRBgFkhJEhMm2ZCGhUQiLLwkTYyAFShmRB +GGESFjJbRAUEKYlQwEACognSMDLMEpCUKIzEsoUYtABZMgkiB4ThKILBMCbhAmHJ +ImgROEgQEEFMmC1hMlHhOBGBolACGS4JyA0EMZFKQCyMyCEEgXHcNlHcSEYcJUlK +kmUimW0hQgXjQI4YOJAUMGRcECHCFk3RIg6QNnLauEDZtmADBAGYQArBxmkThmnL +QnAjB24EiWTilCQAI23DBBLZCEKJGCFDEoaCSG6cAILAomSZMCBjBoYkCSVCtoXk +tCnjQimLxGWbggURREKgmITjREzQtBESCAFIqCFhGAZaoAmgxJEbwIzSBGVcgkxE +SG2AoowDl0UiCW2SBkmYCCgENykAIUgQs3ESCGbitg2QIkhLJkmCBm4ipIwbwynA +QCYTF0oIkjGMsmFilgwRAJEKyCWLmEWAlCGSFoghMowDCVHQEAFDEG0MGGaEFgyS +RHBLwkkYQkYEskWSSCGBkGFKKEpMlEUjqGwkNGkJMkTaCBLIpiALgRBAAIQUFGjc +qGgMMIVEkITctAnDxiwMEyCToFELyCHUFJJLJBIBJ5EhlnBARFIRlEgEMIQBwWVb +RDEaFgyRQomKBAgbs0AEhYyIJkYZEU7cti0MowXkwmTiIFBMlHBQNGoTNEUEEnLU +OIijEmUCKARLFIDERnIikg3BRoASs4jUoIUApIgjs23kxChjxGnboiDbwIwAiJAj +NwFZImTiNpKIQBGgIoaKRI0SlYgkiAHIxAyBhCSBxCgQkAHYNkWbSCmbQFGUxgBa +AibcEmgDEEyIMlCbsoGQQgbTko3REA3DJoLChBEYJi2ROCaKGIxRBI1QwHDUMiUY +EQEJNZKjEAKQqCXgOEBQRgnTQE0AmTCgAk0aJGZhpnFcSEgaGUxaMFIgpDFglITg +IGwMQGkiCIIBsDGaEI6kkAmKyEkRBGwJk4yYBnBggmQUSSISIkXjFC4TiUyQEEaa +qIgTEoogFkqoOAypJGjVTSmC6rPocXttz7gOOIRX30R5m17xX612OwWeJS6sfp6R +m/SBV8Raxv7XmXHbRAvmvFPQgmHwDUuMeRg505LbdMBRgzadRC5U3QpzATtHePVv +FfuN5iD1JP89Jg9bSRd6ZxZQGK4eX0khi3yKmr5Tj0/bnE3LXfgE4giw+ULIZWlr +UmrIqRdm+jU0SKz0rO9Oqyvwnf2PESFMyh5CSoajyamf6GGHXaSfyuYpJdAiPIbq +ZMd+UERShLM3YFjgRGddgO/LGWm7XSWBQE59kq0SlyC7l+2BTyuXiPjpxxBTogbs +VnKej2UVxWEK5Uy2y7ZgehTudT8vJArbGWxguxAC+9iI/KIydEsy1Xz16sjoaKJp +Aoha3rTvF0m5t5apcla1Qtx6pHEpEj/F0b403ilfpDwD6D2Y2WBJIaWGLobPgVc4 +qh59Ohx2IX3EgqIY8iBYpmwR4QG6PhOV/nYcZxEnUGVQoU++wmKTkDM1tqNnU5G4 +YIzqB0k7/el02HufcAbeBfs11m2GdO+qS75+XWbscorjZhMICtl1qV4Q8KY1KWLr +vmM7IHqq1mdKAV3ZMg9IWQDrjmVzKiZJEkMBUjadGMtFTzm0ThTd4bGhxZsfcmG4 +vbPUQIjZWo/m6AC2X3AFD30e5+VxwKkEPZ6UXHnytpVEuBGopLz79GuroX5Tj545 +PKNL8WsYKKSJUIX0FB04OPjzUoD/5GeeQpw3WzjYI22hTizv+kO9ygwZMhOUt/d8 +nsW+rZV1EQA606qIlWLYPfxCULCgPmEX3itjo2D054R3vOEiDX8nOAUFQl9JWEOw +NbcnBbSjitwBp1phc9fbAmnF2vVHjKxWpGc3XAQMHXb4GkQGz69vxIaBPl4xGqyZ +4PrWN2GuXylEy488TwkjwB3G5dF6Uk/42re+1ZQmgU9bsjKHMM/Fj6gVmvSaQFmV +UUPDxDgONGejL5jFgBau7feLwZCd4MQFkSAHV7nP8ePSRRzdzHbk840TcTGv6p7y +tSqIWgYsWSH0tnq4pOWr60bL4wTmNJG6rtyMBtl/kztQg4EGo3yQN79uVj+WjBnV +VagEJ4VHiI/OZiM0FYVbef7O+occVt3IBVPzmWthJonYNUi1OK2KNORqG9z+e3wN +WNkKQDS7OXywBYXumcr6yrJH8g8IUD6sp3sazXJ1Hdno9tmlzgRFZ5Nrx6UpSe/b +DdbMMqQ8gTcps+UW235JiYselV0BEPumLNpGVixqAMM2r6XUPd46F3PVCGqy6whk +PnVghZndLKLdsF+Kn230tD9qHemFjE/kHVaPWG3R9feXLrWMOaTVj7gMOU+uruSw +zP834VozljMZiKAZum/f3tHYvPD51fAJp8bWROcVv4gRP0BX25rRbcrdNDXHxSqP +opmJL7Wppi6OtLGkcdDHb1cuQc80zu/KVZKN1Gtq5VQ698ONn3VrKLC/3B2SD1vw +3vCGIaB9aO0oKbfSbSrSoa1pvjqmvGzsG8iGQenuJ4MN38SaAbHN0RX/4+GsFe3O +idok9bmS7qnv5AbDf7gaTj04xp2B0zAvyLErPRRt0qIj1Wn2v6QuAKPypjqwGfPg +m0XI/dmMWjcz9JkOk8urn5VEVrHlfDrNBmJwXKQBY89voTtWn5BLVxn5o8kFQr3b +ecwdXp935hDr0iF94yuX5qC3ScLgMPo/6qn9IkcJ9mqr/h3YkaHXnZ3AVSuYTTRC +AWcDiSzHpPCsNtYNuKDKm3RjpUjMgdQWkmDSfId1f4RBTuRoJXMZaxby7ILvuNos +7c5TZRt1b9nDLaNyybiQnpPC1REviRTjO6OQOfCXfUO/OEA7cKFOkrRXxzzRU8or +9o/dBrv/b4FS1/6Yvjfa+MJ3pGo2H2UWwuxK8FMRenqIOmKoHY3p1Z+rHpW61vwk +yEYXwUBFAHgfO6ODlgRfTVRALex1MSp1NyMHnb5ODSiCnbH8tFMZXe3uIqJP1Z/3 +L90Syk4PdDQ1YfCVU5wApwqihR2feG6ZdDTAQ9H6JWVculAcdswKIvbrKafz1WUc +4O2ylMli4KMrql/er9LG/v5MnDcoZddQqIJVmk4os2JHjQtTpv/KXb1VMJtpU8bQ +D/zkDYwHqK1YxTl8LDfGHtxnNzIODuHGVoz8bLvYTF7URouGjU8TvXJxeNPr/Lef +/BW7Ot7Lj26fMXwUoBJhER5IVL1O6d7OYwJvTXOxOjI22Ku0+gR16Q== +-----END PRIVATE KEY----- diff --git a/test/certs/server-ml-dsa-44-cert.pem b/test/certs/server-ml-dsa-44-cert.pem new file mode 100644 index 00000000000..5b01474db8d --- /dev/null +++ b/test/certs/server-ml-dsa-44-cert.pem @@ -0,0 +1,85 @@ +-----BEGIN CERTIFICATE----- +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 +-----END CERTIFICATE----- diff --git a/test/certs/server-ml-dsa-44-key.pem b/test/certs/server-ml-dsa-44-key.pem new file mode 100644 index 00000000000..fd42a95a1b9 --- /dev/null +++ b/test/certs/server-ml-dsa-44-key.pem @@ -0,0 +1,56 @@ +-----BEGIN PRIVATE KEY----- +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 +-----END PRIVATE KEY----- diff --git a/test/ssl-tests/20-cert-select.cnf b/test/ssl-tests/20-cert-select.cnf index 546b9ce0911..8acb205e751 100644 --- a/test/ssl-tests/20-cert-select.cnf +++ b/test/ssl-tests/20-cert-select.cnf @@ -1,6 +1,6 @@ # Generated with generate_ssl_tests.pl -num_tests = 57 +num_tests = 58 test-0 = 0-ECDSA CipherString Selection test-1 = 1-ECDSA CipherString Selection @@ -59,6 +59,7 @@ test-53 = 53-TLS 1.3 ECDSA with brainpool test-54 = 54-TLS 1.2 DSA Certificate Test test-55 = 55-TLS 1.3 Client Auth No TLS 1.3 Signature Algorithms test-56 = 56-TLS 1.3 DSA Certificate Test +test-57 = 57-TLS 1.3 ML-DSA Certificate Test # =========================================================== [0-ECDSA CipherString Selection] @@ -1840,3 +1841,32 @@ VerifyMode = Peer ExpectedResult = ServerFail +# =========================================================== + +[57-TLS 1.3 ML-DSA Certificate Test] +ssl_conf = 57-TLS 1.3 ML-DSA Certificate Test-ssl + +[57-TLS 1.3 ML-DSA Certificate Test-ssl] +server = 57-TLS 1.3 ML-DSA Certificate Test-server +client = 57-TLS 1.3 ML-DSA Certificate Test-client + +[57-TLS 1.3 ML-DSA Certificate Test-server] +Certificate = ${ENV::TEST_CERTS_DIR}/server-ml-dsa-44-cert.pem +CipherString = DEFAULT +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +PrivateKey = ${ENV::TEST_CERTS_DIR}/server-ml-dsa-44-key.pem +SignatureAlgorithms = mldsa44 + +[57-TLS 1.3 ML-DSA Certificate Test-client] +CipherString = DEFAULT +MaxProtocol = TLSv1.3 +MinProtocol = TLSv1.3 +SignatureAlgorithms = mldsa44 +VerifyCAFile = ${ENV::TEST_CERTS_DIR}/root-ml-dsa-44-cert.pem +VerifyMode = Peer + +[test-57] +ExpectedResult = Success + + diff --git a/test/ssl-tests/20-cert-select.cnf.in b/test/ssl-tests/20-cert-select.cnf.in index 6c9db7a9077..7e565615784 100644 --- a/test/ssl-tests/20-cert-select.cnf.in +++ b/test/ssl-tests/20-cert-select.cnf.in @@ -994,3 +994,30 @@ if (!disabled("dsa")) { push @tests, @tests_dsa_tls_1_2 unless disabled("dh"); push @tests, @tests_dsa_tls_1_3 unless disabled("tls1_3"); } + +my @tests_mldsa_tls_1_3 = ( + { + name => "TLS 1.3 ML-DSA Certificate Test", + server => { + "Certificate" => test_pem("server-ml-dsa-44-cert.pem"), + "PrivateKey" => test_pem("server-ml-dsa-44-key.pem"), + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3", + "SignatureAlgorithms" => "mldsa44", + }, + client => { + "MinProtocol" => "TLSv1.3", + "MaxProtocol" => "TLSv1.3", + "SignatureAlgorithms" => "mldsa44", + "VerifyCAFile" => test_pem("root-ml-dsa-44-cert.pem"), + "VerifyMode" => "Peer", + }, + test => { + "ExpectedResult" => "Success" + }, + }, +); + +if (!disabled("ml-dsa")) { + push @tests, @tests_mldsa_tls_1_3 unless disabled("tls1_3"); +}