ABAP 通过 https 消费外部 API 遇到错误消息 SSSLERR_SSL_CONNECT
错误消息:
500 Native SSL error :
SSL handshake with api.uat 443 failed: SSSLERR_SSL_CONNECT -57
CRYPTO:SSL_connect failed
received a fatal TLS1.0 internal_error alert from the peer
这个错误是关于 ABAP 作为客户端,无法通过 https 向提供 API 的外部服务器建立安全链接。
已经按照网上的方式使用事务码 strust
导入了 ssl
证书。
社区有人遇到类似的[问题](https://answers. .com/questions/12559357/error-ssslerrsslconnect-when-trying-to-access-aws-.html),没有得到解答。
在这个 github issue 里有解答。
有网友已经成功在 7.5 SP02
和 7.4 SP05
两个不同的版本上解决了这个错误。
这是纯粹 basis 的技术领域。
7.5 SP02
按照 [ note 510007](https://launchpad.support. .com/#/notes/510007)介绍的配置来进行 ABAP SSL 服务器端配置。
7.4 SP05
执行 note 510007 的 Step 7.
Download Cryptographic Library, 链接[在此](https://launchpad.support. .com/#/softwarecenter/search/ CRYPTOLIB)。
解压之后,将文件拷贝到这个路径下:
\usr\ <SID>\SYS\exe\run
重启服务器
注:在 内部有专门的团队来处理此类服务器配置问题。我对此类配置问题知之甚少,以上来自 Google 搜索,我没有真正动手尝试过(在我们工作的 系统上,我没有足够的权限)。
补充 - 什么是 SSL handshake?
SSL handshake是一种SSL/TLS协议中的握手协议,用于在客户端和服务器之间建立安全通信连接。它是在SSL/TLS握手协议的开始阶段完成的,通过几个步骤来协商密钥、验证对方身份、建立安全通道等。
SSL handshake的过程大致如下:
- 客户端向服务器发起SSL连接请求。
- 服务器回应客户端,发送其数字证书,证书包含服务器的公钥和服务器信息。
- 客户端验证服务器的数字证书是否有效和合法,如果合法,则生成一个随机数作为加密密钥。
- 客户端使用服务器的公钥加密生成的随机数,并发送给服务器。
- 服务器使用自己的私钥解密客户端发送过来的随机数,然后使用该随机数生成加密密钥。
- 服务器将使用该加密密钥来加密数据,并将其发送给客户端。
- 客户端也使用该加密密钥来加密数据,并将其发送给服务器。
- SSL handshake结束,客户端和服务器之间建立了安全通信连接。
SSL handshake的目的是建立客户端和服务器之间的安全通信连接,确保通信的机密性、完整性和可信度。它是SSL/TLS协议中非常重要的一个环节,也是保证通信安全的关键所在。
- 点赞
- 收藏
- 关注作者
评论(0)