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

平臺證書

更新時間:2023.09.18

微信支付平臺證書是由 證書頒發(fā)機構 (opens new window) 頒發(fā),由微信支付 申請和管理的數(shù)字證書,它包含了微信支付平臺的身份標識和公鑰信息。

# 為什么要使用平臺證書

金融類互聯(lián)網(wǎng)應用的消息真實性和完整性至關重要。商戶系統(tǒng)在收到微信支付的應答或回調通知時,需要驗證消息的真實性(確保來自微信支付)和完整性(未被第三方篡改)。

微信支付對 HTTP 關鍵信息提供數(shù)字簽名。商戶通過使用微信支付平臺證書的公鑰驗證簽名,可以確認收到的消息確實來自微信支付,而非其他惡意方偽造。這樣,商戶可以安心處理交易請求,避免因信任錯誤來源而導致的潛在風險。

# 平臺證書的有效期

微信支付平臺證書的有效期為5年。證書過期后,許多編程語言的密碼庫將不再視其為有效,導致商戶可能無法使用過期證書驗證微信支付簽名。為確保順利過渡,微信支付會在當前證書過期前,為商戶分配新的微信支付平臺證書,并逐步采用新證書生成簽名。

已獲取平臺證書的商戶開發(fā)者可以使用 openssl 命令行工具查看證書有效期。以下示例中的證書有效期至2024年8月17日。

1? openssl x509 -in your_wechatpay_cert.pem -noout -enddate
2notAfter=Aug 17 06:52:04 2024 GMT

商戶應重視微信支付平臺證書的5年有效期,在平臺證書過期前及時獲取并部署新證書。只有正確處理微信支付平臺證書,商戶才能實現(xiàn)支付功能的連續(xù)和穩(wěn)定,為用戶提供優(yōu)質支付體驗。

警告

若商戶未能及時更新證書,可能導致驗簽失敗,進而影響正常交易處理。這將導致商戶運營中斷,影響收入和客戶滿意度。

# 獲取平臺證書

調用 下載平臺證書 接口,商戶系統(tǒng)可以獲取商戶當前可用的微信支付平臺證書。

1{
2 "data": [
3 {
4 "serial_no": "5157F09EFDC096DE15EBE81A47057A7232F1B8E1",
5 "effective_time ": "2018-06-08T10:34:56+08:00",
6 "expire_time ": "2018-12-08T10:34:56+08:00",
7 "encrypt_certificate": {
8 "algorithm": "AEAD_AES_256_GCM",
9 "nonce": "61f9c719728a",
10 "associated_data": "certificate",
11 "ciphertext": "sRvt… "
12 }
13 },
14 {
15 // 商戶有多張證書,以下省略
16 }
17 ]
18}

為確保證書傳輸?shù)耐暾院驼鎸嵭裕⑿胖Ц恫捎昧?AEAD (opens new window)(Authenticated Encryption with Associated Data)的加密,保護商戶獲取的平臺證書免受“中間人”篡改。請查看 如何解密證書,從每個證書對象的 encrypt_certificate 中驗證并解密出所有的微信支付平臺證書。

商戶開發(fā)者也可以使用微信支付提供的 平臺證書下載工具 獲取平臺證書。

警告

每個商戶的平臺證書不止一個。在更換平臺證書期間,商戶獲取的平臺證書列表中一定會包含多個平臺證書。每個證書都可能被使用。因此,商戶應把下載得到的所有證書保存并部署至商戶系統(tǒng)中。

# 使用平臺證書

微信支付平臺證書主要用于兩種場景:

  1. 商戶驗證 API 應答和回調通知簽名
  2. 商戶加密 API 請求中的敏感信息
intro-1-application-scenario

# 驗證簽名

驗證簽名對保證消息安全至關重要。若商戶未能正確驗證微信支付消息簽名,可能會接收并處理惡意方偽造的消息,導致資金損失或客戶投訴。

請查看我們的指引,了解如何使用微信支付平臺證書 驗證簽名

# 敏感信息加密

為保證通信過程中敏感信息字段(如用戶住址、銀行卡號、手機號碼等)的機密性,微信支付要求商戶加密傳輸 API 請求中的敏感信息字段。這樣,只有持有私鑰的微信支付才能解密商戶的敏感信息,避免中間人獲取敏感信息。

