diff --git a/content/notes/openssl-replacements.md b/content/notes/openssl-replacements.md new file mode 100644 index 0000000..f37c12b --- /dev/null +++ b/content/notes/openssl-replacements.md @@ -0,0 +1,17 @@ +--- +title: "OpenSSL replacements" +date: 2022-07-06T09:31:42-07:00 +replyURI: "https://social.treehouse.systems/@ariadne/108601160601729437" +replyTitle: "I am going to…write an OpenSSL wrapper for BearSSL and just make OpenSSL die in Alpine entirely" +replyType: "https://schema.org/SocialMediaPosting" +replyAuthor: "Ariadne Conill" +replyAuthorURI: "https://ariadne.space" +--- +Are you referring to making an OpenSSL-compatible API, so OpenSSL-only programs can link against BearSSL? + +I really like BearSSL for TLS 1.2: it's tiny, runs well on old hardware, and has no dynamic memory allocation. I do have serious doubts for making it the default TLS library when it doesn't support TLS 1.3. Looking at commit logs, I doubt it'll get 1.3 anytime soon. + +mbedTLS, LibreSSL, WolfSSL, s2n-tls, MatrixSSL, GnuTLS (eww), BoringSSL, picotls, NSS, even Fizz and Rustls (just including these two for completeness) all support 1.3 and can be linked in C programs; picking the one high-profile implementation lacking it seems like a bad idea. Perhaps wrapping BearSSL and a TLS 1.3 implementation (like picotls) could work? + +Personally, I'd like to see adoption of more 1.3 extensions to reduce information leakage, such as Encrypted Client Hello or random padding. +