Windows OS 中的 Visual Studio 是否提供 OpenSsl?

Is OpenSsl available in Visual Studio in Windows OS?

Is OpenSsl available in Visual Studio in Windows OS ?

我想在 Visual Studio 2017 年使用 OpenSSL 加密一些文本。

这里是 link 里面说 OpenSSL 在 Windows 中不可用 ?

那么 System.Security.Cryptograpgy.Openssl Nuget 数据包在 Visual Studio 中的用途是什么?

Is OpenSsl available in Visual Studio in Windows OS?

是的,至少根据他们的 FAQ and their available binaries.

Then what is purpose of System.Security.Cryptograpgy.Openssl Nouget Packet in Visual Studio ?

由于 Microsoft 文档的布局不直观(至少对我而言),因此通常更难理解为什么 某些东西存在/可用。

了解为什么这个特定的包不是立即有用的。我们必须查看您链接的文档页面的几个部分。

Remarks部分我们看到

The RSAOpenSsl class is an implementation of the RSA algorithm using OpenSSL. It isn't available on Windows and is only available on other operating systems when OpenSSL is installed. ...

这很重要,因为它基本上告诉我们这个特定的包不能在 windows 上运行,并且专门针对非 windows 平台。

这可能看起来很不直观,因为 C# 和 Microsoft 开发的几个框架(例如 .NET Framework)明确 只针对 Windows/Microsoft 平台。因此,为了弄清楚这一点,我们必须看得更深一点,在这种情况下,要深入网页(因为它太长了)。

如果我们一直滚动到页面底部,我们可以看到大多数 Microsoft 文档页面包含的“Applies To”部分。

Product Versions
.NET Core 1.0, 1.1
.NET Platform Extensions 2.1, 2.2, 3.0, 3.1, 5.0

这个部分,总是在页面的底部(甚至是长得可笑的页面)。它确实描述了这个包针对的平台,这最终回答了我们关于为什么.

的问题

此包专门针对 .NET Core 平台,这是 Microsoft 的跨平台框架之一。这意味着并非所有包和功能都适用于所有平台。

虽然你没有明确询问,但是上面的信息自然会引出一个后续问题,如果我们不能使用这个包,那么我们如何使用 OpenSSL?

为此,我建议使用 their pre-compiled binaries 专门针对您所针对的平台,这似乎是一个 windows 平台。