[英]Using RSACryptoServiceProvider on AzureFunction
我正在将现有的 DLL 移动到 Azure 函数以生成并签署哈希。
虽然当我使用 rsaPrivate.FromXmlString(privKey); azure 函数会检索错误 500。没有它,我可以检索散列。 似乎在 azure 上我无法以某种方式定义 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";
}
您需要指定在初始化 RSACryptoServiceProvider 类时在机器存储中创建密钥。
System.Security.Cryptography.CspParameters csp = new CspParameters();
csp.KeyContainerName = "MyKeyName";
csp.Flags = CspProviderFlags.UseMachineKeyStore;
System.Security.Cryptography.RSACryptoServiceProvider key = new RSACryptoServiceProvider(csp);
看看它是否有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.