|
35 | 35 | sudo make install |
36 | 36 | sudo ldconfig # required on some targets |
37 | 37 | ``` |
38 | | -NOTE: This DOES NOT require installation of liboqs. |
39 | | - |
40 | | -Tested with these wolfSSL build options for Falcon certificates: |
41 | | - |
42 | | -```sh |
43 | | -./autogen.sh # If cloned from GitHub |
44 | | -./configure --enable-experimental --enable-dual-alg-certs --with-liboqs --enable-debug |
45 | | -make |
46 | | -sudo make install |
47 | | -sudo ldconfig # required on some targets |
48 | | -``` |
49 | | -NOTE: This REQUIRES installation of liboqs for its Falcon implementation. |
50 | | - |
51 | | - |
52 | 38 |
|
53 | 39 | In the directory where this README.md file is found, clean up previous build |
54 | 40 | products and certificates and then build the applications. |
@@ -76,13 +62,13 @@ verification was also successful. |
76 | 62 | On the client side, during the call to `DoTls13CertificateVerify()` look for |
77 | 63 | messages that indicate both conventional and post-quantum verification: |
78 | 64 |
|
79 | | -For example, if you are doing ECDSA with Falcon, you will see the following: |
| 65 | +For example, if you are doing ECDSA with MLDSA, you will see the following: |
80 | 66 |
|
81 | 67 | ``` |
82 | 68 | Doing ECC peer cert verify |
83 | 69 | wolfSSL Entering EccVerify |
84 | 70 | wolfSSL Leaving EccVerify, return 0 |
85 | | -Doing Falcon peer cert verify |
| 71 | +Doing MLDSA peer cert verify |
86 | 72 | wolfSSL Leaving DoTls13CertificateVerify, return 0 |
87 | 73 | ``` |
88 | 74 |
|
@@ -199,81 +185,6 @@ examples/server/server -d -v 4 -c ../wolfssl-examples/X9.146/server-P521-mldsa87 |
199 | 185 | examples/client/client -v 4 -A ../wolfssl-examples/X9.146/ca-P521-mldsa87-cert.pem |
200 | 186 | ``` |
201 | 187 |
|
202 | | -#### P-256 and Falcon Level 1 Demo |
203 | | - |
204 | | -Generate the various conventional keys; the post-quantum key are pre-generated: |
205 | | - |
206 | | -```sh |
207 | | -openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out ca-key.der -outform der |
208 | | - |
209 | | -openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-256 -out server-key.der -outform der |
210 | | -``` |
211 | | - |
212 | | -Generate the certificate chain: |
213 | | - |
214 | | -``` |
215 | | -./gen_ecdsa_falcon_dual_keysig_root_cert 1 |
216 | | -
|
217 | | -./gen_ecdsa_falcon_dual_keysig_server_cert 1 |
218 | | -``` |
219 | | - |
220 | | -Convert the DER encoded resulting certificates and keys into PEM: |
221 | | - |
222 | | -``` |
223 | | -openssl x509 -in ca-cert-pq.der -inform der -out ca-P256-falcon1-cert.pem -outform pem |
224 | | -
|
225 | | -openssl x509 -in server-cert-pq.der -inform der -out server-P256-falcon1-cert.pem -outform pem |
226 | | -
|
227 | | -openssl pkey -in server-key.der -inform der -out server-P256-key.pem -outform pem |
228 | | -
|
229 | | -cp ../certs/falcon_level1_server_key.pem server-falcon1-key-pq.pem |
230 | | -``` |
231 | | -Then in wolfssl's source directory: |
232 | | - |
233 | | -``` |
234 | | -examples/server/server -d -v 4 -c ../wolfssl-examples/X9.146/server-P256-falcon1-cert.pem -k ../wolfssl-examples/X9.146/server-P256-key.pem --altPrivKey ../wolfssl-examples/X9.146/server-falcon1-key-pq.pem |
235 | | -
|
236 | | -examples/client/client -v 4 -A ../wolfssl-examples/X9.146/ca-P256-falcon1-cert.pem |
237 | | -``` |
238 | | - |
239 | | -#### P-521 and Falcon Level 5 Demo |
240 | | - |
241 | | -Generate the various conventional keys; the post-quantum key are pre-generated: |
242 | | - |
243 | | -```sh |
244 | | -openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-521 -out ca-key.der -outform der |
245 | | - |
246 | | -openssl genpkey -algorithm ec -pkeyopt ec_paramgen_curve:P-521 -out server-key.der -outform der |
247 | | -``` |
248 | | - |
249 | | -Generate the certificate chain: |
250 | | - |
251 | | -``` |
252 | | -
|
253 | | -./gen_ecdsa_falcon_dual_keysig_root_cert 5 |
254 | | -
|
255 | | -./gen_ecdsa_falcon_dual_keysig_server_cert 5 |
256 | | -``` |
257 | | - |
258 | | -Convert the DER encoded resulting certificates and keys into PEM: |
259 | | - |
260 | | -``` |
261 | | -openssl x509 -in ca-cert-pq.der -inform der -out ca-P521-falcon5-cert.pem -outform pem |
262 | | -
|
263 | | -openssl x509 -in server-cert-pq.der -inform der -out server-P521-falcon5-cert.pem -outform pem |
264 | | -
|
265 | | -openssl pkey -in server-key.der -inform der -out server-P521-key.pem -outform pem |
266 | | -
|
267 | | -cp ../certs/falcon_level5_server_key.pem server-falcon5-key-pq.pem |
268 | | -``` |
269 | | -Then in wolfssl's source directory: |
270 | | - |
271 | | -``` |
272 | | -examples/server/server -d -v 4 -c ../wolfssl-examples/X9.146/server-P521-falcon5-cert.pem -k ../wolfssl-examples/X9.146/server-P521-key.pem --altPrivKey ../wolfssl-examples/X9.146/server-falcon5-key-pq.pem |
273 | | -
|
274 | | -examples/client/client -v 4 -A ../wolfssl-examples/X9.146/ca-P521-falcon5-cert.pem |
275 | | -``` |
276 | | - |
277 | 188 | ### RSA Demos |
278 | 189 |
|
279 | 190 | #### RSA-3072 and MLDSA44 Demo |
@@ -313,43 +224,6 @@ examples/server/server -d -v 4 -c ../wolfssl-examples/X9.146/server-rsa3072-mlds |
313 | 224 | examples/client/client -v 4 -A ../wolfssl-examples/X9.146/ca-rsa3072-mldsa44-cert.pem |
314 | 225 | ``` |
315 | 226 |
|
316 | | -#### RSA-3072 and Falcon Level 1 Demo |
317 | | - |
318 | | -Generate the various conventional keys; the post-quantum key are pre-generated: |
319 | | - |
320 | | -```sh |
321 | | -openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:3072 -out ca-key.der -outform der |
322 | | - |
323 | | -openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:3072 -out server-key.der -outform der |
324 | | -``` |
325 | | - |
326 | | -Generate the certificate chain: |
327 | | - |
328 | | -``` |
329 | | -./gen_rsa_falcon_dual_keysig_root_cert |
330 | | -
|
331 | | -./gen_rsa_falcon_dual_keysig_server_cert |
332 | | -``` |
333 | | - |
334 | | -Convert the DER encoded resulting certificates and keys into PEM: |
335 | | - |
336 | | -``` |
337 | | -openssl x509 -in ca-cert-pq.der -inform der -out ca-rsa3072-falcon1-cert.pem -outform pem |
338 | | -
|
339 | | -openssl x509 -in server-cert-pq.der -inform der -out server-rsa3072-falcon1-cert.pem -outform pem |
340 | | -
|
341 | | -openssl pkey -in server-key.der -inform der -out server-rsa3072-key.pem -outform pem |
342 | | -
|
343 | | -cp ../certs/falcon_level1_server_key.pem server-falcon1-key-pq.pem |
344 | | -``` |
345 | | -Then in wolfssl's source directory: |
346 | | - |
347 | | -``` |
348 | | -examples/server/server -d -v 4 -c ../wolfssl-examples/X9.146/server-rsa3072-falcon1-cert.pem -k ../wolfssl-examples/X9.146/server-rsa3072-key.pem --altPrivKey ../wolfssl-examples/X9.146/server-falcon1-key-pq.pem |
349 | | -
|
350 | | -examples/client/client -v 4 -A ../wolfssl-examples/X9.146/ca-rsa3072-falcon1-cert.pem |
351 | | -``` |
352 | | - |
353 | 227 | ## Generating a Certificate Chain and Adding Alternative keys and Signatures |
354 | 228 |
|
355 | 229 | In the directory where this README.md file is found, build the applications: |
|
0 commit comments