在 AzureFunction 上使用 RSACryptoServiceProvider

我将现有的 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";

    }


鸿蒙传说
浏览 107回答 1
1回答

梵蒂冈之花

您需要在初始化 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);看看是否有帮助。
打开App,查看更多内容
随时随地看视频慕课网APP