Initial commit

This commit is contained in:
sjk
2025-11-17 13:32:54 +08:00
commit e788eab6eb
1659 changed files with 171560 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
# 微信支付证书配置说明
## 📋 需要的证书文件
请将以下证书文件放置在此目录下:
### 1. 商户API证书 (必需)
- **文件名**: `apiclient_cert.pem`
- **说明**: 商户API证书用于API调用身份验证
- **获取方式**: 微信支付商户平台 → 账户中心 → API安全 → API证书
### 2. 商户API私钥 (必需)
- **文件名**: `apiclient_key.pem`
- **说明**: 商户API私钥用于签名验证
- **获取方式**: 微信支付商户平台 → 账户中心 → API安全 → API证书
### 3. 商户API证书(PKCS12格式) (可选)
- **文件名**: `apiclient_cert.p12`
- **说明**: PKCS12格式的证书某些场景下使用
- **获取方式**: 微信支付商户平台 → 账户中心 → API安全 → API证书
## 🔐 获取证书的详细步骤
### 步骤1: 登录微信支付商户平台
1. 访问 https://pay.weixin.qq.com
2. 使用商户号和密码登录
### 步骤2: 进入API安全页面
1. 点击左侧菜单 "账户中心"
2. 选择 "API安全"
3. 点击 "API证书"
### 步骤3: 下载证书
1. 如果是首次使用,需要先申请证书
2. 证书申请通过后,下载证书压缩包
3. 解压后将证书文件放置到此目录
## ⚠️ 安全注意事项
1. **证书保密**: 证书文件包含敏感信息,请妥善保管
2. **权限控制**: 确保证书文件只有应用程序可以访问
3. **版本控制**: 不要将证书文件提交到代码仓库
4. **定期更新**: 证书有有效期,请定期检查和更新
## 📁 目录结构示例
```
certs/
├── README_CERTIFICATES.md # 本说明文件
├── apiclient_cert.pem # 商户API证书 (必需)
├── apiclient_key.pem # 商户API私钥 (必需)
└── apiclient_cert.p12 # PKCS12证书 (可选)
```
## 🔧 配置验证
证书配置完成后,可以通过以下方式验证:
1. 启动服务器
2. 查看日志中是否有证书加载成功的信息
3. 调用支付接口测试是否正常
## 📞 获取帮助
如果在证书配置过程中遇到问题:
1. 查看微信支付官方文档: https://pay.weixin.qq.com/wiki/doc/apiv3/
2. 联系微信支付客服
3. 检查服务器日志中的错误信息

Binary file not shown.

View File

@@ -0,0 +1,25 @@
-----BEGIN CERTIFICATE-----
MIIEKDCCAxCgAwIBAgIUJtqMK8A7eWIi2j/PxoJbI2qMdTgwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
Q0EwHhcNMjUxMDI1MTEwNjMxWhcNMzAxMDI0MTEwNjMxWjCBgTETMBEGA1UEAwwK
MTcyNjcxNzExNDEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMS0wKwYDVQQL
DCTljJfkuqzkupHpmJnmmbrog73np5HmioDmnInpmZDlhazlj7gxCzAJBgNVBAYT
AkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAMq1ttFWvKZDg2s9Xyi1R42+1EP8WU8QxQGec4usy5Pg7qgqJQ9XyFPD
4k/1TAC3EEtdyQXc/QEm1WaR/DKjlM+3ZF6oAbcVad7xF8o2bmKAh5OuO6oNpZhn
ULP2sPCuNW934rncsKNqA1cTNIbOsL6JM8flqbrXpgtgomCJJxJYC4PLT7Ie8SES
5J6R/inuWD5sEOIPR6ARkJvccnT7ZA9TShUfyYi7f1L6b8Q6vNwKPwjS/WEsB3KI
dqoI5P5AJNZ36P3Ct4pS4cm9h7L4YuBZ+EVss3aX7zIK3SGNFaXploVNLNJ6YSe7
zAUcmT31bsHXHrLX47bN3WZvDM8D9rMCAwEAAaOBuTCBtjAJBgNVHRMEAjAAMAsG
A1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0cDovL2V2Y2Eu
aXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIwRTUwREJDMDRC
MDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0MjJFMTJCMjdB
OUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUAA4IBAQAgL464
YYLBBJNMw3BsV6P50tgY9JjSDGtxIqPIaBwoQnEbPQbd294+6g8OQ7zD6S8I1ZZl
2T4sTQnSQJJTwyFJKmNNmiNMeH6G+DJjIGfPxewwR6qBke+dgbYFX7pAK428WYCB
/Yhg/5jYsZSDXli0zZtX7bNbymyuk+h2ujR81Pu2fzgn3sswCLHXLQSnugeOhIa3
MjvyQPxOuKPh25Kxsm6aIQiAIi1wwu4HrR1sDUO6pjfeIeIHYbBCjgi940Wx6Rbi
5y9rXCTS1EvP2ViXiLC/5sEOK7slyNzf0gYuoJ4WUZiPLiJYp7R3Jwzvq9ZnRRYe
zAEsPf9/LInYS9Cp
-----END CERTIFICATE-----

