无法让客户端证书在逻辑应用程序的 HTTP 操作中工作

Cannot get Client Certificate to work in HTTP Action of Logic App

我正在尝试将使用客户端证书身份验证的 HTTP 操作添加到逻辑应用程序

当我指定我生成的 PFX 文件时,我收到一条错误消息

The provided authentication certificate is missing the private key. The private key is required to sign the request.

我是直接用门户,不是代码

我有私钥

如何指定?

保罗

The provided authentication certificate is missing the private key. The private key is required to sign the request.

您收到此错误是因为它缺少私钥。如果没有私钥,您将无法使用客户端证书进行身份验证。

在客户端上,客户端证书必须有私钥。如果不存在,则忽略该证书。有关这方面的更多信息,您可以参考Here

虽然客户端证书 Import/Export 您需要选中将为我们提供私钥的框。

备用: 有时 .pfx gile 不能直接工作。使用 OpenSSL 将它们转换为 .pem,然后再转换回 pfx 以使其正常工作:

openssl pkcs12 -in certificate.pfx -out certificate.pem
openssl pkcs12 -in certificate.pem -export -out certificate2.pfx

pfx 文件在转换为 base64 字符串后将在 Azure 逻辑应用程序中运行。当 pfx 文件导入到证书 MMC 中时,尝试再次导出并且它有效。

参考资料:

  1. Call service endpoints by using HTTP or HTTPS - Azure Logic Apps | Microsoft Docs
  2. Vertifi - Digital Certificates
  3. LogicApp: Certificate Authentication for HTTP GET Action not working · Issue #51400 · MicrosoftDocs/azure-docs (github.com)