gpt4 book ai didi

c# - 从本地机器商店中的证书创建 CngKey 以用于 ECDsaCng(CngKey)?

转载 作者:太空宇宙 更新时间:2023-11-03 13:27:06 25 4
gpt4 key购买 nike

我一直在努力思考 ECDsaCng、CngKey 并使用有效的 EC 证书进行签名。该证书由“Symantec Class 3 ECC 256 bit Extended Validation CA”颁发,签名算法为“sha256ECDSA”,签名哈希算法为“sha256”,公钥参数=“ECDSA_P256”, key 用法=“数字签名( 80)”。

除了 ECDsaCng 之外,我还尝试将 JwtSecurityTokenHandler 与证书一起使用,但出现“不支持证书算法”的异常。使用“标准”2048 位 SSL 证书可以正常工作。

我需要做的是用 ES256 签署一个 JWT,到目前为止,这只能通过使用带有 ECDsaCng 的“随机生成”的 256 位 key 来实现,所以对这些问题中的任何一个的回答都会让我开心:

  1. 如何订购可与 JwtSecurityTokenHandler 一起用于执行 ES256 签名的有效证书?

  2. 如何从商店中的证书创建 CngKey? (证书的私钥不可导出。)

  3. 有没有其他方法可以使用 ES256 和无法从商店导出的证书私钥进行签名?

非常感谢任何帮助!

最好的问候,

亨里克

最佳答案

.NET 4.6.1 为执行 ECDSA 添加了更好的支持。特别是 GetECDsaPrivateKey (extension) method .

由于签名和验证方法在 ECDsa 基类上(自 .NET 4.6.1 起),您实际上不需要直接使用 ECDsaCng 类型,除非您尝试与命名的系统 key 进行交互或其他直接系统互操作。

关于c# - 从本地机器商店中的证书创建 CngKey 以用于 ECDsaCng(CngKey)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043776/

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