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

API安全機(jī)制簡介

更新時(shí)間:2023.09.18

以下所述針對V3版本API

# 安全機(jī)制

微信支付使用商戶的消息簽名驗(yàn)證商戶的身份。如果一個(gè)請求不包含簽名或者簽名驗(yàn)證失敗,微信支付將返回身份驗(yàn)證錯(cuò)誤。它背后的技術(shù)是:數(shù)字簽名技術(shù)。

數(shù)字簽名(亦稱公鑰數(shù)字簽名)是一種獨(dú)特的數(shù)字串,只能由信息發(fā)送者生成,且無法被他人偽造。它有效地證明了發(fā)送者發(fā)送信息的真實(shí)性。數(shù)字簽名類似于紙上的普通物理簽名,但采用了公鑰加密技術(shù)來實(shí)現(xiàn),用于驗(yàn)證數(shù)字信息的真實(shí)性。數(shù)字簽名系統(tǒng)通常包含兩種互補(bǔ)操作:一種用于生成簽名,另一種用于驗(yàn)證簽名。

# 商戶請求微信支付

每個(gè)商戶都擁有自己的商戶API證書私鑰,在發(fā)送請求時(shí),商戶需要使用這個(gè)私鑰對消息進(jìn)行簽名。 當(dāng)微信支付側(cè)收到請求后,會(huì)使用對應(yīng)的商戶API證書公鑰對簽名進(jìn)行驗(yàn)證(即驗(yàn)簽)。只有當(dāng)驗(yàn)簽成功后,微信支付才會(huì)確認(rèn)消息發(fā)送者的身份是真實(shí)的。

如果有敏感字段需要上送,則用微信支付的平臺(tái)證書公鑰對字段進(jìn)行加密。微信支付收到后,會(huì)使用平臺(tái)證書私鑰解密。

示意圖如下: 圖片

順序?yàn)椋?/p>

  1. 商戶構(gòu)造原始請求。
  2. 商戶使用平臺(tái)證書公鑰對請求中的敏感字段進(jìn)行加密,得到新的請求包體,注意是對敏感字段加密,而非整個(gè)原始請求,詳情見:敏感數(shù)據(jù)加密
  3. 商戶使用商戶API私鑰對請求包體計(jì)算簽名,詳情見:生成簽名
  4. 商戶將請求包體和簽名上送到微信支付。
  5. 微信支付使用商戶API證書公鑰對請求包體進(jìn)行驗(yàn)簽。
  6. 微信支付使用平臺(tái)私鑰對請求中的敏感字段進(jìn)行解密,得到原始請求,隨后開始處理業(yè)務(wù)。

# 微信支付應(yīng)答商戶

微信支付給商戶應(yīng)答時(shí),機(jī)制和商戶請求微信支付類似,只是簽名的私鑰換成了微信支付平臺(tái)私鑰,加密的公鑰換成了商戶API證書公鑰。

示意圖如下: 圖片

順序?yàn)椋?/p>

  1. 微信支付構(gòu)造原始應(yīng)答。
  2. 微信支付使用商戶API證書公鑰對應(yīng)答中的敏感字段進(jìn)行加密,得到新的應(yīng)答包體。
  3. 微信支付使用平臺(tái)私鑰對應(yīng)答包體計(jì)算簽名。
  4. 微信支付將應(yīng)答包體和簽名返回給商戶。

商戶收到應(yīng)答后,應(yīng)使用微信支付平臺(tái)證書公鑰進(jìn)行驗(yàn)簽,以校驗(yàn)應(yīng)答者的身份真實(shí)性。詳情見:驗(yàn)證簽名

如果應(yīng)答中包含敏感字段,應(yīng)使用商戶API證書私鑰進(jìn)行解密。詳情見:敏感數(shù)據(jù)加密

# 微信支付回調(diào)商戶

微信支付回調(diào)商戶時(shí),與前述略有不同,主要體現(xiàn)在加密和簽名的源串不同。

示意圖如下: 圖片

其順序?yàn)椋?/p>

  1. 微信支付構(gòu)造原始請求
  2. 微信支付使用APIv3密鑰對原始請求進(jìn)行加密,得到新的請求包體(注意:APIv3密鑰是一個(gè)對稱密鑰,由商戶在商戶平臺(tái)設(shè)置)
  3. 微信支付使用平臺(tái)證書私鑰對原始請求計(jì)算簽名
  4. 微信支付將請求包體和簽名上送到商戶
  5. 商戶使用APIv3密鑰對請求包體進(jìn)行解密,得到原始請求
  6. 商戶使用平臺(tái)證書公鑰對原始請求進(jìn)行驗(yàn)簽,驗(yàn)簽通過后開始處理業(yè)務(wù)

詳細(xì)的解密方法見:回調(diào)解密