PO 系列之使用证书调用 https 地址

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Basis, Data Engineering, MM, SD, WM, 仓库管理, 开发, 数据工程, 物料管理, 系统管理, 销售分销
目录

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

PO(/PI)是SAP公司的一个中间件产品,用来辅助连接SAP系统与外围系统. (当然外围系统之间也可以使用PO).

为了传输数据的安全性考虑, 客户会要求系统发布的服务必须通过https请求.

PO/PI 使用通道类型是 SOAP Receiver 或REST Receiver时. 如果对方提供的地址是https 地址,需要在PO中引入证书.

**本文主要介绍PO引入外部证书的相关注意事项**

**

**

使用http

为了验证http/https 的差异点,先使用http地址配置PO的接口,并且通过SOAPUI测试验证通过.

图示接口是PO调用目标系统的webservice 服务, 对方发布了两个地址 http 及https.

使用http配置通道,测试调用成功.

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

使用https

调整成https地址,感受差异.

_**01** _

**调整通道配置**

调整目标通道配置, 修改使用https 地址

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**02** _

**再次测试**

在没有任何其它操作的情况下, 使用相同的数据再次调用接口,SOAPUI中报500错误.

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**03** _

**监控日志**

到PO监控中查看

能看到如下报错信息

SOAP: Error occurred

com.sap.engine.interfaces.messaging.api.exception.MessagingException

java.io.IOException: Failed to get the input stream from socket

iaik.security.ssl.SSLCertificateException: Peer certificate rejected by

ChainVerifier

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

获取证书

获取对方的证书文件(该文件可以通过浏览器访问调用地址, 另存证书获取.

在chrome浏览器点击网站左边的锁,查看证书. 复制到文件.后续一步步执行可以导出一个证书文件 文件后缀 .cer

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

导入证书

用管理员账号登陆PO, 把证书文件导入到系统中.

_**01** _

**进入证书管理页面**

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**02** _

**找到TrustedCAs节点**

**必须导入到TrustedCAs 节点中.**

选中该节点, 在导入条目,在弹窗中输入文件信息,完成证书的导入过程

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**03** _

**查看导入的证书**

导入后,可以看到证书的信息

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

重新测试接口

导入后, 立即重新测试接口, 此时还是http 500的错误(图一). 尝试需要重新启动通道(图二),让证书生效后, 再重新测试接口调用,成功(图三)

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

图一

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

图二

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

图三

注意事项

配置https地址的通道,需要注意以下事项

_**01** _

**通道配置**

通道的 client certificate authentication 复选框 use client certificates

会误导配置人员,该复选框的勾选后, 必须选择一个private key 证书. 而之前导入的证书是CERTIFICATE. 无法选择使用.

**无需勾选该标记**

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**02** _

**证书导入节点**

证书必须导入到TrustedCAs中

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**03** _

**重启通道**

证书导入后,必须重启通道,可以通过修改激活通道的方式, 也可以在通信通道监控器中停止,启动通道

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**04** _

**证书有效期**

如果导入的证书过期.也无法使用. 过期的证书状态是红灯. 可以在证书明细中看到有效期限

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

_**05** _

**端口443**

注意默认端口443的使用,浏览器中不显示默认的端口,在实际配置url中需要添加这些默认端口.

但是有些系统发布的地址就是无需使用443端口,这个就需要和对方确认了.

总结

PO调用目标系统的https地址时,需要先导入对方的系统的证书.通道地址调整为https地址即可.

因为PO可以导入多个证书,通道配置中又无需指定证书文件,不太理解PO底层机制怎么正确使用特定的证书.

只能理解为:PO会尝试TrustedCAs中的所有证书,直到联通并标记下来,后续则通过先前的标记确定使用正确的证书.

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

PO 系列之使用证书调用 https 地址 - 封面图
PO 系列之使用证书调用 https 地址 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

请微信联系管理员

syjf1976

sharry_xlp

Yannick_Duan 申请进入公众号讨论群

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「PO系列之使用证书调用https地址.md」整理生成,仅用于内部技术分享与学习交流。