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

如何解密證書和回調(diào)報(bào)文

更新時(shí)間:2023.04.28

為了保證安全性,微信支付在回調(diào)通知和平臺(tái)證書下載接口中,對(duì)關(guān)鍵信息進(jìn)行了AES-256-GCM加密,商戶收到報(bào)文后,要解密出明文,APIv3密鑰是解密時(shí)使用的對(duì)稱密鑰。本章節(jié)詳細(xì)介紹了加密報(bào)文的格式,以及如何進(jìn)行解密。

我們提供了微信支付API v3官方SDK(目前包含Java (opens new window)PHP (opens new window)Go (opens new window)三種語(yǔ)言版本),使用官方 SDK 調(diào)用微信支付接口,無(wú)需關(guān)心簽名生成和驗(yàn)證,接入更方便。

# 1. 加密報(bào)文格式

AES-GCM是一種NIST標(biāo)準(zhǔn)的認(rèn)證加密 (opens new window)算法, 是一種能夠同時(shí)保證數(shù)據(jù)的保密性、 完整性和真實(shí)性的一種加密模式。它最廣泛的應(yīng)用是在TLS中。

證書和回調(diào)報(bào)文使用的加密密鑰為APIv3密鑰

對(duì)于加密的數(shù)據(jù),我們使用了一個(gè)獨(dú)立的JSON對(duì)象來(lái)表示。為了方便閱讀,示例做了Pretty格式化,并加入了注釋。

1{
2 "original_type": "transaction", // 加密前的對(duì)象類型
3 "algorithm": "AEAD_AES_256_GCM", // 加密算法
4
5 // Base64編碼后的密文
6 "ciphertext": "...",
7 // 加密使用的隨機(jī)串初始化向量)
8 "nonce": "...",
9 // 附加數(shù)據(jù)包(可能為空)
10 "associated_data": ""
11}

注意:加密的隨機(jī)串,跟簽名時(shí)使用的隨機(jī)串沒(méi)有任何關(guān)系,是不一樣的。

# 2. 解密

算法接口的細(xì)節(jié),可以參考rfc5116 (opens new window)

大部分編程語(yǔ)言(較新版本)都支持了AEAD_AES_256_GCM。開發(fā)者可以參考下列的示例,了解如何使用您的編程語(yǔ)言實(shí)現(xiàn)解密。

示例代碼
更多技術(shù)問(wèn)題
技術(shù)咨詢
反饋
咨詢
目錄