使用openssl工具集操作证书
1、生成根密钥
openssl genrsa -out root.key 2048
2、通过root.key生成证书请求
openssl req -new -key root.key -out root.csr
这个过程中要求输入 证书请求 中的相关信息,如国家、城市、域名等
3、签名证书请求
openssl x509 -req -days 365 -in root.csr -signkey root.key -out root.crt
-in:指定要签名的证书请求
-signkey:指定签名用密钥
-out:指定生成的证书文件
4、查看生成的证书文件
openssl x509 -in root.crt -noout -text
5、验证
使用openssl verify命令
-CApath directory 指定CA证书所在的目录,这个目录下可能存在证书链中的多个证书文件。为了对这个目录下的证书进行检索,证书文件的命名需要遵循xxxxxxxx.0,其中xxxxxxxx是命令 openssl x509 -hash -in 证书文件 的输出值,8个字母或数字,“.0”是要有的。
(1)对自签名证书root.crt进行验签,使用-CApath选项。
首先要x509命令的 -hash选项计算root CA的hash值:
$ openssl x509 -hash -in root.crt -noout ec11603c
cp root.crt CApath/ec11603c.0
进行验签操作:
$ openssl verify -CApath CApath/ root.crt
root.crt: OK
(2)验证该证书颁发的下级证书
生成下级证书:
openssl x509 -req -days 365 -in first_level.csr -CA root.crt -CAkey root.key -CAcreateserial -out first_level.crt
$ openssl verify -CApath CApath/ first_level.crt
first_level.crt: OK