Azure网站无法与第三方API通信

Azure网站无法与第三方API通信,azure,azure-web-app-service,azure-cloud-services,Azure,Azure Web App Service,Azure Cloud Services,团队 我最近已将azure classic门户资源迁移到CSP订阅。我已在CSP订阅中将我的azure云服务成功转换为azure应用程序网站。但有一件事我无法连接。它是第三方API,当我们将云服务的.pfx上传到azure时,我们在代码中创建了一个uri,该uri由certificate密钥+certificate密钥组成 证书密钥直接从web.config获取。但是证书密钥是从EncryptedSettings.Appsettings(“SecretKeyName”)获取的 这基本上是通过之前

团队

我最近已将azure classic门户资源迁移到CSP订阅。我已在CSP订阅中将我的azure云服务成功转换为azure应用程序网站。但有一件事我无法连接。它是第三方API,当我们将云服务的.pfx上传到azure时,我们在代码中创建了一个uri,该uri由certificate密钥+certificate密钥组成

证书密钥直接从web.config获取。但是证书密钥是从EncryptedSettings.Appsettings(“SecretKeyName”)获取的

这基本上是通过之前的加密应用程序设置获得的

但我不确定我们应该在Azure网站上实现什么方式

我尝试过实现相同的功能,但不幸的是,云服务的密钥检索技术似乎与azure web app服务中的不同

当我调试azure网站时,我可以看到它给出的错误为

无法使用提供程序“CustomProvider”解密。来自提供程序的错误消息:值不能为null。 参数名称:keyObject


有人能为我指点迷津吗?

与其在配置中存储机密,不如将其存储在Azure KeyVault中(它还提供机密管理功能等),然后在运行时加载机密

KeyVault文档:

具体介绍如何在azure网站上使用keyvault:

现在,使用keyvault不必手动验证,而是使用“托管服务标识”,这里有一个教程:


有趣的是,第二个教程确实特别提到使用证书进行身份验证(针对keyvault),您可能希望自己使用此技术作为直接访问证书的简化方法。

谢谢。这很有帮助。我会看看上面提到的文章,现在就告诉你。很酷,很高兴能为你提供帮助。你好,alex…已经按照你的第二个链接一个接一个地完成了这些步骤。这里的一个问题是,我无法用密码上传现有的pfx证书。它给出的错误为无效证书或错误密码。但是,我能够将相同的pfx证书与应用程序服务相关联。我不确定这种特殊的行为?对这种现象有什么看法?有趣的是,当你说到这一点时,你看到的错误是什么?好的,只是忘了告诉你。我在通过powershell上载时出错。导入AzureKeyVault证书:不支持的密钥大小(1024)。支持的大小为[2048、3072、4096]。我想我会把这作为一个单独的问题。