商戶開發(fā)者應使用微信支付平臺證書中的公鑰對請求中的敏感信息進行加密。這樣,只有擁有私鑰的微信支付方可對密文解密,確保敏感信息的機密性。

請查看我們的指引,了解 如何加解密敏感信息

提示

若有多個證書,建議使用最新(過期時間最晚)證書公鑰,避免過期后未能及時更換,導致微信支付解密失敗。

# 新舊平臺證書更換機制

微信支付會在當前證書過期前,為商戶分配新的微信支付平臺證書。為了幫助商戶平穩(wěn)、高效地更換新舊平臺證書,微信支付為商戶提供了微信支付 平臺證書更換工具

timeline

證書更換過程將包括以下幾個步驟:

  1. 舊證書過期前210天,微信支付會為商戶生成新證書。此時,下載平臺證書 接口仍然只返回舊證書。若商戶系統(tǒng)已支持獲取多證書,可登錄微信支付商戶平臺【賬戶中心—API安全—平臺證書-下載證書接口管理】主動開啟返回新證書。
  2. 舊證書過期前180天,下載平臺證書接口開始同時返回新證書和舊證書。若商戶系統(tǒng)尚未支持獲取多證書,可登錄微信支付商戶平臺【賬戶中心—API安全—平臺證書-下載證書接口管理】推遲新證書返回的日期。
  3. 下載平臺證書接口返回新證書后,商戶應確認新老證書都已部署至生產(chǎn)環(huán)境。若已部署完畢,商戶可登錄微信支付商戶平臺【賬戶中心—API安全—平臺證書】,開啟新舊證書灰度更換。開啟灰度更換后,微信支付將按照灰度比例,使用新證書對應答和回調消息簽名。商戶系統(tǒng)需要根據(jù)證書序列號,使用對應的證書驗證微信支付的消息簽名。
  4. 若舊證書過期前90天,商戶仍未主動開啟灰度更換,微信支付將自動開啟灰度更換,以避免證書直接過期對商戶造成更大影響。

注意

請確保你的系統(tǒng)支持平臺證書下載接口同時返回新證書、舊證書,否則可能系統(tǒng)異常

請確保在舊證書過期前90天,你已經(jīng)將新、舊證書都部署至生產(chǎn)環(huán)境,并支持多證書驗簽,否則可能系統(tǒng)異常

整個過程,商戶的超級管理員和安全聯(lián)系人都會收到微信支付商戶平臺站內信、商家助手公眾號、服務商助手公眾號和短信的通知,以便商戶了解更換的進度。

若以上任意時刻,商戶系統(tǒng)出現(xiàn)異常,商戶可在微信支付商戶平臺【賬戶中心—API安全—平臺證書】終止更換。商戶應修復異常,并在確認部署證書正確后,再次啟動灰度更換。

詳細的操作指引請查看 平臺證書更換操作指引

# 最佳實踐

如果你使用 Java 或 Go 語言,推薦使用微信支付的服務端 SDK。使用 SDK,無需自行獲取微信支付平臺證書。SDK 提供了對應的配置類,可自動獲取和更新平臺證書,并自動驗證簽名。

如果你自行實現(xiàn)平臺證書的獲取、使用、部署和更新,請遵循以下最佳實踐,確保正確使用,提高驗證簽名的可用性和安全性。

# 部署平臺證書

在證書更新階段,微信支付會同時使用新舊證書。你應將它們一同部署到生產(chǎn)環(huán)境中。商戶應根據(jù)證書序列號選擇對應證書,以順利驗證簽名。在部署證書時,推薦將證書的元數(shù)據(jù)一并存儲,以便于快速定位查找證書和定位問題。例如,將證書的文件名命名為 {商戶號}_{過期時間}_{證書序列號}.pem

建議不要將平臺證書打包到二進制文件中,而是將其作為系統(tǒng)運行時所需數(shù)據(jù)存儲在數(shù)據(jù)庫中。由于證書不可變,可在商戶應用程序中緩存證書對象,提高性能和可用性。

當微信支付平臺證書過期或不再出現(xiàn)在平臺證書列表中時,商戶系統(tǒng)應及時移除過期證書或將其標記為不可用,避免安全隱患。

