防止部署失败
更新 Nginx、Apache、负载均衡器或云证书服务之前,先验证这一对文件。
部署前使用此证书密钥匹配工具。它会在浏览器本地比较证书和私钥,不会上传私钥。
上传的文件在本地读取。两份输入都留在此浏览器标签页中,清除或关闭页面后会被丢弃。
接受 .pem、.crt、.cer 或 .der。如果提供证书链,会检查第一张证书。
接受 PKCS#8、RSA PKCS#1 或 EC SEC1 格式的未加密 .key 或 .pem 文件。
匹配结果将显示在这里
匹配工具会提取两份公钥,规范化其 SPKI 数据,并比较字节和 SHA-256 指纹。
部署前检查
Web 服务器需要与证书中的公钥相对应的私钥。相似的文件名和域名不能证明这些文件属于同一对。密码学比较可以在重新加载失败或造成停机之前发现不匹配。
更新 Nginx、Apache、负载均衡器或云证书服务之前,先验证这一对文件。
结果来自规范化公钥字节,而不是证书名称、域名或 PEM 排版。
解析、公钥推导、哈希和比较都在当前浏览器标签页中完成。
证书与私钥匹配工具
准备叶子 SSL 证书,以及你打算与它一起使用的私钥。中间 CA 证书并不包含你的服务器公钥。
粘贴 PEM 文本,或上传 .pem、.crt、.cer 或 .der 文件。如果提供了证书链,会检查第一张证书。
粘贴密钥,或上传 PKCS#8、RSA PKCS#1 或 EC SEC1 格式的未加密 .key 或 .pem 文件。
查看“匹配”或“不匹配”的结论、两份 SHA-256 指纹,以及证书身份。
匹配结果
证书包含由此私钥推导出的公钥。这一对可以一起配置到服务器上。
公钥不一致。重新签发证书前,请找到原始密钥,或创建新的密钥和 CSR。
检查 PEM 边界行。如果私钥已加密或存放在不受支持的硬件中,请在本地使用 OpenSSL。
公钥比较
匹配工具会从 X.509 证书中提取公钥,并从提供的私钥推导对应的公钥。两者都会先导出为规范化的 SubjectPublicKeyInfo DER,再比较字节。
它还会为每把公钥计算 SHA-256 指纹,便于核对判断结果。这适用于 RSA 和支持的椭圆曲线密钥,而 RSA 模数比较不适用于 ECC。
匹配不会验证证书链、主机名、到期状态、吊销状态或信任关系。
如果私钥已加密,或组织策略不允许使用浏览器工具,请在受信任的计算机上运行这些命令。哈希相同表示公钥匹配。
证书 SPKI SHA-256
openssl x509 -in certificate.crt -pubkey -noout \
| openssl pkey -pubin -outform DER \
| openssl dgst -sha256私钥 SPKI SHA-256
openssl pkey -in private.key -pubout -outform DER \
| openssl dgst -sha256请检查创建原始 CSR 的服务器、续期目录、密钥管理器、部署记录和安全备份。自动续期可能创建了新密钥,而旧证书或旧密钥仍使用熟悉的文件名。
无法从 SSL 证书恢复私钥。如果没有正确的密钥,请生成新的私钥和 CSR,然后请证书颁发机构重新签发证书。
此检查工具接受 PEM 或 Base64 DER 形式的 X.509 证书,以及未加密的 PKCS#8、RSA PKCS#1 或 EC SEC1 私钥。支持的 EC 曲线为 P-256、P-384 和 P-521。
加密的私钥、PFX/PKCS#12 包,以及硬件中不可导出的密钥不在本页范围内。粘贴证书链时,第一张证书会被视为叶子证书。
相关 SSL 工具
检查证书请求是否由指定私钥创建。
Check CSR & key检查主体、SAN、公钥、签名和申请的扩展。
Decode CSR如果原始密钥不可用,请在本地创建新的 CSR 和私钥。
Generate CSR证书与私钥匹配常见问题
粘贴完整的 X.509 证书和候选私钥,或选择它们的本地文件。匹配工具会提取证书公钥,从私钥推导公钥,把两者都规范化为 SubjectPublicKeyInfo 数据后进行比较。
匹配工具在浏览器本地运行。证书和私钥不会被上传、保存或放入 URL。使用后请清空表单或关闭标签页,生产环境的密钥请遵循组织的密钥处理策略。
会。它比较的是规范化公钥数据,而不是仅适用于 RSA 的模数,因此支持 RSA,以及 P-256、P-384 和 P-521 曲线上的 ECDSA 私钥。
本页不要求也不解密私钥口令。请在受信任的计算机上使用本页的 OpenSSL 命令,或创建临时的未加密副本,用完后安全删除。
通过检查签发服务器、续期目录、密钥管理器和安全备份,找到创建该证书原始 CSR 所用的私钥。如果无法找回,请生成新的密钥和 CSR 并重新签发证书。
不能。SSL 证书包含公钥,不包含私钥。密钥的密码学设计决定了无法从证书推导出私钥。
当配置的证书公钥与配置的私钥不一致时,Nginx 会报告密钥不匹配。请确认叶子证书和密钥属于同一对,并且证书文件不是顺序错误的证书链。