如何将第三方CA证书和自签名证书应用于Azure逻辑应用程序

如何将第三方CA证书和自签名证书应用于Azure逻辑应用程序

我们正在使用 Azure 逻辑应用程序将第三方 API 服务与 D365FO 实例集成。第三方为我们提供了一个公共 CA 证书文件 (crt) 和一个自签名证书以及密钥文件集 (crt 和 key) 来保护连接。

现在,MS 文档中提供了有关如何将客户端证书应用于对 API 服务的 HTTP 请求的说明。尽管仅使用客户端证书在运行逻辑应用程序时会出现 TrustFailure 错误。此结果似乎也在 Microsoft 文档中描述:

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-securing-a-logic-app?tabs=azure-portal#access-for-outbound-calls-to-other-services-and-systems

同时,我们还获得了一个公共 (CA) 证书,这可能会缓解这个问题,但我们不确定如何将 CA 证书应用于 Azure 逻辑应用程序。不过,也许 CA 证书在这里根本不必要。有人能告诉我们如何处理这个问题吗?

答案1

对于那些感兴趣的人,事实证明,提供的文件(标记为 CA 证书)是私有证书,供应商本身是“本地证书颁发机构”。使用该 CA 证书,生成自签名客户端证书。Azure Logic App 的 HTTP 请求操作不支持这些类型的自签名证书来建立连接。最终,我们创建了一个使用客户端证书建立连接的 Azure 函数。Azure 函数被纳入处理 http 请求的逻辑应用中。

答案2

如果其他人遇到同样的问题,Logic Apps 标准支持调用使用内部证书颁发机构签名的 HTTP 端点,如文档所述这里

在逻辑应用资源的应用设置中,添加或更新应用设置 WEBSITE_LOAD_ROOT_CERTIFICATES。

对于设置值,请提供 TLS/SSL 证书的指纹作为要信任的根证书。

"WEBSITE_LOAD_ROOT_CERTIFICATES": "<TLS/SSL 证书的指纹>"

当需要信任多个 CA 证书时,可以添加指纹,并以逗号分隔,中间不加空格。

CA 证书的公钥也必须上传到 Logic App。这在官方文档

将公钥上传到应用服务

高血压

相关内容