我将现有的 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 回答
![?](http://img1.sycdn.imooc.com/54584d1300016b9b02200220-100-100.jpg)
梵蒂冈之花
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);
看看是否有帮助。
- 1 回答
- 0 关注
- 57 浏览
添加回答
举报
0/150
提交
取消