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

Login expired. Please log in again.

Feedback

0/300

Feedback

Submitted successfully

ok

Feedback

Network exception, please try again later

ok

證書FAQ

調用“下載平臺證書接口”,返回:SIGN_ERROR, Authorization不合法

請根據(jù)以下幾點排查:
1、請檢查待簽名串的參數(shù)的格式是否和文檔中要求的嚴格一致。
2、請注意文檔中參數(shù)末尾的換行符要求,如body為空則需要使用兩個\n換行符。

為什么境外機構號重置證書后,舊的證書依然可以調用v2接口使用?

境外機構號重置證書后,舊的證書依然可以調用v2接口使用的原因:
1、存在平滑過渡期,并非立即失效。
2、自簽換CA有14天,CA換CA48小時。

支付API證書升級工具,在Mac下使用官方的生成工具,未在指定目錄找到證書文件是什么原因?

目前只有windows版本支持,建議在window7以上系統(tǒng)使用。

平臺證書獲取并解密后,進行敏感字段加密時,java代碼提示invalid key format

這個是在讀取證書獲取公鑰時有問題,需要檢查使用的類在新版本jdk中是否deprecated的,如jdk9中是deprecated的。

如何查看證書序列號?

登錄商戶平臺【account settings】->【API security】->【API certificate】,可查看商戶API證書序列號。
商戶API證書和微信支付平臺證書均可以使用第三方的證書解析工具,查看證書內容。或者使用openssl命令行工具查看證書序列號。

$ openssl x509 -in 1900009191_20180326_cert.pem -noout -serial
serial=1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C
如何在程序中加載證書?

推薦使用微信支付提供的SDK。你也可以查看下列編程語言的示例代碼。

/**
 * 獲取證書。
 *
 * @param filename 證書文件路徑  (required)
 * @return X509證書
 */
public static X509Certificate getCertificate(String filename) throws IOException {
	InputStream fis = new FileInputStream(filename);
	BufferedInputStream bis = new BufferedInputStream(fis);

	try {
		CertificateFactory cf = CertificateFactory.getInstance("X509");
		X509Certificate cert = (X509Certificate) cf.generateCertificate(bis);
		cert.checkValidity();
		return cert;
	} catch (CertificateExpiredException e) {
		throw new RuntimeException("證書已過期", e);
	} catch (CertificateNotYetValidException e) {
		throw new RuntimeException("證書尚未生效", e);
	} catch (CertificateException e) {
		throw new RuntimeException("無效的證書文件", e);
	} finally {
		bis.close();
	}
}
 
/**
* Read certificate from file
*
* @param string    $filepath     PEM encoded X.509 certificate file path
* 
* @return resource|bool  X.509 certificate resource identifier on success or FALSE on failure
*/
public static function getCertificate($filepath) {
    return openssl_x509_read(file_get_contents($filepath));}
為什么平臺證書只提供API下載?

主要是為了確保在更換平臺證書時,不影響商戶使用微信支付的各種功能。以下場景中,微信支付會更換平臺證書:

1. 證書到期后,必須更換。(目前是五年)

2. 證書到期前,例行更換。(每年一次)

為什么平臺證書下載接口返回的平臺證書需要加密?

主要是為了防御“中間人攻擊”。

由于驗證應答報文的簽名和加密敏感信息時,必須使用到平臺證書。平臺證書是商戶認證微信支付身份時最關鍵的要素。因此,要通過簽名和加密等多重機制來保障商戶獲取到的平臺證書沒有被“中間人”篡改。

商戶在調用下載接口獲取平臺證書時,應進行以下四步操作,以保證證書的真實性:

1. 使用與平臺共享的對稱密鑰,解密報文中的證書(必須)

2. 通過解密得到的證書,來驗證報文的簽名(必須)

3. 使用證書查看工具,核對證書的頒發(fā)者為Tenpay.com Root CA。(強烈推薦)

4. 通過證書信任鏈驗證平臺證書(強烈推薦)

如何通過證書信任鏈驗證平臺證書?

下面介紹如何使用openssl工具,通過證書信任鏈驗證平臺證書。

首先,從微信支付商戶平臺下載平臺證書信任鏈 CertTrustChain.p7b ,并將它轉換為pem證書格式。

openssl pkcs7 -print_certs -in CertTrustChain.p7b -inform der -out CertTrustChain.pem

然后,-CAfile file指定受信任的證書,驗證下載的平臺證書

openssl verify -verbose -CAfile ./CertTrustChain.pem ./WeChatPayPlatform.pem 
為什么報錯“HTTP header缺少微信支付平臺證書序列號(Wechatpay-Serial)”?

商戶上送敏感信息時使用了微信支付平臺公鑰加密。為了能使用正確的密鑰解密,微信支付要求商戶在請求的HTTP頭部中包括證書序列號 ,以聲明加密所用的密鑰對和平臺證書。詳見私鑰和證書的說明。


About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2024 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global

置頂