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