gpt4 book ai didi

c# - SHA1 与 RSA 在 c# 中使用私钥

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

我试过了

X509Certificate2 _MiCertificado = new X509Certificate2(@"C:\Users\Lefczuk\Downloads\KitPruebas SW\CSD Pruebas\aad990814bp7_1210261233s.cer", "12345678a",X509KeyStorageFlags.MachineKeySet);
RSACryptoServiceProvider RSA1 = (RSACryptoServiceProvider)_MiCertificado.PrivateKey;

SHA1 hasher = new SHA1CryptoServiceProvider();
UTF8Encoding e = new UTF8Encoding(true);
byte[] bytesFirmados = RSA1.SignData(e.GetBytes(this.obtenerCadenaOriginal()),hasher);
Convert.ToBase64String(bytesFirmados);

但它抛出 NullReferenceException,RSA1 对象为空。

有没有办法在不使用 .psk 或 .p12 文件或不编写 OpenSSL 命令的情况下解决这个问题?

最佳答案

您正在加载的证书 (.cer) 文件不包含私钥,因此 _MiCertificado.PrivateKey 为空(这就是为什么 RSA1 也为空).您无法在没有私钥的情况下签署数据,因此您将不得不加载包含私钥的文件(例如 .p12)。

关于c# - SHA1 与 RSA 在 c# 中使用私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21789843/

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