首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Azure持久性函数(Node.JS)错误: System.Security.Cryptography.CryptographicException :试图加密提供的数据时发生的错误

Azure持久性函数(Node.JS)错误: System.Security.Cryptography.CryptographicException :试图加密提供的数据时发生的错误
EN

Stack Overflow用户
提问于 2021-12-22 18:23:14
回答 1查看 127关注 0票数 0

拥有一个用NodeJS编写的Azure持久函数应用程序。函数正在部署到Azure,但由于以下错误,无法在VSCode中本地调试它们。我不明白为什么我要在我的应用程序中得到一个.NET核心错误。

"System.Security.Cryptography.CryptographicException

MS_FUNCTION_LOGS 2、ErrorOccuredDuringStartupOperation、Host.Startup、Host.Startup:试图加密提供的数据时发生了错误。有关更多信息,请参考内部异常。--> System.InvalidOperationException :密钥环不包含有效的默认保护密钥。由于禁用了密钥的自动生成,数据保护系统无法创建新密钥。

在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider.CreateCacheableKeyRingCore(DateTimeOffset now,IKey keyJustAdded)

(现在在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider.Microsoft.AspNetCore.DataProtection.KeyManagement.Internal.ICacheableKeyRingProvider.GetCacheableKeyRing(DateTimeOffset )

在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider.GetCurrentKeyRingCore(DateTime utcNow,布尔forceRefresh)

在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingProvider.GetCurrentKeyRing()

在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Protect(Byte[]明文中)内部异常的结束

在Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector.Protect(Byte[] (明文)

在Microsoft.AspNetCore.DataProtection.DataProtectionCommonExtensions.Protect(IDataProtector保护器,字符串明文)

(在Microsoft.Azure.WebJobs.Script.WebHost.DataProtectionKeyValueConverter.WriteValue(Key key) D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\DataProtectionKeyValueConverter.cs : 59

(在Microsoft.Azure.WebJobs.Script.WebHost.KeyValueConverterFactoryExtensions.WriteKey(IKeyValueConverterFactory工厂,键)在D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\KeyValueConverterFactoryExtensions.cs : 23,在Microsoft.Azure.WebJobs.Script.WebHost.SecretManager.CreateKey(String名称,字符串秘密)在D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\SecretManager.cs : 608

( Microsoft.Azure.WebJobs.Script.WebHost.SecretManager.GenerateKey(String名称) at D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\SecretManager.cs : 601

Microsoft.Azure.WebJobs.Script.WebHost.SecretManager.GenerateHostSecrets() at D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\SecretManager.cs : 494

异步Microsoft.Azure.WebJobs.Script.WebHost.SecretManager.GetHostSecretsAsync() at D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\SecretManager.cs : 97

在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

(在异步Microsoft.Azure.WebJobs.Script.WebHost.DefaultScriptWebHookProvider.GetOrCreateExtensionKey(String extensionName) at D:\a\1\s\src\WebJobs.Script.WebHost\WebHooks\DefaultScriptWebHookProvider.cs : 74

在启动窗口或ubuntu环境上的调试时,也会发生同样的错误。

Azure函数核心工具核心工具版本: 3.0.3904函数运行时版本: 3.3.1.0

local.settings.json详细信息:

代码语言:javascript
复制
{
  "IsEncrypted": false,
  "Values": {
      "AzureWebJobsStorage": "UseDevelopmentStorage=true",
      "FUNCTIONS_WORKER_RUNTIME": "node",
      "BlobStorageConnection": "UseDevelopmentStorage=true",    
      "BlobStorageAccountKey": "",
      "CONTAINER_NAME": "downloads"
     }
}

是否有一种方法可以改变某些配置或平面,以启用密钥生成和密码密钥的自动刷新,从而使系统能够自行完成此操作,而不需要开发人员进行干预?

找到类似的question on stack overflow,但不确定在何处指定存储帐户详细信息,因为我的存储设置为本地模拟器。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-12-30 05:51:40

我将Azure Functions Core Tools版本升级为4.0.3971

并将"AzureWebJobsSecretStorageType": "files"添加到local.settings.json文件中。对我来说很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70453555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档