# 及時更新平臺證書

商戶系統(tǒng)應及時更新微信支付平臺證書。推薦以下兩種更新方式:

  1. 定時更新:定時獲取微信支付平臺證書。更新后,自動將證書部署到生產(chǎn)環(huán)境中。
  2. 惰性加載:當商戶應用程序中無證書序列號對應證書時,調用API獲取對應平臺證書,并緩存以供驗簽使用。惰性加載實現(xiàn)簡單,但會增加處理耗時和重復下載,僅建議請求量較少、對用戶訪問延時要求不高的商戶選用。

對于大多數(shù)商戶,建議采用定時更新機制,因為它可以確保商戶系統(tǒng)始終使用最新的證書進行驗證簽名,同時避免在驗簽過程中產(chǎn)生額外延時。定時更新機制適用于大多數(shù)場景,可以提高用戶體驗。

無論采用何種方法,商戶系統(tǒng)應自動化獲取、更新并部署平臺證書,如設置定時(每日)任務。這可降低證書更新時人為因素給商戶系統(tǒng)帶來的風險。

若系統(tǒng)未自動定時更新微信支付平臺證書,則需暫停服務以手動更新。可使用微信支付提供的平臺證書更換工具 (opens new window)協(xié)助完成。

# 中心式的證書服務

對于擁有多個應用服務的商戶,每個應用服務需使用微信支付平臺證書以驗證簽名或加密。我們建議采用中心式證書服務提供簽名驗證,實現(xiàn)證書的集中管理和一致性。中心式證書服務具有以下優(yōu)點:

  1. 便于維護和監(jiān)控:證書的獲取、更新和部署集中在一個服務中,便于維護和監(jiān)控。
  2. 邏輯一致:所有應用服務都使用相同的驗證邏輯,降低出錯概率。
  3. 易于擴展:當需要添加新的應用服務時,無需單獨部署證書,直接使用中心式證書服務即可。

盡管采用中心式證書服務可以簡化證書管理和部署,但如果該服務出現(xiàn)故障,可能導致所有應用服務無法驗證簽名。因此,在實施此方式時,請確保中心式證書服務具備高可用性和足夠的系統(tǒng)容量。

# 總結

  1. 驗證簽名:務必驗證微信支付的應答和通知回調的消息簽名。
  2. 自動化更新證書:定期(如每日)自動獲取、更新并部署微信支付平臺證書,以確保商戶系統(tǒng)始終使用最新的證書進行驗證簽名。更新證書的頻率不需過于頻繁,建議以24小時為宜。
  3. 多證書支持:在微信支付更換平臺證書期間,商戶系統(tǒng)應同時支持新舊證書,并根據(jù)證書序列號選擇相應證書進行驗證簽名。
  4. 合理存儲證書:建議不要將平臺證書打包到二進制文件中,而是將其作為系統(tǒng)運行時所需數(shù)據(jù)存儲在數(shù)據(jù)庫中。同時,確保證書存儲位置的安全性,防止未經(jīng)授權的訪問。
  5. 證書緩存:由于證書不可變,可在商戶應用程序中緩存證書對象,提高性能和可用性。
  6. 及時移除過期證書:當微信支付平臺證書過期或不再出現(xiàn)在平臺證書列表中時,商戶系統(tǒng)應及時移除過期證書或將其標記為不可用,避免安全隱患。
  7. 監(jiān)控告警:建立證書更新、驗證簽名和敏感信息加密等關鍵流程的監(jiān)控告警機制,以便在出現(xiàn)異常時及時發(fā)現(xiàn)并解決問題。
  8. 日志審計:記錄平臺證書相關操作和事件的日志,以便在出現(xiàn)問題時進行調查和排查。
  9. 安全培訓與意識:培訓開發(fā)人員和運維人員,提高他們使用微信支付平臺證書的安全意識,確保他們能夠遵循最佳實踐和安全策略。
  10. 業(yè)務連續(xù)性計劃:制定平臺證書相關的業(yè)務連續(xù)性計劃,以應對證書過期后的意外和災難情況,定期識別并修復潛在的技術債務和風險,確保商戶系統(tǒng)的穩(wěn)定運行。

# 接下來閱讀