Add ML-DSA to X509_get_pubkey and EVP_PKEY_base_id

This commit is contained in:
Takashi Kojo
2026-03-13 10:57:58 +09:00
parent 4c04ba306b
commit 1a6dee2bb3
16 changed files with 743 additions and 1 deletions
+10 -1
View File
@@ -20,4 +20,13 @@ EXTRA_DIST += \
certs/mldsa/mldsa87_seed-priv.der \
certs/mldsa/mldsa87_oqskeypair.der \
certs/mldsa/mldsa87_bare-seed.der \
certs/mldsa/mldsa87_bare-priv.der
certs/mldsa/mldsa87_bare-priv.der \
certs/mldsa/mldsa44-key.pem \
certs/mldsa/mldsa44-cert.pem \
certs/mldsa/mldsa44-cert.der \
certs/mldsa/mldsa65-key.pem \
certs/mldsa/mldsa65-cert.pem \
certs/mldsa/mldsa65-cert.der \
certs/mldsa/mldsa87-key.pem \
certs/mldsa/mldsa87-cert.pem \
certs/mldsa/mldsa87-cert.der
Binary file not shown.
+88
View File
@@ -0,0 +1,88 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
+57
View File
@@ -0,0 +1,57 @@
-----BEGIN PRIVATE KEY-----
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
-----END PRIVATE KEY-----
Binary file not shown.
+120
View File
@@ -0,0 +1,120 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
+88
View File
@@ -0,0 +1,88 @@
-----BEGIN PRIVATE KEY-----
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
w0VXz/zIj68NAryxzEr9xV6i
-----END PRIVATE KEY-----
Binary file not shown.
+161
View File
@@ -0,0 +1,161 @@
-----BEGIN CERTIFICATE-----
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
3wAAAAAAAAAAAAAAAAAAAAcPGB8mLTM8
-----END CERTIFICATE-----
+106
View File
@@ -0,0 +1,106 @@
-----BEGIN PRIVATE KEY-----
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
PSqF3MdQsdUlbUFt53W7Kzg5
-----END PRIVATE KEY-----
+47
View File
@@ -1035,6 +1035,53 @@ EOF
echo "End of section"
echo "---------------------------------------------------------------------"
############################################################
#### ML-DSA (FIPS 204) self-signed certificates ###
############################################################
# ML-DSA requires OpenSSL 3.3+ (oqsprovider or built-in support).
# Search for a versioned binary if the system default lacks ML-DSA support.
OPENSSL3=""
for candidate in \
"/usr/local/opt/openssl@3.2/bin/openssl" \
"/usr/local/opt/openssl@3/bin/openssl" \
"/opt/homebrew/opt/openssl@3.2/bin/openssl" \
"/opt/homebrew/opt/openssl@3/bin/openssl" \
"openssl"; do
if "$candidate" genpkey -algorithm mldsa44 -out /dev/null 2>/dev/null; then
OPENSSL3="$candidate"
break
fi
done
if [ -n "$OPENSSL3" ]; then
echo "Generating ML-DSA certificates using: $OPENSSL3"
echo ""
mkdir -p mldsa
for level in 44 65 87; do
echo "Generating ML-DSA-${level} key and self-signed certificate..."
"$OPENSSL3" genpkey -algorithm "mldsa${level}" \
-out "mldsa/mldsa${level}-key.pem"
check_result $? "ML-DSA-${level} key generation"
"$OPENSSL3" req -new -x509 -key "mldsa/mldsa${level}-key.pem" \
-out "mldsa/mldsa${level}-cert.pem" -days 3650 \
-subj "/C=US/ST=Montana/L=Bozeman/O=wolfSSL/CN=ML-DSA-${level}"
check_result $? "ML-DSA-${level} certificate generation"
"$OPENSSL3" x509 -inform PEM -in "mldsa/mldsa${level}-cert.pem" \
-outform DER -out "mldsa/mldsa${level}-cert.der"
check_result $? "ML-DSA-${level} DER conversion"
echo "End of ML-DSA-${level} section"
done
echo "---------------------------------------------------------------------"
else
echo "Skipping ML-DSA cert generation (no OpenSSL 3.3+ with ML-DSA support found)"
echo "---------------------------------------------------------------------"
fi
#cleanup the file system now that we're done
echo "Performing final steps, cleaning up the file system..."
echo ""
+7
View File
@@ -6346,6 +6346,13 @@ WOLFSSL_EVP_PKEY* wolfSSL_X509_get_pubkey(WOLFSSL_X509* x509)
else if (x509->pubKeyOID == DSAk) {
key->type = WC_EVP_PKEY_DSA;
}
#ifdef HAVE_DILITHIUM
else if (x509->pubKeyOID == ML_DSA_LEVEL2k ||
x509->pubKeyOID == ML_DSA_LEVEL3k ||
x509->pubKeyOID == ML_DSA_LEVEL5k) {
key->type = WC_EVP_PKEY_DILITHIUM;
}
#endif
else {
key->type = WC_EVP_PKEY_EC;
}
+1
View File
@@ -37048,6 +37048,7 @@ TEST_CASE testCases[] = {
TEST_MLKEM_DECLS,
/* Dilithium */
TEST_MLDSA_DECLS,
TEST_DECL(test_mldsa_x509_pubkey_sigtype),
/* SLH-DSA */
TEST_SLHDSA_DECLS,
/* Signature API */
+53
View File
@@ -30266,3 +30266,56 @@ int test_mldsa_pkcs12(void)
#endif
return EXPECT_RESULT();
}
/* Test wolfSSL_X509_get_signature_type() and wolfSSL_X509_get_pubkey() /
* wolfSSL_EVP_PKEY_base_id() with ML-DSA self-signed certificates loaded
* from PEM files (certs/mldsa/mldsa{44,65,87}-cert.pem).
*
* These certs are generated by renewcerts.sh using OpenSSL 3.3+. */
int test_mldsa_x509_pubkey_sigtype(void)
{
EXPECT_DECLS;
#if defined(HAVE_DILITHIUM) && defined(OPENSSL_EXTRA) && \
!defined(NO_CERTS) && !defined(NO_FILESYSTEM)
static const struct {
const char* pem_path;
word32 expected_sig_oid; /* CTC_ML_DSA_LEVEL* */
} cases[] = {
{ "./certs/mldsa/mldsa44-cert.pem", CTC_ML_DSA_LEVEL2 },
{ "./certs/mldsa/mldsa65-cert.pem", CTC_ML_DSA_LEVEL3 },
{ "./certs/mldsa/mldsa87-cert.pem", CTC_ML_DSA_LEVEL5 },
};
int i;
int n = (int)(sizeof(cases) / sizeof(cases[0]));
for (i = 0; i < n; i++) {
WOLFSSL_X509* x509 = NULL;
WOLFSSL_EVP_PKEY* pkey = NULL;
int sig_oid;
int base_id;
/* Load PEM certificate */
ExpectNotNull(x509 = wolfSSL_X509_load_certificate_file(
cases[i].pem_path, WOLFSSL_FILETYPE_PEM));
if (x509 == NULL)
continue;
/* wolfSSL_X509_get_signature_type() must return the ML-DSA OID sum */
sig_oid = wolfSSL_X509_get_signature_type(x509);
ExpectIntEQ((word32)sig_oid, cases[i].expected_sig_oid);
/* wolfSSL_X509_get_pubkey() must succeed */
ExpectNotNull(pkey = wolfSSL_X509_get_pubkey(x509));
if (pkey != NULL) {
/* wolfSSL_EVP_PKEY_base_id() must identify the key as Dilithium */
base_id = wolfSSL_EVP_PKEY_base_id(pkey);
ExpectIntEQ(base_id, WC_EVP_PKEY_DILITHIUM);
wolfSSL_EVP_PKEY_free(pkey);
}
wolfSSL_X509_free(x509);
}
#endif /* HAVE_DILITHIUM && OPENSSL_EXTRA && !NO_CERTS && !NO_FILESYSTEM */
return EXPECT_RESULT();
}
+1
View File
@@ -45,6 +45,7 @@ int test_mldsa_pkcs8_import_OpenSSL_form(void);
int test_mldsa_pkcs8_export_import_wolfSSL_form(void);
int test_wc_dilithium_encode_w1_large_values(void);
int test_mldsa_pkcs12(void);
int test_mldsa_x509_pubkey_sigtype(void);
#define TEST_MLDSA_DECLS \
TEST_DECL_GROUP("mldsa", test_wc_dilithium), \
+4
View File
@@ -10057,6 +10057,10 @@ int wolfSSL_EVP_PKEY_type(int type)
return WC_EVP_PKEY_EC;
case WC_EVP_PKEY_DH:
return WC_EVP_PKEY_DH;
#ifdef HAVE_DILITHIUM
case WC_EVP_PKEY_DILITHIUM:
return WC_EVP_PKEY_DILITHIUM;
#endif
default:
return WC_NID_undef;
}