我曾经OpenSSL
使用SHA256
. 现在我想使用这些证书来签署数据并验证现有的签名。
我尝试使用DSACryptoServiceProvider
,但它只支持SHA1
or MD5
。
但似乎ECDsaCng
是能够支持的ECDSA-with-SHA256
。我唯一的问题是我不知道如何将私钥和公钥从 myX509Certificate2
转换为必要的CngKey
. 我读了另一个问题,其中有人描述了如何转换公钥。但为了能够签署数据,我也需要私钥。
那么有没有办法从CngKey
私钥和公钥中取出X509Certificate2
?证书有不同的格式。我将它们作为 PFX 文件并分别作为 CER 和 PEM 文件。
我宁愿坚持使用.NET Framework 4
,但如果根本无法使用它,我也会切换到Bouncy Castle
.