private-octopus / picoquic

Minimal implementation of the QUIC protocol
MIT License
547 stars 161 forks source link

Compile without openssl #1539

Closed huitema closed 1 year ago

huitema commented 1 year ago

Work in progress: refactor the code in "tls_api.c" around a set of tables describing the algorithms. This is the first step into enabling versions of picoquic that do not depend on openssl. That first step will conclude when all references to "openssl" can be removed from "tls_api.c".

There are really two parts. First, managing the table of supported cipher suites, which also provides definitions for the AEAD algorithms, ECB ciphers, hash algorithms, and key exchange algorithms. These should be defined by the algorithms in "ptls_fusion", "ptls_openssl" and "ptls_minicrypto".

Second part is to enable use of either openssl or minicrypto for managing certificates.

This work in progress. We verify that the code works after each iteration. We may need to add compile flags to disable openssl at some point, writing a minicrypto only test.