Certificate & Keystore Toolkit
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand Certificate & Keystore Toolkit
读取 X.509 证书、证书链、PKCS#12 文件和 Java 密钥库,在 PEM 与 DER 之间转换,并生成密钥对及配套的 CSR——全部在浏览器标签页内完成。
How it works
证书是以 DER 编码的 ASN.1 结构:层层嵌套的标签-长度-值记录,承载主体与签发者名称、有效期窗口、公钥以及一组扩展。PEM 就是同一份 DER 用 base64 包裹在 BEGIN 与 END 行之间,因此两者之间的转换只是套上或脱下这层外衣,内容并未改变。PKCS#12 和 JKS 是容器:其中的证书以明文存放,可以正常解析,而私钥则被基于口令的加密包裹起来。密钥生成和 CSR 签名使用 WebCrypto,因此 CSR 携带的是由它所描述的那把密钥做出的真实签名。
When to use it
- 在安装之前,看清供应商发来的证书里究竟有什么
- 在证书本身看起来没问题时,弄清 TLS 握手为何失败——通常是证书链顺序错乱或缺少中间证书
- 查看证书真正覆盖了哪些主机名,因为浏览器忽略 Common Name,只使用主体备用名称
- 在不安装 JDK 的情况下,列出你接手的 .jks 或 .p12 中的别名和条目类型
- 为测试或内部服务生成密钥和 CSR,那里浏览器生成的密钥是可以接受的
Watch out for
- 这里的证书链检查比较的是签发者与主体的名称。这能发现顺序错乱和缺少中间证书的问题,但它一个签名也没有验证——一条名称能对上的伪造证书链看起来同样正确。
- PKCS#12 和 JKS 中被加密的密钥材料只会被列出,从不会被打开。那些容器使用 RC2、3DES 或专有的 SunJCE 方案,WebCrypto 一个都没有实现,因此声称能在浏览器里打开它们的工具,其所作所为值得怀疑。
- 在网页中生成的私钥曾经存在于浏览器标签页里,处在一个你无法完全掌控的进程之中。凡是保护真实流量的密钥,都请在它将要驻留的那台机器上生成。
- 过期的证书与不受信任的证书,失败方式完全不同。本工具报告它读到的日期;它无法告诉你你操作系统中的某个根证书是否信任该签发者。
Not the right tool for: 判断一个线上站点是否配置正确。那需要直接连接该主机——证书只是握手所依赖的若干要素之一,而磁盘上的一个文件说明不了服务器实际递出了什么。
Frequently Asked Questions
有没有 Portecle 的在线替代品?
这套工具箱涵盖浏览器能够诚实完成的部分:检查证书和证书链、在 PEM 与 DER 之间转换、列出 PKCS#12 和 Java 密钥库的内容,以及生成密钥对连同一份 CSR。它无法解密受保护的密钥材料,因为那些容器使用的算法浏览器并未实现。
如何检查证书链的顺序?
把整个证书捆绑粘进链模式。每张证书都会按文件中的顺序列出其主体和签发者,报告会标出任何一处「某张证书并非由排在它后面的那张签发」的位置。比较名称并不等于验证签名,报告中也如实说明了这一点。
没装 Java 也能打开 .p12 或 .jks 文件吗?
可以,能读取其结构。工具箱会列出别名、条目类型、创建日期以及其中每一张证书,因为这些是未加密存储的。私钥保持加密状态,只报告其存在而不打开——工具从不索要口令。
How to Use Certificate & Keystore Toolkit
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.