【转发】本地可以,发布到服务器报错【CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob)系统找不到指定的文件】的解决方案

wsw9284

【转发】本地可以,发布到服务器报错【CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob)系统找不到指定的文件】的解决方案


本地可以,发布到服务器报错【CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob)系统找不到指定的文件】,这是由于服务器 IIS 和本地 IIS 默认配置不一致引起的,解决方案如下:

修改服务器 IIS 该网站的应用程序池配置项:【加载用户配置文件】 改为 True 即可~

【转发】本地可以,发布到服务器报错【CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob)系统找不到指定的文件】的解决方案_服务器


微信 支付V3中有个签名方法用到了:


protected static string Sign(string message, string privateKey)
{
try
{
byte[] keyData = Convert.FromBase64String(privateKey);
using (CngKey cngKey = CngKey.Import(keyData, CngKeyBlobFormat.Pkcs8PrivateBlob))
using (RSACng rsa = new RSACng(cngKey))
{
byte[] data = Encoding.UTF8.GetBytes(message);
return Convert.ToBase64String(rsa.SignData(data, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1));
}
}
catch(Exception ex)
{

return "";
}

}




学习交流群:364976091