发布时间:2023-01-30 文章分类:编程知识 投稿人:李佳 字号: 默认 | | 超大 打印

keytool VS openssl

keytool 和 openssl 是俩个证书管理工具。

keytool 是 java JDK 自带的证书管理工具,使用 keytool 可以生成密钥,创建证书。只要装了 jdk,并正确设置了环境变量,就可以之间通过命令行执行 keytool 命令来管理证书。

openssl 则是一个开源的安全套接字层密码库,功能比 keytool 更加丰富。

X.509 VS PKCS

PKCS 全称 Public-Key Cryptography Standards ,即公钥标准,PKCS 已经发布了15个标准。

X.509 则是一个通用的证书标准,规定了证书应该包含哪些内容,X.509 通常有俩种编码方式,一种是二进制编码,另一种是 Base64 编码。

证书文件格式

文件后缀 文件类型 说明
.DER或.CER 二进制格式 只含有证书信息,不包含私钥。
*.CRT 二进制格式或文本格式 只含有证书信息,不包含私钥。
*.PEM 文本格式 一般存放证书或私钥,或同时包含证书和私钥。.PEM文件如果只包含私钥,一般用.KEY文件代替。
.PFX或.P12 二进制格式 同时包含证书和私钥,且一般有密码保护。

证书格式之间是可以互相转化的。用到的时候查对应的 openssl 或 keytool 命令就好了。

您可以使用记事本直接打开证书文件。如果显示的是规则的数字字母(如下所示内容),那么该证书文件是文本格式。

—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–

常见Web服务软件

常见的 Web 服务软件,通常都基于 OpenSSL 和 Java 两种基础密码库。