View File

@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDKtbbRVrymQ4Nr
PV8otUeNvtRD/FlPEMUBnnOLrMuT4O6oKiUPV8hTw+JP9UwAtxBLXckF3P0BJtVm
kfwyo5TPt2ReqAG3FWne8RfKNm5igIeTrjuqDaWYZ1Cz9rDwrjVvd+K53LCjagNX
EzSGzrC+iTPH5am616YLYKJgiScSWAuDy0+yHvEhEuSekf4p7lg+bBDiD0egEZCb
3HJ0+2QPU0oVH8mIu39S+m/EOrzcCj8I0v1hLAdyiHaqCOT+QCTWd+j9wreKUuHJ
vYey+GLgWfhFbLN2l+8yCt0hjRWl6ZaFTSzSemEnu8wFHJk99W7B1x6y1+O2zd1m
bwzPA/azAgMBAAECggEBALw02viiP6VfKbV31dJF/ZlthEdbFNCEEWXfaAhW9uzl
+q/H8YC9UBH13Tm/1kETtt1CxlHbTEy1cY06HZ4moxP4gggglPcXuqRz1FK7FuH9
0+MZ8euBoC5QPm3YrY/JL3O/K5LFhHs1AsTl3+8KGK/PU3RVl7ESZ+hIYHqg3NX5
odUeE/uiItCXwENgH3n081y9R/JR0lzK2H4s3ZAGeupV/SY2IzjIYGigC7J1apzJ
Y1RYs4NwvGAuD16+7pRQeDAcYiGkeU2xOSgjR9wWABbzdaykPf5YW6m/UqP/IQO4
S+SS27N6WCZkAKj7JyUSg3P7Vxd0jVaz2JFI/JDFiwECgYEA7Ymct7dVZy4yrTzW
GZuDvp9ZHAj33X7Sffr0Wa4PdS5ecBfEEk8+y4bTc63xhJ1w3ltGNlWTsRTuFqbS
/rIthLYJNYnoZ1tA9iWRhqUQjjtZ/NGShp6Ks3ARGTZBCiUblBKU7mE8/hRN7FVG
9MLwW+M+WR2CGeXtDhvkuTnFiykCgYEA2ncemgaKrESelJEOEp/3kc5CZNzAsVry
g1f7TLCwyMZc9O6I+q3TkVPs35om5rdpyQaxKXn5aCINazNH4k/YroebhgXmLpWd
O/nyUJ+m9G4ff/7zgh8cIqPoJNbTZRZ5h9AXW/eTXfTzmX1dnmvVT7H4yLxC/Lnr
Leo0pKgminsCgYEAlE9imVaPrT+sBnxAlXaC+IcXpSh4UkR3+o6w+Dl0j06nSkec
dW4jIAKLjeOiM5H1we+tVAl0kJEn4t7ASKRJRV4/O71ibP4N/mIQjcgMITIvimnz
mbftlAG5u0sjqsjmgjpj4L63zVAyIwhPqEz6s/SbnhqNe8wSiceitH+8tpkCgYEA
vJFFIL20xK0WFDaAZyMclgXq2RSSXoOaADTY/IEmlqZhZijeo0GW9EH0m6x7F3oJ
HTNhh+N4m6GI45cH3Rf+d+clHrHI1Tze0v4TYfPsL9894UU2+oHPzzabEfE71m1n
yQqcnw07bkYYXcwQGsYJARklHF8jkvEHRkJ53gYl/jECgYEAi8edfZh0F4zcrvtw
WW7aO1Nr5g3NEU6xyRqpkqn3GpwVOk64vvPJuzrZ2ZQrl7lotT627zM1yir1dsdg
9YuYaUKesSiiicyLeApurpuw8aNYhBCTZRPG2mc1oVuHdurMs4loIzgJ4JE5ZdcR
pJJSBXx44yMVb8gMoJIKFKcGUis=
-----END PRIVATE KEY-----