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

相关推荐
学java的小菜鸟啊6 分钟前
第五章 网络编程 TCP/UDP/Socket
java·开发语言·网络·数据结构·网络协议·tcp/ip·udp
新手嵌入式学习34 分钟前
网络协议头分析
网络·网络协议
pyliumy1 小时前
rsync 全网备份
linux·运维·服务器
ggb19991 小时前
【python的坑】vpn下,python request报错 check_hostname requires server_hostname
linux·运维·服务器
运维Z叔2 小时前
云安全 | AWS S3存储桶安全设计缺陷分析
android·网络·网络协议·tcp/ip·安全·云计算·aws
多多*2 小时前
OJ在线评测系统 登录页面开发 前端后端联调实现全栈开发
linux·服务器·前端·ubuntu·docker·前端框架
卑微的码蚁2 小时前
服务器相关问题
运维·服务器
博洋科技2 小时前
网站建设的服务器该如何选择?
运维·服务器·网站建设·保定响应式网站建设·保定h5网站建设·保定网站建设
人类群星闪耀时2 小时前
服务器管理:从零开始的服务器安装与配置指南
运维·服务器
陈大爷(有低保)3 小时前
UDP Socket聊天室(Java)
java·网络协议·udp