常用的openssl命令

本文介绍了常用的OpenSSL命令,涵盖证书操作,如查看证书信息、验证证书、查看Key信息等;还包括计算摘要,如MD5和SHA1摘要;CMS的签发与校验;以及签发CA根证书、身份证书,查看证书请求和PFX证书格式处理等内容。

常用的openssl命令

证书

查看证书信息

openssl x509 -noout -text -in ca.crt

验证CA签发的证书

openssl verify -CAfile ca.crt myserver.crt

验证自签名证书

openssl verify selfsign.crt

查看Key信息

openssl rsa -noout -text -in myserver.key

加密的Key变成明文的Key

openssl rsa -in server.key -out server.key

计算摘要

计算MD5摘要

openssl dgst -md5 filename

计算SHA1摘要

openssl dgst -sha1 filename

CMS

签发CMS

$ openssl cms -sign -signer cert.pem -inkey key.pem -outform PEM -nosmimecap -nodetach -nocerts -noattr -md sha256 -passin pass:xxx -in dd.txt

校验CMS

$ openssl cms -verify -certfile cert.pem -CAfile ca.pem -inform PEM -nosmimecap -nodetach -nocerts -noattr -in aa.txt

签发CA根证书

生成CA私钥(.key)–>生成CA证书请求(.csr)–>自签名得到根证书(.pem)(CA给自已颁发的证书)。

# Generate CA private key 
$ openssl genrsa -out ca.key 2048 
# Generate CSR 
$ openssl req -new -key ca.key -out ca.csr
# Generate Self Signed certificate(CA 根证书)
$ openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.pem

签发身份证书

生成私钥(.key)–>生成证书请求(.csr)–>用CA根证书签名得到证书(.pem)

# private key,如果需要加密,可以增加-des3或者-aes128等加密算法参数
$ openssl genrsa -out server.key 1024
# generate csr
$ openssl req -new -key server.key -out server.csr
# generate certificate
$ openssl ca -in server.csr -out server.pem -cert ca.crt -keyfile ca.key 

最后一步可能碰到错误,我是在windows上运行:

Using configuration from C:\OpenSSL-Win64\bin\openssl.cfg
ca: ./demoCA/newcerts is not a directory
./demoCA/newcerts: No such file or directory

解决办法是在当前操作目录新建demoCA/newcerts两级目录。然后在demoCA文件夹下新建一个空的index.txt文件,再新建一个serial文件,没有后缀,里面填入01。

查看证书请求

# openssl req -in my.csr -noout -text

PFX证书格式处理

查看证书内容

# openssl pkcs12 -info -in server.pfx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值