SAP PI 配置SSL链接接口报错问题处理Peer certificate rejected by ChainVerifier

出现这种情况一般无非是没有正确导入证书或者证书过期的情况

第一种,如果没有导入证书的话,需要在NWA中的证书与验证-》CAs中导入管理员提供的证书,这里需要注意的是,需要导入完整的证书链。

第二种如果是证书过期的,可以直接导入新的证书,如果出现冲突的情况需要把对应的证书删除,然后再导入新的证书,以下是SAP提供的原因解释3076281:

  1. Make sure that backend server's certificate chain has correct hostname and does not include unsupported characters. Also make sure there is no other certificate with the same value of Subject existing in TrustedCAs. Two certificates with the same Subject value can't co-exist in one keystore view. If it exists, then at runtime, during SSL handshake, a lookup is done only once based on Subject value thus can results in titled error, finally cause SSL failure.
    For example:
    AS Java AAA is SSL client. AS ABAP BBB is SSL server and AS ABAP CCC is another SSL server. Both BBB and CCC has SSL certificate with same Subject value but the serial number is different. Such as:

    BBB:
    Subject: CN=*.test.sap.com OU=DE
    Serial Number: 00:01:02:03:04

    CCC:
    Subject: CN=*.test.sap.com OU=DE
    Serial Number:00:05:06:07:08

    Even though both BBB and CCC SSL certificates get imported into TrustedCAs, however at runtime when AAA try to communicate with BBB and CCC. Only one of them work, while the other one will always end with titled error.

  2. If server contains wildcard value "*", check hints from the resolution part of the KBA apart from the fact that it is PI system or not: 2222086 - Peer certificate rejected by ChainVerifier in PI File Adapter.

  3. Make sure that backend server's certificate chain's order is correct .
    For example:
    SSL server has certificate chain like following:
    [Cert 0] Subject: CN=*.test.sap.com; Issuer: CN=aaa
    [Cert 1] Subject: CN=aaa; Issuer: CN=bbb
    [Cert 2] Subject: CN=bbb; Issuer: CN=ccc
    [Cert 3] Subject: CN=ccc; Issuer: CN=ccc
    In this case, [Cert 1] [Cert 2] are intermediate certificates and [Cert 3] is root certificate. Thus need to import [Cert 1] [Cert 2] and [Cert 3] to make Certification Revocation Check get passed correctly.

  4. Make sure that backend server's certificate chain is complete and has root CA. Each CRL is digitally signed by its CA. Therefore, to verify the digital signature provided with the CRL, the corresponding CA root certificate needs to be imported into a keystore view on the AS Java. There should be at least a ServerCertChain[1] part that would include the root certificate as a subject.

  5. In AS JAVA, go toNetweaver Administrator -> Configuration tab -> Security -> Certificates and Keys -> Key Storage tab -> TrustedCAs.

  6. Select theTrustedCAs view and click Import Entry button.

  7. Import the certificate chain provided by the SSL server.

但需要注意的是,可能还会出现类似的报错情况,这个时候可以通过xpi_inspector工具对rest接口进行检测,查看具体的报错异常,如果还是由于证书不匹配的情况导致,可以在工具里面导出对应的证书2056672

相关推荐
我的青春不太冷1 小时前
深入探讨:服务器如何响应前端请求及后端如何查看前端提交的数据(基础语法版)
服务器·前端·状态模式
指尖动听知识库1 小时前
嵌入式经典面试题之操作系统(一)
java·linux·服务器
Zfox_2 小时前
HTTPS 协议原理
linux·网络·网络协议·tcp/ip·http·https
自信不孤单2 小时前
网络编程套接字(上)
服务器·网络·udp·socket·ip地址·端口号
初级代码游戏2 小时前
openssl 生成证书 windows导入证书
网络·网络协议·ssl·openssl
阿猿收手吧!4 小时前
【Docker】Docker入门了解
linux·运维·服务器·docker·云原生·容器·eureka
wy_hhxx6 小时前
RHEL封闭环境部署zabbix
运维·服务器·zabbix
MinggeQingchun10 小时前
Java - WebSocket
网络·websocket·网络协议
Mr_Xuhhh12 小时前
进程间通信
android·java·服务器·开发语言·数据库
忆源12 小时前
SOME/IP--协议英文原文讲解3
网络·网络协议·tcp/ip