ABAP RSA方式调用银行API

Posted 斌将军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ABAP RSA方式调用银行API相关的知识,希望对你有一定的参考价值。

一、RSA简介

RSA是非对称加密的一种。

对称加密算法在加密和解密时使用的是同一个秘钥;

非对称加密算法需要一对密钥来加密解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。一个加密,一个解密,由双方各保留一个进行操作。这样,在不传输秘钥的情况下,双方可以针对信息进行加解密,避免了直接传输秘钥可能导致的安全问题。

二、RSA加解密与签名验签

一般来说,有两种场景:加密解密和签名验签

加密解密:使用公钥加密,私钥解密

签名验签:使用私钥加密(签名),公钥解密(验签)

例如:B生成一对密钥,向A提供公钥,B保留私钥

加密:防止信息泄露

当A系统传输数据给B系统,担心报文明文传输会导致信息泄露,则可使用公钥对报文进行加密,以防传输过程中信息泄露。B接收加密报文,通过私钥进行解密

签名:防止信息篡改

当B接收后返回消息给A,担心返回消息被修改,A接收到错误消息,则可使用秘钥进行签名,并将签名和返回报文一起发送给A。A通过公钥进行验签,发现签名解析后和返回报文数据一致,证明报文没有被中间拦截篡改

三、代码实现

本例介绍使用秘钥生成PSE证书方式进行加密解密与签名验签的过程

生成一对密钥后,将私钥文件RSA.key上传到SAP服务器,前后需要加标注,否则不能正常使用ABAP通过命令生成PSE文件,此操作需要BASIS协助

/tmp/rsa > openssl req -x509 -sha256 -key rsa.key -out user1.cer -days 3650 -subj /CN=user1
/tmp/rsa > openssl pkcs12 -export -inkey rsa.key -in user1.cer -out user1.pfx -nodes
Enter Export Password:
Verifying - Enter Export Password:
/tmp/rsa > setenv SECUDIR $PWD
/tmp/rsa > sapgenpse import_p12 -x "" -p user1.pse user1.pfx
Found key INDEX=0,SIG=YES,ENC=YES,MD5-FINGER以上是关于ABAP RSA方式调用银行API的主要内容,如果未能解决你的问题,请参考以下文章

ABAP SM30视图 自定义搜索帮助

ABAP SM30视图 自定义搜索帮助

如何使用pkcs11接口读取证书的密钥进行RSA

#私藏项目实操分享# ABAP 调用第三方 API,遇到乱码该怎么办?

请教ABAP调用FTP函数的问题

银行卡信息验证API接口调用接入流程