![如何将第三方CA证书和自签名证书应用于Azure逻辑应用程序](https://linux22.com/image/764500/%E5%A6%82%E4%BD%95%E5%B0%86%E7%AC%AC%E4%B8%89%E6%96%B9CA%E8%AF%81%E4%B9%A6%E5%92%8C%E8%87%AA%E7%AD%BE%E5%90%8D%E8%AF%81%E4%B9%A6%E5%BA%94%E7%94%A8%E4%BA%8EAzure%E9%80%BB%E8%BE%91%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F.png)
我们正在使用 Azure 逻辑应用程序将第三方 API 服务与 D365FO 实例集成。第三方为我们提供了一个公共 CA 证书文件 (crt) 和一个自签名证书以及密钥文件集 (crt 和 key) 来保护连接。
现在,MS 文档中提供了有关如何将客户端证书应用于对 API 服务的 HTTP 请求的说明。尽管仅使用客户端证书在运行逻辑应用程序时会出现 TrustFailure 错误。此结果似乎也在 Microsoft 文档中描述:
同时,我们还获得了一个公共 (CA) 证书,这可能会缓解这个问题,但我们不确定如何将 CA 证书应用于 Azure 逻辑应用程序。不过,也许 CA 证书在这里根本不必要。有人能告诉我们如何处理这个问题吗?
答案1
对于那些感兴趣的人,事实证明,提供的文件(标记为 CA 证书)是私有证书,供应商本身是“本地证书颁发机构”。使用该 CA 证书,生成自签名客户端证书。Azure Logic App 的 HTTP 请求操作不支持这些类型的自签名证书来建立连接。最终,我们创建了一个使用客户端证书建立连接的 Azure 函数。Azure 函数被纳入处理 http 请求的逻辑应用中。