【问题标题】:azure APIM client certificate towards SAP gateway面向 SAP 网关的 Azure APIM 客户端证书
【发布时间】:2021-06-07 08:12:24
【问题描述】:

在 SAP S/4HANA 中调用 OData 服务时,我们尝试使用客户端证书进行身份验证。我们从一个天蓝色的 APIM 实例调用。作为证书,我们根据此博客 (https://blogs.sap.com/2020/05/03/x.509-certificate-based-logon-to-odata-services/) 创建了一个自签名证书并配置了 SAP S/4HANA 然后我们从浏览器中测试它,它就像一个魅力。 但是从 azure APIM 调用我们会从 SAP S/4HANA 得到以下响应:

<?xml version="1.0" encoding="utf-8"?> <error xmlns:xsi="http://www.w3.org/2001/XMLSchema-Instance">
<code>HTTP/404/E/Not Found</code>
<message> Service /sap/opu/odata/sap/xxxxyyyy/xxyyzz call was terminated because the corresponding service is not available.The termination occurred in system UFI with error code 404 and for the reason Not found. Please select a valid URL. If it is a valid URL, check whether service /sap/opu/odata/sap/xxxxyyyy/xxyyzz is active in transaction SICF. If you do not yet have a user ID, contact your system administrator. </message>

SAP S/4HANA 支持表示,然后从浏览器调用他们可以“看到”有效负载中的证书,但随后从 APIM 调用,有效负载是“空的”。

我从 SAP S/4HANA 网关服务器获得了跟踪日志,我注意到从浏览器调用与从 APIM 调用的细微差别:

浏览器调用(成功): [Thr 140708195055360] HttpModGetDefRules:确定缺陷:COPY_CERT_TO_MPI (1)

APIM 调用(失败): [Thr 140708197697280] HttpModGetDefRules:确定缺陷:NOTHING (0)

所以证书显然是到达 SAP S/4HANA 网关服务器,而不是 SAP S/4HANA Odata 服务器。所以不知何故,由于某种原因,它在 SAP S/4HANA 网关服务器上丢失了,然后它来自 azure APIM。

我已尝试使调用 100% 相同(相同的标头相同的值),但我无法控制在 azure apim 中添加证书的方式,或者可以吗?

我读到可以使用以下策略设置证书正文:

<authentication-certificate body="@(context.Variables.GetValueOrDefault<byte[]>("byteCertificate"))" password="optional-certificate-password" />

但我不知道如何为“byteCertificate”获取正确的值。

有人做过吗?或者有没有人遇到过类似的问题?

【问题讨论】:

    标签: azure ssl azure-api-management client-certificates s4hana


    【解决方案1】:

    我们终于找到了解决方案! 感谢 microsoft APIM 支持团队,非常感谢 :)

    APIM 充当反向代理并添加与此角色相关的标头。标头“X-Forwarded-For”导致 SAP 拒绝带有上述误导性错误消息的请求。我们找到了 SAP 可以配置的解决方案:

    ICM 参数“icm/HTTPS/accept_ccert_for_x_forwarded_for_requests”必须设置为“true” - 默认设置为“false”。

    (不能使用 APIM 端的策略删除标头。)

    【讨论】:

      猜你喜欢
      • 2021-06-21
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多