视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

獲取RSA加密公鑰API

RSA算法使用說明(非對稱加密算法,算法采用RSA/ECB/OAEPPadding模式)

1、 調(diào)用獲取RSA公鑰API獲取RSA公鑰,落地成本地文件,假設(shè)為public.pem
2、 確定public.pem文件的存放路徑,同時修改代碼中文件的輸入路徑,加載RSA公鑰
3、 用標(biāo)準(zhǔn)的RSA加密庫對敏感信息進(jìn)行加密,選擇RSA_PKCS1_OAEP_PADDING填充模式
      (eg:Java的填充方式要選 " RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING")
4、 得到進(jìn)行rsa加密并轉(zhuǎn)base64之后的密文
5、 將密文傳給微信側(cè)相應(yīng)字段,如付款接口(enc_bank_no/enc_true_name)

接口默認(rèn)輸出PKCS#1格式的公鑰,商戶需根據(jù)自己開發(fā)的語言選擇公鑰格式

RSA公鑰格式PKCS#1,PKCS#8互轉(zhuǎn)說明

  1. PKCS#1 轉(zhuǎn) PKCS#8:

openssl rsa -RSAPublicKey_in -in <filename> -pubout

  1. PKCS#8 轉(zhuǎn) PKCS#1:

openssl rsa -pubin -in <filename> -RSAPublicKey_out


  1. PKCS#1 格式密鑰:

-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEArT82k67xybiJS9AD8nNAeuDYdrtCRaxkS6cgs8L9h83eqlDTlrdw
zBVSv5V4imTq/URbXn4K0V/KJ1TwDrqOI8hamGB0fvU13WW1NcJuv41RnJVua0QA
lS3tS1JzOZpMS9BEGeFvyFF/epbi/m9+2kUWG94FccArNnBtBqqvFncXgQsm98JB
3a62NbS1ePP/hMI7Kkz+JNMyYsWkrOUFDCXAbSZkWBJekY4nGZtK1erqGRve8Jbx
TWirAm/s08rUrjOuZFA21/EI2nea3DidJMTVnXVPY2qcAjF+595shwUKyTjKB8v1
REPB3hPF1Z75O6LwuLfyPiCrCTmVoyfqjwIDAQAB
-----END RSA PUBLIC KEY-----


  1. PKCS#8 格式密鑰:

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArT82k67xybiJS9AD8nNA
euDYdrtCRaxkS6cgs8L9h83eqlDTlrdwzBVSv5V4imTq/URbXn4K0V/KJ1TwDrqO
I8hamGB0fvU13WW1NcJuv41RnJVua0QAlS3tS1JzOZpMS9BEGeFvyFF/epbi/m9+
lkUWG94FccArNnBtBqqvFncXgQsm98JB3a42NbS1ePP/hMI7Kkz+JNMyYsWkrOUF
DCXAbSZkWBJekY4nGZtK1erqGRve8JbxTWirAm/s08rUrjOuZFA21/EI2nea3Did
JMTVnXVPY2qcAjF+595shwUKyTjKB8v1REPB3hPF1Z75O6LwuLfyPiCrCTmVoyfq
jwIDAQAB
-----END PUBLIC KEY-----

接口說明

請求Url https://fraud.mch.weixin.qq.com/risk/getpublickey
是否需要證書 請求需要雙向證書。 詳見證書使用
請求方式 POST

請求參數(shù)

字段名 字段 必填 示例值 類型 說明
商戶號 mch_id 1900000109 string(32) 微信支付分配的商戶號
隨機(jī)字符串 nonce_str 5K8264ILTKCH16CQ2502SI8ZNMTM67Vs string(32) 隨機(jī)字符串,長度小于32位
簽名 sign C380BEC2BFD727A4B6845133519F3AD6 string(64) 通過簽名算法計算得出的簽名值,詳見簽名生成算法
簽名類型 sign_type MD5 string(64) 簽名類型,支持HMAC-SHA256和MD5。

數(shù)據(jù)示例:

<xml>
<mch_id>123456</mch_id>
<nonce_str>5087e0xessefellkg</nonce_str>
<sign>xxxxxx</sign>
<sign_type>MD5</sign_type>
</xml>

返回參數(shù)

字段名 變量名 必填 類型 說明
返回狀態(tài)碼 return_code String(16)

SUCCESS/FAIL

此字段是通信標(biāo)識,非交易標(biāo)識,交易是否成功需要查看result_code來判斷

返回信息 return_msg String(128)

返回信息,如非空,為錯誤原因

簽名失敗

參數(shù)格式校驗錯誤

以下字段在return_code為SUCCESS的時候有返回
業(yè)務(wù)結(jié)果 result_code String(16) SUCCESS/FAIL
錯誤代碼 err_code String(32) 錯誤碼信息
錯誤代碼描述 err_code_des String(128) 結(jié)果信息描述
以下字段在return_code 和result_code都為SUCCESS的時候有返回
商戶號 mch_id string(32) 商戶號
密鑰 pub_key String(2048) RSA 公鑰

成功示例:

<xml>
<return_code><![CDATA[SUCCESS]]></return_code>

<return_msg><![CDATA[OK]]></return_msg>
<result_code><![CDATA[SUCCESS]]></result_code>
<mch_id><![CDATA[123456]]></mch_id>
<pub_key><![CDATA[-----BEGIN RSA PUBLIC KEY-----
BASE64 ENCODED DATA
-----END RSA PUBLIC KEY-----
]]></pub_key>
</xml>

錯誤碼

錯誤代碼 描述 解決方案
SIGNERROR 簽名錯誤 簽名前沒有按照要求進(jìn)行排序。沒有使用商戶平臺設(shè)置的密鑰進(jìn)行簽名,參數(shù)有空格或者進(jìn)行了encode后進(jìn)行簽名
SYSTEMERROR 系統(tǒng)繁忙,請稍后重試 使用原請求參數(shù)重試