OpenSsl 在 Windows 操作系统的 Visual Studio 中可用吗?
是的,至少根据他们的FAQ 和他们的available binaries.
那么 System.Security.Cryptograpgy.Openssl Nouget Packet 在 Visual Studio 中的作用是什么?
由于 Microsoft 文档采用非直观的方式(至少对我而言),因此通常很难理解为什么某些东西存在/可用。
了解为什么这个特定的包不会立即有用。我们必须查看您链接的文档页面的几个部分。
在我们看到的Remarks 部分下
RSAOpenSsl 类是使用 OpenSSL 的 RSA 算法的实现。它在 Windows 上不可用,并且仅在安装 OpenSSL 时在其他操作系统上可用。 ...
这很重要,因为它本质上告诉我们这个特定的包不能在 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 平台。