盛付通沙箱环境更换为生产环境(RSAWithMD5)解决方案
最近做项目接触到第三方支付(选择的是盛付通),项目最近上线,需要将原来使用的沙箱环境换成正式的生产环境,在更换的过程中遇到一些问题,现在写篇博客记录一下更换过程。
一、 首先需要把密钥替换
按盛付通给的文档提示操作,对于不同的开发平台,生成密钥的方式不同。Java平台可以使用pem或snk格式的密钥,PHP平台可以使用pem格式的密钥,.NET平台可以使用snk格式的密钥。无论使用哪种格式的私钥,上传到盛付通专业版的公钥都必须是snk格式的。
本篇博文介绍snk格式密钥的生成过程
- 生成密钥对key-pair 密钥文件
- 获取公钥文件
通过sn.exe工具生成snk格式密钥的方法为:
sn -k 1024 platform_keys.snk
platform_keys.snk中包括了一对私钥和公钥。1024是密钥的长度,默认即为1024。
导出公钥文件:
sn -p platform_keys.snk platform_public_key.snk
platform_public_key.snk即为公钥文件
3.获取密钥的Base64String
点击获取snTools,通过sn.exe生成密钥,再通过 EncryptTool 文件获取 snk文件的Base64String
4.在盛付通网站上设置密钥,将公钥的Base64String 上传到盛付通网站上。加密方式选择RSA加密
配置网站密钥的注意事项:公钥需要使用第三方支付平台提供的公钥,私钥需要使用自己的密钥。
公钥是用来验证签名消息,私钥是用来加签的。因此网站里配置的公钥需要是支付平台提供的公钥,同时需要将自己的公钥提供给支付平台
加密解密过程原理图:
二、 获取商户号
登录盛付通商家账户,在登录之后可在”账户管理”页面看到自己的商户号
三、 更换盛付通接口地址
盛付通沙箱环境与生产环境的接口以及页面地址是不同的,更换为生产环境需要把开发时沙箱环境的地址替换为生产环境地址。
参考地址: