支付宝支付功能演示项目的搭建以及注意事项

支付宝:
1.需要生成公钥和私钥
Windows用户在cmd窗口中进行以下操作:
C:\Users\Hammer>cd C:\OpenSSL-Win32\bin  进入OpenSSL安装目录
C:\OpenSSL-Win32\bin>openssl.exe  进入OpenSSL程序
OpenSSL> genrsa -out rsa_private_key.pem 1024  生成私钥
OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt   -out private_key.pem Java开发者需要将私钥转换成PKCS8格式
OpenSSL> rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem  生成公钥
OpenSSL> exit ##  退出OpenSSL程序

2. 将rsa_public_key.pem中的key复制到阿里巴巴后台上传.成功后点击" 查看支付宝公钥 "查看支付宝公钥,并将其填入DEMO中的alipay_public_key属性中.
3.然后将演示
中的AlipayConfig类中的各个参数填入:
注意:将 private_key.pem 后中的除private key及分隔符部分以外的复制到程序中,不是所有的文本.
// 合作身份者ID,签约账号,以2088开头由16位纯数字组成的字符串,查看地址:https://b.alipay.com/order/pidAndKey.htm
public static String partner = "";

// 收款支付宝账号,以2088开头由16位纯数字组成的字符串,一般情况下收款账号就是签约账号
public static String seller_id = partner;

//商户的私钥,需要PKCS8格式,RSA公私钥生成:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.nBDxfy&treeId=58&articleId=103242&docType=1

public static String private_key = "";

// 支付宝的公钥,查看地址:https://b.alipay.com/order/pidAndKey.htm
public static String alipay_public_key  = "注意:这里的值是上传了本地RSA公钥后在页面中点开后查看到的由支付宝系统生成的字符串,不是本地的RSA公钥";

// 服务器异步通知页面路径  需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String notify_url = "http://localhost:8080/notify_url.jsp";

// 页面跳转同步通知页面路径 需http://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
public static String return_url = "http://localhost:8080/return_url.jsp";


过程中产生的错误:
在添加支付宝安全支付功能时候,遇到以下问题:
java.security.InvalidKeyException:IOException: algid parse error, not a sequence

出现这种错误

It means your key is not in PKCS#8 format. The easiest thing to do is to use the openssl pkcs8 -topk8 <...other options...> command to convert the key once. Alternatively you can use the PEMReader class of the Bouncycastle lightweight API.

原来是openssl生成密钥后,没有转换成PKCS8格式,而直接用密钥..所以会是这个错误;


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值