微信支付公私钥加解密流程

p3c

微信支付完整流程如下:

发送方: 私钥签名 公钥加密

接收方: 私钥解密 公钥验签

签名规则:私钥签名,公钥验签。

1 商户私钥签名,保证数据商户签名,微信公钥加密对原文和签名,得到纯密文,保证商户数据只能由微信私钥解密。

2 微信私钥解密,得到商户发送的原数据和签名,用商户公钥验签,保证是商户发送的数据。

3 微信私钥签名,保证返回值是微信的返回值,用商户公钥加密,保证微信返回值只能由商户私钥解密。

4 商户私钥解密,得到微信发送的返回值和签名,然后微信公钥验签,保证是微信返回的数据。

openssl生成证书命令

openssl x509 -outform der -in your-cert.pem -out your-cert.crt

openssl genrsa -out ca.key.pem 2048

openssl req -new -key ca.key.pem -out ca.csr

openssl x509 -req -days 1000 -signkey ca.key.pem -in ca.csr -out ca.cer

openssl genrsa -out ca.key.pem 2048

openssl req -new -key ca.key.pem -out ca.csr

openssl x509 -req -days 1000 -signkey ca.key.pem -in ca.csr -out ca.cer

openssl pkcs12 -export -cacerts -inkey ca.key.pem -in ca.cer ca.p12