CngKey.Import(…); 在PC上成功但在Web主机上失败
以下行在我的PC上成功,但在Web主机的服务器上抛出exception:
CngKey.Import(EccPrivateBlob, CngKeyBlobFormat.EccPrivateBlob); //EccPrivateBlob is a byte[] that works on my PC.
例外:
System.Security.Cryptography.CryptographicException:发生内部错误。 在System.Security.Cryptography.NCryptNative.OpenStorageProvider(String providerName)的System.Security.Cryptography.CngKey.Import(Byte [] keyBlob,CngKeyBlobFormat格式,CngProvider提供者)at …
这是安全例外吗? 有办法解决吗?
我能够通过在Azure门户中启用WEBSITE_LOAD_USER_PROFILE = 1
来解决此问题,如下所述:
如何在Azure WebJob上签署JWT令牌而不会出现CryptographicException?