为了账号安全,请及时绑定邮箱和手机立即绑定

在 AzureFunction 上使用 RSACryptoServiceProvider

在 AzureFunction 上使用 RSACryptoServiceProvider

C#
鸿蒙传说 2022-11-13 15:54:23
我将现有的 DLL 移动到 Azure 函数以生成和签署哈希。虽然当我使用 rsaPrivate.FromXmlString(privKey); 天蓝色函数检索错误 500。没有它我可以检索哈希。似乎在天蓝色上我无法以某种方式定义 RSACryptoServiceProvider 类型。有谁知道我错过了什么?    string sHash = String.Empty;    string privKey = "MyXMLkey";    RSACryptoServiceProvider rsaPrivate = new RSACryptoServiceProvider();    try    {        //rsaPrivate.FromXmlString(privKey); //Troubled line        SHA1 sha1 = SHA1.Create();        byte[] rawSecret = Encoding.UTF8.GetBytes(name);        byte[] signedSecretData = rsaPrivate.SignData(rawSecret, SHA1.Create());        sHash = Convert.ToBase64String(signedSecretData);    }    catch    {        sHash="Couldnt sign or generate hash";    }
查看完整描述

1 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

您需要在初始化 RSACryptoServiceProvider 类时指定在机器存储中创建密钥。


System.Security.Cryptography.CspParameters csp = new CspParameters();

csp.KeyContainerName = "MyKeyName";

csp.Flags = CspProviderFlags.UseMachineKeyStore;


System.Security.Cryptography.RSACryptoServiceProvider key = new RSACryptoServiceProvider(csp);

看看是否有帮助。

您需要在初始化 RSACryptoServiceProvider 类时指定在机器存储中创建密钥。


System.Security.Cryptography.CspParameters csp = new CspParameters();

csp.KeyContainerName = "MyKeyName";

csp.Flags = CspProviderFlags.UseMachineKeyStore;


System.Security.Cryptography.RSACryptoServiceProvider key = new RSACryptoServiceProvider(csp);

看看是否有帮助。


查看完整回答
反对 回复 2022-11-13
  • 1 回答
  • 0 关注
  • 57 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信