mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-06 23:20:51 +02:00
Enable and use ML-KEM by default
* Enable ML-KEM by default in build systems (autoconf and CMake) * Only allow three to-be-standardized hybrid PQ/T combinations by default * Use X25519MLKEM768 as the default KeyShare in the ClientHello (if user does not override that). When Curve25519 is disabled, then either WOLFSSL_SECP384R1MLKEM1024 or WOLFSSL_SECP256R1MLKEM768 is used as default depending on the ECC configuration * Disable standalone ML-KEM in supported groups by default (enable with --enable-tls-mlkem-standalone) * Disable extra OQS-based hybrid PQ/T curves by default and gate behind --enable-experimental (enable with --enable-extra-pqc-hybrids) * Reorder the SupportedGroups extension to reflect the preferences * Reorder the preferredGroup array to also reflect the same preferences * Add async support for ML-KEM hybrids
This commit is contained in:
@@ -18,6 +18,10 @@ jobs:
|
||||
matrix:
|
||||
config: [
|
||||
# Add new configs here
|
||||
'--enable-asynccrypt --enable-all --enable-dtls13 --disable-mlkem CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT"',
|
||||
'--enable-asynccrypt-sw --enable-ocspstapling --enable-ocspstapling2 --disable-mlkem CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-asynccrypt --enable-all --enable-dtls13 --disable-pqc-hybrids --enable-tls-mlkem-standalone CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT"',
|
||||
'--enable-asynccrypt-sw --enable-ocspstapling --enable-ocspstapling2 --disable-pqc-hybrids --enable-tls-mlkem-standalone CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-asynccrypt --enable-all --enable-dtls13 CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFCRYPT_TEST_LINT"',
|
||||
'--enable-asynccrypt-sw --enable-ocspstapling --enable-ocspstapling2 CFLAGS="-pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-ocsp CFLAGS="-DTEST_NONBLOCK_CERTS -pedantic -Wdeclaration-after-statement -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
|
||||
@@ -73,6 +73,7 @@ jobs:
|
||||
-DWOLFSSL_X963KDF:BOOL=yes -DWOLFSSL_DILITHIUM:BOOL=yes -DWOLFSSL_PKCS11:BOOL=yes \
|
||||
-DWOLFSSL_ECCSI:BOOL=yes -DWOLFSSL_SAKKE:BOOL=yes -DWOLFSSL_SIPHASH:BOOL=yes \
|
||||
-DWOLFSSL_WC_RSA_DIRECT:BOOL=yes -DWOLFSSL_PUBLIC_MP:BOOL=yes \
|
||||
-DWOLFSSL_EXTRA_PQC_HYBRIDS:BOOL=yes -DWOLFSSL_TLS_NO_MLKEM_STANDALONE:BOOL=no \
|
||||
..
|
||||
cmake --build .
|
||||
ctest -j $(nproc)
|
||||
|
||||
@@ -38,6 +38,12 @@ jobs:
|
||||
'--enable-experimental --enable-kyber --enable-dtls --enable-dtls13
|
||||
--enable-dtls-frag-ch',
|
||||
'--enable-all --enable-dtls13 --enable-dtls-frag-ch',
|
||||
'--enable-all --enable-dtls13 --enable-dtls-frag-ch --disable-mlkem',
|
||||
'--enable-all --enable-dtls13 --enable-dtls-frag-ch
|
||||
--enable-tls-mlkem-standalone',
|
||||
'--enable-all --enable-dtls13 --enable-dtls-frag-ch
|
||||
--enable-tls-mlkem-standalone --enable-experimental
|
||||
--enable-extra-pqc-hybrids',
|
||||
'--enable-dtls --enable-dtls13 --enable-dtls-frag-ch
|
||||
--enable-dtls-mtu',
|
||||
'--enable-dtls --enable-dtlscid --enable-dtls13 --enable-secure-renegotiation
|
||||
|
||||
@@ -27,9 +27,13 @@ jobs:
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-mlkem=yes,kyber,ml-kem --enable-lms --enable-xmss --enable-slhdsa --enable-dilithium --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFSSL_TLSX_PQC_MLKEM_STORE_OBJ"',
|
||||
'--disable-intelasm --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-mlkem=yes,kyber,ml-kem,small --enable-lms=yes,small --enable-xmss=yes,small --enable-slhdsa=yes,small --enable-dilithium=yes,small --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFSSL_MLKEM_MAKEKEY_SMALL_MEM -DWOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM -DWOLFSSL_MLKEM_NO_LARGE_CODE -DWOLFSSL_DILITHIUM_SIGN_SMALL_MEM -DWOLFSSL_DILITHIUM_VERIFY_SMALL_MEM -DWOLFSSL_DILITHIUM_MAKE_KEY_SMALL_MEM -DWOLFSSL_DILITHIUM_NO_LARGE_CODE"',
|
||||
'--disable-intelasm --enable-smallstack --enable-smallstackcache --enable-all --enable-testcert --enable-acert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-quic --with-sys-crypto-policy --enable-experimental --enable-mlkem=yes,kyber,ml-kem,small --enable-lms=yes,small --enable-xmss=yes,small --enable-slhdsa=yes,small --enable-dilithium=yes,small --enable-dual-alg-certs --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE -DWOLFSSL_MLKEM_MAKEKEY_SMALL_MEM -DWOLFSSL_MLKEM_ENCAPSULATE_SMALL_MEM -DWOLFSSL_MLKEM_NO_LARGE_CODE -DWOLFSSL_DILITHIUM_SIGN_SMALL_MEM -DWOLFSSL_DILITHIUM_VERIFY_SMALL_MEM -DWOLFSSL_DILITHIUM_MAKE_KEY_SMALL_MEM -DWOLFSSL_DILITHIUM_NO_LARGE_CODE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,512 --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,512 --enable-tls-mlkem-standalone --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,768 --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,768 --enable-tls-mlkem-standalone --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,768 --enable-tls-mlkem-standalone --disable-pqc-hybrids --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,1024 --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,1024 --enable-tls-mlkem-standalone --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
'--enable-intelasm --enable-sp-asm --enable-all --enable-testcert --enable-dtls13 --enable-dtls-mtu --enable-dtls-frag-ch --enable-dtlscid --enable-mlkem=make,enc,dec,1024 --enable-tls-mlkem-standalone --disable-pqc-hybrids --disable-qt CPPFLAGS="-pedantic -Wdeclaration-after-statement -DWOLFCRYPT_TEST_LINT -DNO_WOLFSSL_CIPHER_SUITE_TEST -DTEST_LIBWOLFSSL_SOURCES_INCLUSION_SEQUENCE"',
|
||||
]
|
||||
name: make check
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
|
||||
@@ -18,10 +18,10 @@ jobs:
|
||||
matrix:
|
||||
config: [
|
||||
# Add new configs here
|
||||
'--enable-psk C_EXTRA_FLAGS="-DWOLFSSL_STATIC_PSK -DWOLFSSL_OLDTLS_SHA2_CIPHERSUITES"',
|
||||
'--enable-psk C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --disable-rsa --disable-ecc --disable-dh',
|
||||
'--disable-oldtls --disable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all',
|
||||
'--disable-oldtls --disable-tlsv12 --enable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all'
|
||||
'--enable-psk --disable-mlkem C_EXTRA_FLAGS="-DWOLFSSL_STATIC_PSK -DWOLFSSL_OLDTLS_SHA2_CIPHERSUITES"',
|
||||
'--enable-psk --disable-mlkem C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --disable-rsa --disable-ecc --disable-dh',
|
||||
'--disable-oldtls --disable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all --disable-mlkem',
|
||||
'--disable-oldtls --disable-tlsv12 --enable-tls13 --enable-psk -disable-rsa --disable-dh -disable-ecc --disable-asn C_EXTRA_FLAGS=-DWOLFSSL_STATIC_PSK --enable-lowresource --enable-singlethreaded --disable-asm --disable-errorstrings --disable-pkcs12 --disable-sha3 --disable-sha224 --disable-sha384 --disable-sha512 --disable-sha --disable-md5 -disable-aescbc --disable-chacha --disable-poly1305 --disable-coding --disable-sp-math-all --disable-mlkem'
|
||||
]
|
||||
name: make check
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
|
||||
@@ -41,36 +41,36 @@ jobs:
|
||||
'--enable-all --enable-dilithium',
|
||||
'--enable-all --enable-mlkem',
|
||||
'--enable-cryptonly --disable-examples',
|
||||
'--enable-cryptonly --disable-examples --disable-aes --disable-aesgcm',
|
||||
'--enable-cryptonly --disable-examples --disable-aescbc',
|
||||
'--enable-cryptonly --disable-examples --disable-aeseax',
|
||||
'--enable-cryptonly --disable-examples --disable-aesecb',
|
||||
'--enable-cryptonly --disable-examples --disable-aesccm',
|
||||
'--enable-cryptonly --disable-examples --disable-aescfb',
|
||||
'--enable-cryptonly --disable-examples --disable-aesctr',
|
||||
'--enable-cryptonly --disable-examples --disable-aescts',
|
||||
'--enable-cryptonly --disable-examples --disable-aesgcm',
|
||||
'--enable-cryptonly --disable-examples --disable-aesgcm-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-aesofb',
|
||||
'--enable-cryptonly --disable-examples --disable-aesxts',
|
||||
'--enable-cryptonly --disable-examples --disable-cmac',
|
||||
'--enable-cryptonly --disable-examples --disable-dh',
|
||||
'--enable-cryptonly --disable-examples --disable-ecc',
|
||||
'--enable-cryptonly --disable-examples --disable-ed25519',
|
||||
'--enable-cryptonly --disable-examples --disable-ed25519-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-ed448',
|
||||
'--enable-cryptonly --disable-examples --disable-ed448-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-hkdf',
|
||||
'--enable-cryptonly --disable-examples --disable-hmac',
|
||||
'--enable-cryptonly --disable-examples --disable-rng',
|
||||
'--enable-cryptonly --disable-examples --disable-rsa',
|
||||
'--enable-cryptonly --disable-examples --disable-rsapss',
|
||||
'--enable-cryptonly --disable-examples --disable-sha224',
|
||||
'--enable-cryptonly --disable-examples --disable-sha3',
|
||||
'--enable-cryptonly --disable-examples --disable-sha384',
|
||||
'--enable-cryptonly --disable-examples --disable-sha512',
|
||||
'--enable-cryptonly --disable-examples --disable-shake128',
|
||||
'--enable-cryptonly --disable-examples --disable-shake256',
|
||||
'--enable-cryptonly --disable-examples --disable-srtp-kdf',
|
||||
'--enable-cryptonly --disable-examples --disable-x963kdf',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aes --disable-aesgcm',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescbc',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aeseax',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesecb',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesccm',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescfb',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesctr',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aescts',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesgcm',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesgcm-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesofb',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-aesxts',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-cmac',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-dh',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ecc',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed25519',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed25519-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed448',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-ed448-stream',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-hkdf',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-hmac',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rng',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rsa',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-rsapss',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha224',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha3',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha384',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-sha512',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-shake128',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-shake256',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-srtp-kdf',
|
||||
'--enable-cryptonly --disable-examples --disable-mlkem --disable-x963kdf',
|
||||
]
|
||||
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
if: github.repository_owner == 'wolfssl'
|
||||
runs-on: ubuntu-22.04
|
||||
# This should be a safe limit for the tests to run.
|
||||
timeout-minutes: 25
|
||||
timeout-minutes: 45
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user