Skip to content

Does .NET use the version of OpenSSL provided by Linux? #108849

Answered by bartonjs
Beau-Gosse-dev asked this question in Q&A
Discussion options

You must be logged in to vote

.NET does not redist OpenSSL, we get it from the system. If you have replaced the system OpenSSL, then that's the one we'll load. If you have two versions/builds of OpenSSL in your library load path then which one it picks is deterministic, but complicated.

Along the same lines, will .NET 8 use /dev/random and/or /dev/urandom?

The CSPRNG uses OpenSSL RAND_bytes. Because of layering, there are a few places that use /dev/urandom, but never from System.Security.Cryptography. (I believe the two places that might use urandom are Guid.NewGuid() and the random seed for string hash codes)

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by Beau-Gosse-dev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants