微信支付ASP下證書安裝說明

之前寫過一篇文章:ASP微信支付類,文章中提到安裝證書的問題。 增加了 一臺服務器部署 多個 微信支付站點的方法,請翻閱到文章底部。沒有做詳細的說明(微信支付/服務號 怎么配置?),現在將詳細安裝的方法整理了一遍,具體步驟如下:

1、首先需要安裝證書

到微軟官方下載winhttpcertcfg.exe

下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=19801

使用說明:https://msdn.microsoft.com/en-us/library/aa384088.aspx#_using

選擇一個位置安裝即可,為了方便輸入,建議安裝到:C:\cert_tools\

2、安裝證書

安裝第一步的工具后,執行以下命令,即可安裝證書成功。
假如 證書工具安裝在C:\cert_tools\,證書放在 D:\Project\WechatASP

2.1、導入證書

C:\cert_tools\winhttpcertcfg -g -i "D:\Project\WechatASP\apiclient_cert.p12" -c LOCAL_MACHINE\My -a "Network Service" -p 微信商戶ID

如果成功會提示:

Microsoft (R) WinHTTP Certificate Configuration Tool
Copyright (C) Microsoft Corporation 2001.

Imported certificate:
SN=12xxxxxx
CN=***有限公司
OU=MMPay
O=Tencent
L=Shenzhen
S=Guangdong
C=CN

2.2、設置 Network Serivce 擁有證書使用權限

::下面的命令根據 申請日志選擇,只需要執行一個就可以

::新商戶執行
C:\cert_tools\winhttpcertcfg -g -c LOCAL_MACHINE\My -s 微信商戶ID -a "Network Service"
::老商戶執行
C:\cert_tools\winhttpcertcfg -g -c LOCAL_MACHINE\My -s "MMPay" -a "Network Service"

如果成功會提示:

Microsoft (R) WinHTTP Certificate Configuration Tool
Copyright (C) Microsoft Corporation 2001.

Matching certificate:
SN=12xxxxxx
CN=***有限公司
OU=MMPay
O=Tencent
L=Shenzhen
S=Guangdong
C=CN

Private key access has already been granted for account:
    NT AUTHORITY\NETWORK SERVICE

2.3、設置 Everyone 擁有證書使用權限

::下面的命令根據 申請日志選擇,只需要執行一個就可以

::新商戶執行
C:\cert_tools\winhttpcertcfg -g -c LOCAL_MACHINE\My -s 微信商戶ID -a "EveryOne"
::老商戶執行
C:\cert_tools\winhttpcertcfg -g -c LOCAL_MACHINE\My -s "MMPay" -a "EveryOne"

如果成功會提示:

Microsoft (R) WinHTTP Certificate Configuration Tool
Copyright (C) Microsoft Corporation 2001.

Matching certificate:
SN=12xxxxxx
CN=***有限公司
OU=MMPay
O=Tencent
L=Shenzhen
S=Guangdong
C=CN

Granting private key access for account:
    \Everyone

3、一臺服務器系統 安裝多個微信支付系統 的方法

請升級程序到最新的版本:https://gitee.com/mqycn/WechatASP,修改 order/payconfig.asp 中的 CertName 屬性的值 為
2.3、設置 Everyone 擁有證書使用權限 部分中的 SN 的值(12xxxxxx),以上面的證書為例:

pay.CertName    = "12xxxxxx" '如果本服務器只有一個站點使用微信支付,無須修改。部署多套請參考:http://www.okfdzs1809.com/p/winhttpcertcfg-mmpay

如果是2018-11-22之前的版本,請參考教程:https://gitee.com/mqycn/WechatASP/issues/IOXBW

如果 Win2003 沒有開啟自動更新,會因為win2003及其早期版本不支持SHA2,導致HTTPS交互失敗,需要打上968730的補丁后才可以使用。

原因地址:https://support.microsoft.com/zh-cn/help/968730/windows-server-2003-and-windows-xp-clients-cannot-obtain-certificates
補丁地址:https://docs.microsoft.com/en-us/security-updates/SecurityBulletins/2013/ms13-095

10 thoughts on “微信支付ASP下證書安裝說明

  1. 楊小山

    請問如果有二個網站需要安裝證書,怎么辦,會不會沖突呢,因為證書名都是MMpay,如何解決,能否回復一下。

  2. 苗 啟源 文章作者

    楊小山 請問如果有二個網站需要安裝證書,怎么辦,會不會沖突呢,因為證書名都是MMpay,如何解決,能否回復一下。

    現在增加了:3、一臺服務器系統 安裝多個微信支付系統 的方法

  3. 紹陽

    請問把路徑統一修改可以用嗎,現將整個目錄放到某站點的子目錄中使用。二微碼掃碼后沒有返回值,LOG日志文件也沒有更新,{“status”:false} ,問下是什么情況,搞了兩天了還沒有弄好

  4. 可以部署多套,但是如何安裝多個證書呢?!證書名是一樣的MMPAY。

  5. 苗 啟源 文章作者

    由紹陽發表在《微信支付ASP下證書安裝說明》

    請問把路徑統一修改可以用嗎,現將整個目錄放到某站點的子目錄中使用。二微碼掃碼后沒有返回值,LOG日志文件也沒有更新,{“status”:false} ,問下是什么情況,搞了兩天了還沒有弄好

    在前 日志路徑寫死了,如果 不安裝到默認路徑 會收不到通知,現在 gitee中 最新的代碼已經修復此bug

  6. 苗 啟源 文章作者

    陳:可以部署多套,但是如何安裝多個證書呢?!證書名是一樣的MMPAY。

    證書名,可以直接用 商戶ID,請見文章底部:3、一臺服務器系統 安裝多個微信支付系統 的方法

  7. Pingback引用通告: ASP微信支付 使用說明 | 啟源的部落格

發表評論

電子郵件地址不會被公開。 必填項已用*標注

此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據。