gpt4 book ai didi

cryptography - 在 .Net Core 上使用非对称 key

转载 作者:行者123 更新时间:2023-12-04 04:20:37 25 4
gpt4 key购买 nike

我正在尝试运行此示例中的代码

https://docs.microsoft.com/en-us/dotnet/standard/security/how-to-store-asymmetric-keys-in-a-key-container

在 .NetCore 2.0(Web 应用程序)下。

但是,当我尝试使用
CspParameters

我收到以下错误
'CspParameters' requires Windows Cryptographic API (CAPI), which is not available on this platform.

请就我如何解决这个问题提出建议。
谢谢。

最佳答案

.NET 不存储加密 key ,这最终是(或不)由其构建的加密平台提供的功能。

要将 CspParameters 与 .NET Core 一起使用,您必须在 Windows 上运行;因为这是(旧的)Windows Cryptographic API 的一个非常薄的包装器。您不能在 UAP 中使用它,因为 UAP 只允许较新的密码学:下一代 (CNG) API。

macOS 可以将 key 存储在 Keychain 中,但 .NET Core 不提供 API 来读取它们。

Linux (OpenSSL) 除了“将其保存到文件并再次加载”之外没有任何 key 存储机制,但 .NET Core 不支持从文件加载非对称 key 。

在跨平台机制中实现目标的唯一方法是将非对称 key 与 X.509 证书关联。如果您为其构建 X509Certificate2 对象 HasPrivateKey返回 true 您可以将其保存到 PFX/PKCS#12 文件,然后从该文件加载;或者您可以将它添加到 X509Store 实例(CurrentUser 的“我的”存储是跨平台效果最好的存储),然后从 X509Store 实例读取它。

尽管您引用的页面声称是在 2017 年编写的,但它的真正含义是该内容在该日期从 msdn.microsoft.com 上的先前位置移出。原始页面是在 2008 年编写的(至少,那是 web.archive.org 上的第一个热门页面),因此它早于 .NET Core。

关于cryptography - 在 .Net Core 上使用非对称 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48791488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com