www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - vibe-stream now supports SSLKEYLOGFILE

reply Steven Schveighoffer <schveiguy gmail.com> writes:
Just added a new feature to vibe-stream for anyone doing TLS 
debugging with wireshark.

There is a feature supported on cURL and most browsers known as 
[SSLKEYLOGFILE](https://www.ietf.org/archive/id/draft-thomson-tls-keylogfile-00.html)

A quick tutorial on how to use it in cURL is 
[here](https://everything.curl.dev/usingcurl/tls/sslkeylogfile.html).

For the updated 
[vibe-stream](https://code.dlang.org/packages/vibe-stream) 
(1.3.0), you can enable the feature (that it uses the environment 
variable to set up a key log file) by enabling version 
`VibeKeylogFromEnvironment`.

You can also set up key logging by assigning your own function to 
the new field (on OpenSSLContext) called `keylogCallback`. This 
may not be in docs yet, I'm not sure how they update on vibed.org.

Note that this feature is only available with libssl version 
1.1.1 or higher. It does not work on other libraries or prior 
versions (though 1.1.1 is quite old).

Enjoy!

-Steve
Sep 03
parent bauss <jacobbauss gmail.com> writes:
On Wednesday, 3 September 2025 at 20:02:24 UTC, Steven 
Schveighoffer wrote:
 Just added a new feature to vibe-stream for anyone doing TLS 
 debugging with wireshark.

 There is a feature supported on cURL and most browsers known as 
 [SSLKEYLOGFILE](https://www.ietf.org/archive/id/draft-thomson-tls-keylogfile-00.html)

 A quick tutorial on how to use it in cURL is 
 [here](https://everything.curl.dev/usingcurl/tls/sslkeylogfile.html).

 For the updated 
 [vibe-stream](https://code.dlang.org/packages/vibe-stream) 
 (1.3.0), you can enable the feature (that it uses the 
 environment variable to set up a key log file) by enabling 
 version `VibeKeylogFromEnvironment`.

 You can also set up key logging by assigning your own function 
 to the new field (on OpenSSLContext) called `keylogCallback`. 
 This may not be in docs yet, I'm not sure how they update on 
 vibed.org.

 Note that this feature is only available with libssl version 
 1.1.1 or higher. It does not work on other libraries or prior 
 versions (though 1.1.1 is quite old).

 Enjoy!

 -Steve
Great job!
Sep 11