电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶云星空 建行CCIP加解密指导文档(非国密版RSA加密).docx

金蝶云星空 建行CCIP加解密指导文档(非国密版RSA加密).docx_第1页
1/5
金蝶云星空 建行CCIP加解密指导文档(非国密版RSA加密).docx_第2页
2/5
金蝶云星空 建行CCIP加解密指导文档(非国密版RSA加密).docx_第3页
3/5
一、秘钥交互秘钥交互即银行方与客户方互相传输秘钥的过程,其中客户方需向银行提供一个RSA的公钥,用于对客户发送的数字签名进行验签。银行向客户方提供一个3DES对称秘钥,用于对报文做加解密。一个RSA公钥,用于对银行返回的数字签名进行验签。接下来便是RSA的密钥,这个秘钥你可以使用openssl生成,或者直接使用java代码生成,或者采用其他工具,RSA秘钥生成代码供参考:注意秘钥生成出来是byte数组,不要去做其他转换。上面已经提到秘钥交互过程中使用的加密方法是DES算法。至于DES,建行《CCB_CCIP_企业现金管理直连客户应用接口规范》文档中,要求使用约定的秘钥:电子银行合约编号(取后10位,不足10位的,前面补0)+交换当日日期(YYMMDD6位),不过要注意的是,并不是直接使用这个作为DES的秘钥,因为DES的秘钥是8位的byte数组。要用建行文档中提供了一个方法asc2bin方法,把这个16位长度的字符串转换成8位的byte数组,这8位的byte数组作为DES秘钥。那么接下来就是DES的加解密方法:而解密方法就把上面方法中的这个定义换掉就可以以上就是加密的过程,接下来讲一下返回格式,建行要求通过流的形式返回。不要忘记需要在加密后的公钥数组前加000000.getBytes(),这里可以采用建行文档中提到的System.arraycopy()把两个byte[]拼接起来再返回,或者写输出流的时候先写000000.getBytes()再写加密后的秘钥。然后,企业这边下载建行的秘钥。企业这边涉及下载建行两个秘钥包括:1、建行联机交易的报文加解密会用到3DES(DESede)秘钥;2、验签会用到MD5withRSA算法的RSA公钥。同样的调用建行提供的url:建行返回过来同样会想上面一样做加密,所以接收后也需要做解密。二、报文交互1、交易请求建行的请求报文交互涉及三个参数:1)渠道客户号,上文中已提到是电子银行合约编号。2)交易请求报文,原报文经过3DES解密并Base64编码后的字符串。3)数字签名,原报文经过MD5WithRsa算法签名并Base64编码后的字符串。此处使用的秘钥为企业自己生成RSA私钥。3DES加密参考:同样的解密方法就把上面方法中的这个定义换掉就可以签名算法:验签:2、交易响应这里返回的截取方法就按建行提供的System.arraycopy方法去截取就可以了,解密方法上面已经给过了,这里给一下验签的方法:

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶云星空 建行CCIP加解密指导文档(非国密版RSA加密).docx

管理软件+ 关注
实名认证
内容提供者

管理软件资料分享

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信