|
2094 | 2094 |
|
2095 | 2095 | "; |
2096 | 2096 |
|
| 2097 | +# ML-DSA test key material encoded per the IETF LAMPS WG profile: |
| 2098 | +# SubjectPublicKeyInfo for public keys, PKCS#8 PrivateKeyInfo for |
| 2099 | +# private keys, using the NIST id-ml-dsa-N OIDs. |
| 2100 | +print OUT_FILE "#if defined(HAVE_DILITHIUM)\n\n"; |
| 2101 | + |
| 2102 | +for my $L ( [44,"WOLFSSL_NO_ML_DSA_44"], |
| 2103 | + [65,"WOLFSSL_NO_ML_DSA_65"], |
| 2104 | + [87,"WOLFSSL_NO_ML_DSA_87"] ) { |
| 2105 | + my ($n, $noLevel) = @$L; |
| 2106 | + |
| 2107 | + print OUT_FILE "#if !defined($noLevel)\n\n"; |
| 2108 | + |
| 2109 | + print OUT_FILE "#ifndef WOLFSSL_DILITHIUM_NO_VERIFY\n"; |
| 2110 | + print OUT_FILE "/* ./certs/mldsa/mldsa${n}_pub-spki.der */\n"; |
| 2111 | + print OUT_FILE "static const unsigned char mldsa${n}_pub_spki[] =\n{\n"; |
| 2112 | + file_to_hex("./certs/mldsa/mldsa${n}_pub-spki.der"); |
| 2113 | + print OUT_FILE "};\n"; |
| 2114 | + print OUT_FILE "#define sizeof_mldsa${n}_pub_spki (sizeof(mldsa${n}_pub_spki))\n"; |
| 2115 | + print OUT_FILE "#endif /* !WOLFSSL_DILITHIUM_NO_VERIFY */\n\n"; |
| 2116 | + |
| 2117 | + print OUT_FILE "#ifndef WOLFSSL_DILITHIUM_NO_SIGN\n"; |
| 2118 | + print OUT_FILE "/* ./certs/mldsa/mldsa${n}_priv-only.der */\n"; |
| 2119 | + print OUT_FILE "static const unsigned char mldsa${n}_priv_only[] =\n{\n"; |
| 2120 | + file_to_hex("./certs/mldsa/mldsa${n}_priv-only.der"); |
| 2121 | + print OUT_FILE "};\n"; |
| 2122 | + print OUT_FILE "#define sizeof_mldsa${n}_priv_only (sizeof(mldsa${n}_priv_only))\n"; |
| 2123 | + |
| 2124 | + print OUT_FILE "/* ./certs/mldsa/mldsa${n}_seed-priv.der */\n"; |
| 2125 | + print OUT_FILE "static const unsigned char mldsa${n}_seed_priv[] =\n{\n"; |
| 2126 | + file_to_hex("./certs/mldsa/mldsa${n}_seed-priv.der"); |
| 2127 | + print OUT_FILE "};\n"; |
| 2128 | + print OUT_FILE "#define sizeof_mldsa${n}_seed_priv (sizeof(mldsa${n}_seed_priv))\n"; |
| 2129 | + |
| 2130 | + print OUT_FILE "/* ./certs/mldsa/mldsa${n}_seed-only.der */\n"; |
| 2131 | + print OUT_FILE "static const unsigned char mldsa${n}_seed_only[] =\n{\n"; |
| 2132 | + file_to_hex("./certs/mldsa/mldsa${n}_seed-only.der"); |
| 2133 | + print OUT_FILE "};\n"; |
| 2134 | + print OUT_FILE "#define sizeof_mldsa${n}_seed_only (sizeof(mldsa${n}_seed_only))\n"; |
| 2135 | + print OUT_FILE "#endif /* !WOLFSSL_DILITHIUM_NO_SIGN */\n\n"; |
| 2136 | + |
| 2137 | + print OUT_FILE "#endif /* !$noLevel */\n\n"; |
| 2138 | +} |
| 2139 | + |
| 2140 | +print OUT_FILE "#endif /* HAVE_DILITHIUM */\n\n"; |
| 2141 | + |
2097 | 2142 | # convert and print 256-bit cert/keys |
2098 | 2143 | print OUT_FILE "#if defined(HAVE_ECC) && defined(USE_CERT_BUFFERS_256)\n\n"; |
2099 | 2144 | for (my $i = 0; $i < $num_ecc; $i++) { |
|
0 commit comments