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

点击蓝字 关注我们

前言

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地址_第1张图片

使用https

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

01

调整通道配置

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

PO系列之 使用证书调用https地址_第2张图片

PO系列之 使用证书调用https地址_第3张图片

02

再次测试

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

PO系列之 使用证书调用https地址_第4张图片

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地址_第5张图片

获取证书

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

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

PO系列之 使用证书调用https地址_第6张图片

PO系列之 使用证书调用https地址_第7张图片

导入证书

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

01

进入证书管理页面

PO系列之 使用证书调用https地址_第8张图片

02

找到TrustedCAs节点

必须导入到TrustedCAs 节点中.

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

PO系列之 使用证书调用https地址_第9张图片

PO系列之 使用证书调用https地址_第10张图片

03

查看导入的证书

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

PO系列之 使用证书调用https地址_第11张图片


重新测试接口

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

PO系列之 使用证书调用https地址_第12张图片

图一

PO系列之 使用证书调用https地址_第13张图片

图二

PO系列之 使用证书调用https地址_第14张图片

图三

注意事项

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

01

通道配置

通道的 client certificate authentication 复选框 use client certificates 会误导配置人员,该复选框的勾选后, 必须选择一个private key 证书. 而之前导入的证书是CERTIFICATE. 无法选择使用. 无需勾选该标记

02

证书导入节点

证书必须导入到TrustedCAs中

PO系列之 使用证书调用https地址_第15张图片

03

重启通道

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

PO系列之 使用证书调用https地址_第16张图片

04

证书有效期

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

PO系列之 使用证书调用https地址_第17张图片

05

端口443

注意默认端口443的使用,浏览器中不显示默认的端口,在实际配置url中需要添加这些默认端口. 但是有些系统发布的地址就是无需使用443端口,这个就需要和对方确认了. 

总结

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

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

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

THE

END

约定

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

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

PO系列之 使用证书调用https地址_第18张图片

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 申请进入公众号讨论群

你可能感兴趣的:(中间件,java,区块链,zookeeper,css)