Stream: git-wasmtime

Topic: wasmtime / issue #10089 Implement wasi-tls


view this post on Zulip Wasmtime GitHub notifications bot (Jan 23 2025 at 11:47):

badeend opened issue #10089:

wasi-tls has recently been accepted as a phase 1 proposal.

We'd like to start implementing this in wasmtime. There already exists some prior efforts:


My suggestion is to add a new standalone wasi-tls crate:

Thoughts?


CC @dicej @jsturtevant

view this post on Zulip Wasmtime GitHub notifications bot (Jan 23 2025 at 11:48):

badeend commented on issue #10089:

I did an inventory of the two most popular rust TLS crates to see how suitable they are to implement the draft spec:

rustls:

native-tls:

From wasmtime's POV, rustls seems an obvious choice:

Despite its shortcomings, from a Standards POV, native-tls has one important leg up:
Instant validation of portability goals against three different industry-standard back-ends (OpenSSL, SChannel, SecureTransport).
AFAIK, most of these shortcomings are of the native-tls crate itself and not of the underlying providers. Case in point: .NET's SSLStream is also built on top of SChannel & OpenSSL, yet _does_ support the desired features.


In the current stage the interface is still simple enough that it doesn't really matter which one we choose. I just wanted to throw it out there before we start sinking too much time into the integration of either option.

view this post on Zulip Wasmtime GitHub notifications bot (Jan 23 2025 at 16:57):

alexcrichton commented on issue #10089:

How unreasonable do you think it would be to support both rustls and native-tls? For example via compile-time Cargo features? It seems reasonable to have rustls as the default given its breadth of features but being able to showcase both in the same codebase would be a nice example for others looking to implement the proposal as well.


Last updated: Jan 24 2025 at 00:11 UTC