Skip to content

Commit e6cfcba

Browse files
committed
Update README.md
1 parent c469702 commit e6cfcba

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,29 @@ A production worthy SFU probably needs an even more sophisticated
287287
strategy weighing in all possible time sources to get a good estimate
288288
of the remote wallclock for a packet.
289289

290+
## Crypto backends
291+
292+
str0m has two crypto backends, `openssl` and `wincrypto`. The default is
293+
`openssl` which works on all platforms (also Windows). Ideally we want a
294+
pure rust version of the crypto code, but WebRTC currently requires
295+
DTLS 1.2 (not the latest version 1.3), and that leaves us only with a
296+
few possible options.
297+
298+
When compiling for Windows, the `openssl` feature can be removed and
299+
only rely on `wincrypto`. However notice that `str0m` never picks up a
300+
default automatically, you must explicitly configure the crypto backend,
301+
also when removing the `openssl` feature.
302+
303+
If you are building an application, the easiest is to set the default
304+
for the entire process.
305+
306+
```rust
307+
use str0m::config::CryptoProvider;
308+
309+
// Will panic if run twice
310+
CryptoProvider::WinCrypto.install_process_default();
311+
```
312+
290313
## Project status
291314

292315
Str0m was originally developed by Martin Algesten of

0 commit comments

Comments
 (0)