|
有时,使用基于证书的验证时,集成工具箱 (ITK) 数据传输工具 (DTT) 可能会失败,并且存在有关 SSL 或握手失败的错误。此解决方案适用于安装在服务器上且未安装在 SAP NetWeaver PI 上的独立 ITK 实例。
该问题通常是由证书链不完整或在客户密钥库上使用的证书不正确所致。
故障排除时,请检查以下内容:
确保客户已在 Ariba 应用程序中启用端点作为 证书 的验证方法。
(上游): 管理 > 管理 > 集成管理器 > 集成工具箱安全性
(下游): 管理 > 核心管理 > 集成管理器 > 集成工具箱安全性
如果 HTTPS 发布失败,客户可以在 ITK bin 目录中的 toolslib.bat/.sh 文件中启用以下参数,以打印有关客户端/服务器 hello 和握手信息的调试信息:
a) 转到 <ITK_install_root>/bin
b) 编辑 toolslib.bat/.sh 文件
c) 设置以下参数并保存:
Windows: set _command="%JAVA_HOME%\bin\java" -Djavax.net.debug=ssl:handshake:verbose -Dhttps.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols="TL1.1,TLSv1.2" -jar "%CLASSESDIR%\aribafiletransfer.jar" %s%
Linux/Unix: _command="$JAVA_HOME/bin/java -Djavax.net.debug=\"ssl:handshar:verbose\" -Dhttps.protocols=\"TLSv1.1,TLSv1.2\" -Djdk.tls.client.protocols=\"TLSv1.1,TLSv1.1.2" -jar \"$CLASSESSDIR/aribafiletransfer.jar\"
当 ITK 下次运行并尝试向 Ariba 发布时,日志将显示 SSL 握手/证书信息。
检查为客户密钥库找到的证书的主题、颁发者、有效日期。此信息应在 ITK 日志中的条目后打印到 HTTPS,并发布到 Ariba URL。检查找到的证书是否与预期在密钥库中的客户端证书信息匹配。
a) 应从客户端的密钥库中找到有效证书。
示例:
****在 11 月 11 日星期三运行文件传输工具 13:22:54 PDT 2020****
发布到 https://certs1.ariba.com/Buyer/filedownload?realm=abcCompany
***
已找到 的密钥:<clients_keystore>
b) 将启动 *** 客户端 您好,TLSv1
c) *** ServerHello, TLSv1 将启动,Ariba 公钥(证书链)将发送到客户端
d) 应找到受信任的证书
e) 将在客户发送使用 Ariba 公钥签名的密钥交换时启动 *** ClientKeyExchange、RSA PreMasterSecret、TLSv1
f) Ariba 解密 PreMasterSecret。 此时,如果发生故障,用户可能会看到如下错误。如果是,问题可能位于密钥库中的证书:javax.net.ssl.SSLHandshakeException:已收到致命警报:handshake_failure
下面列出了有效的领域,
SAP Ariba Buying and Invoicing
SAP Ariba Buying
SAP Ariba Contracts
SAP Ariba SIPM
SAP Ariba Sourcing