c# - CngKey System.Security.Cryptography.CryptographicException 系统找不到 Azure 上指定的文件
问题描述
我尝试从此代码生成密钥
CngKey key = CngKey.Import(Convert.FromBase64String(privateKey), CngKeyBlobFormat.Pkcs8PrivateBlob);
它在本地运行良好,但是当我在我的 Azure 应用服务中部署时。它给了我这个错误:
System.Security.Cryptography.CryptographicException:系统找不到指定的文件。在 System.Security.Cryptography.NCryptNative.ImportKey(SafeNCryptProviderHandle 提供程序,Byte[] keyBlob,字符串格式)在 System.Security.Cryptography.CngKey.Import(Byte[] keyBlob,字符串曲线名称,CngKeyBlobFormat 格式,CngProvider 提供程序)
我在配置中添加了 WEBSITE_LOAD_USER_PROFILE,值为“1”,但没有任何区别。
谢谢
解决方案
如果WEBSITE_LOAD_USER_PROFILE = 1
不适合你。这是同一问题的解决方法:
- 在 portal.azure.com 中打开您的 Azure 应用服务(Azure 网站)刀片
- 转到应用程序设置页面
- 滚动到应用设置
- 添加一个新的条目键:WEBSITE_LOAD_CERTIFICATES,并为其提供一个虚拟(假的、虚构的、随机生成的)值。
查看以下链接以获取类似问题以供参考:
推荐阅读
- javascript - augur.io 如何唯一识别设备?
- reactjs - 如何使用带有 raw-loader 的 React 在组件挂载时加载文件
- c - pthread_create 跳过或重复
- java - Android工作室中的增强现实
- android - 将 com.google.android.gms 的版本更新为 15.0.2
- android - Android ViewPager 滚动滞后
- c# - 语言不支持
- android - 在 Android Studio 中查找 ndk-bundle 时出错,但它存在并且在正确的位置
- python - 多个评分参数不适用于网格搜索
- sql-server - 连接字符串属性尚未初始化