出现这种情况一般无非是没有正确导入证书或者证书过期的情况
第一种,如果没有导入证书的话,需要在NWA中的证书与验证-》CAs中导入管理员提供的证书,这里需要注意的是,需要导入完整的证书链。
第二种如果是证书过期的,可以直接导入新的证书,如果出现冲突的情况需要把对应的证书删除,然后再导入新的证书,以下是SAP提供的原因解释3076281:
-
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:04CCC:
Subject: CN=*.test.sap.com OU=DE
Serial Number:00:05:06:07:08Even 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.
-
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.
-
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. -
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.
-
In AS JAVA, go toNetweaver Administrator -> Configuration tab -> Security -> Certificates and Keys -> Key Storage tab -> TrustedCAs.
-
Select theTrustedCAs view and click Import Entry button.
-
Import the certificate chain provided by the SSL server.
但需要注意的是,可能还会出现类似的报错情况,这个时候可以通过xpi_inspector工具对rest接口进行检测,查看具体的报错异常,如果还是由于证书不匹配的情况导致,可以在工具里面导出对应的证书2056672