繁体   English   中英

在 AzureFunction 上使用 RSACryptoServiceProvider

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM