---
article_id: KB0394858
article_type: Support Note
component_ids:
  - BNS-ARI-PUR
  - BNS-ARI-SC
  - BNS-ARI-SIPM
  - BNS-ARI-SS
component_descriptions:
  - Supplier Information & Performance Management
  - 战略合同
  - 战略寻源
  - 采购
products:
  - SAP Ariba Procurement, cloud edition
  - SAP Ariba Sourcing, cloud edition
language: zh-cn
created: 2015-05-21
updated: 2022-04-02
source: Knowledge Base
url: https://support.ariba.com/item/view/KB0394858_zh-cn
connect_url: https://support.ariba.com/item/view/KB0394858_zh-cn?min=1
sap_for_me_url: https://me.sap.com/notes/KB0394858/zh
---

# 使用集成工具箱 (ITK) 排除证书验证失败的提示

## 解决方法

**问题**

有时，当使用基于证书的验证并围绕 SSL 出现错误或握手失败时，集成工具箱 (ITK) 数据传输工具 (DTT) 可能会失败。此解决方案适用于安装在服务器上且未安装在 SAP NetWeaver PI 上的独立 ITK 实例。

**原因**

问题通常是因为证书链不完整，或客户的密钥库上使用的证书不正确。

故障排除时，请检查以下内容：

- 确保客户使用由 Ariba 信任的证书颁发机构颁发的公钥/中间/根证书。自签名证书不能与 ITK 和基于证书的验证一起使用。
- 确保客户已启用 Ariba 应用程序中的端点作为 证书 的验证方法**，**

  （上游）：**管理 > 管理 > 集成管理器 > 集成工具箱安全性**  
  （下游）：**管理 > 核心管理 > 集成管理器 > 集成工具箱安全性**
- 在选项文件 (.bat/.sh) 中，确保参数 urlPrefix 正确设置为 [https://xxxxx/sourcing/fileddownload](https://xxxxx/Sourcing/filedownload) 或 [https://xxxxx/Buyer/fileupload](https://xxxxx/Buyer/fileupload)，其中 xxxxx 将是附加信息部分中列出的站点之一，并且必须根据需要使用。例如：set urlPrefix=[https://s1-integration.ariba.com/Sourcing/filedownload](https://s1-integration.ariba.com/Sourcing/filedownload) orr set urlPrefix=[https://s1-integration.ariba.com/Buyer/fileupload](https://s1-integration.ariba.com/Sourcing/filedownload)
- 在选项文件 (.bat/.sh) 中，确保已设置以下参数并对其进行取消注释：  
  clientKeystore  
  clientKeystorePassword  
  clientKeyPassword
- 确保 clientKeystore 参数中指定的密钥库包含用于与 Ariba 的 SSL 通信的客户私钥和公共证书（公钥、中间、根证书）。
- 如果 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:verbose -Dhttps.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols="TLSv1.1,TLSv1.2"** -jar "%CLASSESDIR%\\aribafiletransfer.jar" %args%

  **Linux/Unix**: \_command="$JAVA\_HOME/bin/java **-Djavax.net.debug=\\"ssl:handshake:verbose\\" -Dhttps.protocols=\\"TLSv1.1,TLSv1.2\\" -Djdk.tls.client.protocols=\\"TLSv1.1,TLSv1.2\\"** -jar \\"$CLASSESDIR/aribafiletransfer.jar\\" $\_args" $\_args"
- 下次运行 ITK 并尝试发布到 Ariba 时，日志将显示 SSL 握手/证书信息。

  检查为客户密钥库找到的证书的主题、颁发者、有效日期。此信息应在 ITK 日志中发布到 Ariba URL 的 HTTPS 中的条目之后打印。检查找到的证书是否与预期在密钥库中的客户端证书信息匹配。

  a) 有效证书应从客户端的密钥库中找到。  
  示例：  
  \*\*\*\*在 11 月 11 日星期三 13:22:54 PDT 2020\*\*\*\* 运行文件传输工具  
  过账到 https://certs1.ariba.com/Buyer/filedownload?realm=abcCompany  
  \*\*\*  
  已找到 的密钥：\<clients\_keystore>

  b) 将启动 \*\*\* ClientHello, TLSv1  
  c) 将启动 \*\*\* ServerHello, TLSv1 并将 Ariba 公钥（证书链）发送到客户端  
  d) 应找到受信任的证书  
  e) 将启动 \*\*\* ClientKeyExchange、RSA PreMasterSecret、TLSv1，其中客户端发送使用 Ariba 公钥签名的密钥交换  
  f) Ariba 解密 PreMasterSecret。这是发生故障时，用户可能会看到如下错误。如果是，问题可能在于密钥库中的证书：javax.net.ssl.SSLHandshakeException：收到致命警报：handshake\_failure

**附加信息**

有效领域如下所示，

- service-2-eu.ariba.com
- service-2-ru.ariba.com
- s1-integration.ariba.com
- certs1-integration.ariba.com
- s3-integration.ariba.com
- certs3-integration.ariba.com
- s1-integration-eu.ariba.com
- certs1-integration-eu.ariba.com
- s1-integration-ru.ariba.com
- certs1-integration-ru.ariba.com
- service-2.ariba.com
- certservice-2.ariba.com
