---
url: "https://pay.weixin.qq.com/doc/v3/partner/4012083116.md"
title: "验签工具"
doc_id: 4012083116
---

>更新时间：2025.01.03

验签工具下载地址：

[签名验签工具Product\_5.7z](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/attachment/e9bf33c6be6398e5ce2ae910219ed383/签名验签工具Product\_5.7z)

1、打开时个别用户可能会提示：找不到MSVCR120.dll文件，需要额外下载一下该文件，放置安装目录即可。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/705e24fa59cd2feacb3be969152a3c0f.png)

2、当使用验签工具时如出现异常失败情况会有ret:错误码提示，可参考下方表格查询对应[错误码说明](https://pay.weixin.qq.com/doc/v3/partner/4012083116.md#%E9%94%99%E8%AF%AF%E7%A0%81)。

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/547dd293e7c3db3b2e91fa48d7d02062.png)



## 说明

验签工具可以协助商户申请服务器端通信的证书，以及协助验证签名或密文是否正确。

## 功能和界面

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/d8a9c287e9b57688f7e35dec83e2b2fe.png)

## 验签

用于联调时辅助验证

步骤：

1. 选择证书文件，如果是P12格式证书，需要输入证书的密码。

2. 签名：输入明文，点击签名按钮

3. 验签：输入明文和签名串，点击验签按钮


注意

P12格式文件包含公私钥，可以用来签名和验签。PEM格式文件仅包含公钥，只能用于验签。

P12文件使用（可以签名和验签）

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/2ef9b3bef74ec08139cc70b40bb75a0e.png)

PEM文件使用（只能验签）

![](https://gtimg.wechatpay.cn/resource/xres/mmpaydoc/static/img/380482063a4a6050f3316696b1dc78be.png)

## 错误码

| 错误码 | 错误码说明 |
| --- | --- |
| 10001,10002 | 生成公私钥对失败 |
| 10003 | 密钥不存在 |
| 10004,10005,10006 | 生成证书请求串失败 |
| 10010,10011,10012,10013 | 从文件读取公私钥对失败 |
| 10026 | 证书与本地公私钥不匹配 |
| 10027,10028 | 根证书不存在或格式错误 |
| 10029 | 当前证书与根证书不匹配 |
| 10100,10110 | 证书串或者路径为空 |
| 10102 | 合成P12格式失败 |
| 10103,10104 | 保存证书P12文件失败 |
| 10105,10106 | 保存证书PEM文件失败 |
| 10107,10108 | 保存密钥PEM文件失败 |
| 10111,10112 | 保存证书Cer文件失败 |
| 10113,10114 | 保存证书PEM文件失败 |
| 10150 | 证书串为空 |
| 10151 | 证书串转X509格式失败 |
| 20001,20002 | 读取证书X509格式失败 |
| 20011,20012 | 从X509获取公钥失败 |
| 20051,20052 | 读取证书P12格式失败 |
| 20061,20062 | 从P12文件获取密钥对失败 |
| 20100,20101 | 私钥不存在，无法签名 |
| 20101 | RSA签名失败 |
| 20102 | 对签名结果进行Base64编码失败 |
| 20200 | RSA验签失败 |
| 20210 | 公钥不存在，无法验签 |
| 20211 | 对签名串Base64解码失败 |
| 20301 | RSA加解密失败 |
| 20310 | 密钥不存在 |
| 20311 | 私钥不存在 |
| 20313 | 密文Base64解码失败 |
| 20315 | 密文Base64编码失败 |
| 20330 | 证书不存在 |
| 20331,20332 | 获取证书信息失败 |
| 30020,30021 | 获取操作文件失败 |
| 30023,30024,30025 | 操作已损坏 |