SAP ABAP 通过 https 消费外部 API 遇到错误消息 SSSLERR_SSL_CONNECT

错误消息:

500 Native SSL error :

SSL handshake with api.uat 443 failed: SSSLERR_SSL_CONNECT -57

SAPCRYPTO:SSL_connect failed

received a fatal TLS1.0 internal_error alert from the peer

这个错误是关于 ABAP 作为客户端,无法通过 https 向提供 API 的外部服务器建立安全链接。

已经按照网上的方式使用事务码 strust 导入了 ssl 证书。

SAP 社区有人遇到类似的问题,没有得到解答。

在这个 github issue 里有解答。

有网友已经成功在 7.5 SP027.4 SP05 两个不同的版本上解决了这个错误。

这是纯粹 SAP basis 的技术领域。

7.5 SP02

按照 SAP note 510007介绍的配置来进行 SAP ABAP SSL 服务器端配置。

7.4 SP05

  • 执行 SAP note 510007 的 Step 7.

  • Download SAP Cryptographic Library, 链接在此

  • 解压之后,将文件拷贝到这个路径下:
    \usr\sap<SID>\SYS\exe\run

  • 重启服务器

注:在 SAP 内部有专门的团队来处理此类服务器配置问题。我对此类配置问题知之甚少,以上来自 Google 搜索,我没有真正动手尝试过(在我们工作的 SAP 系统上,我没有足够的权限)。

补充 - 什么是 SSL handshake?

SSL handshake是一种SSL/TLS协议中的握手协议,用于在客户端和服务器之间建立安全通信连接。它是在SSL/TLS握手协议的开始阶段完成的,通过几个步骤来协商密钥、验证对方身份、建立安全通道等。

SSL handshake的过程大致如下:

  • 客户端向服务器发起SSL连接请求。
  • 服务器回应客户端,发送其数字证书,证书包含服务器的公钥和服务器信息。
  • 客户端验证服务器的数字证书是否有效和合法,如果合法,则生成一个随机数作为加密密钥。
  • 客户端使用服务器的公钥加密生成的随机数,并发送给服务器。
  • 服务器使用自己的私钥解密客户端发送过来的随机数,然后使用该随机数生成加密密钥。
  • 服务器将使用该加密密钥来加密数据,并将其发送给客户端。
  • 客户端也使用该加密密钥来加密数据,并将其发送给服务器。
  • SSL handshake结束,客户端和服务器之间建立了安全通信连接。

SSL handshake的目的是建立客户端和服务器之间的安全通信连接,确保通信的机密性、完整性和可信度。它是SSL/TLS协议中非常重要的一个环节,也是保证通信安全的关键所在。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/130131167