1、证书格式转换和加解密
命令 | 含义 |
---|---|
genrsa | 生成并输入一个RSA私钥 |
rsautl | 使用RSA密钥进行加密、解密、签名和验证等运算 |
rsa | 处理RSA密钥的格式转换等问题 |
-
生成私钥2048位
openssl genrsa -out private.pem 2048
-
通过私钥导出公钥
openssl rsa -in private.pem -pubout -out public.pem
-
将私钥转成明文
openssl rsa -in private.pem -text -out private.txt
-
使用公钥进行加密
openssl rsautl -encrypt -in msg.txt -inkey public.pem -pubin -out enc.txt
-
使用私钥进行解密
openssl rsautl -decrypt -in enc.txt -inkey private.pem -out dec.txt
-
使用私钥进行签名
openssl rsautl -sign -in msg.txt -inkey private.pem -out enc.txt
-
使用公钥进行验证
openssl rsautl -verify -in enc.txt -inkey public.pem -pubin -out dec.txt
2、创建自签名证书(带通配符*的SSL证书一年能省好多大洋)
1)生成CSR(证书签名请求)
openssl req -new -key private.pem -out domain.csr
说明:CSR包含您的公钥证书,需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。
2)根据CSR生成自签名证书
openssl x509 -req -days 365 -in domain.csr -signkey private.pem -out domain.crt
说明:crt上有证书持有人的信息,持有人的公钥,以及签署者的签名等信息。当用户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。证书上会说明用途,例如服务器认证,客户端认证,或者签署其他证书。当系统收到一份新的证书的时候,证书会说明,是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。
3)附加
根据私钥,csr证书,提取p12私钥, 需要设置密码
openssl pkcs12 -export -out p.p12 -inkey private.pem -in domain.crt
根据证书 导出代码可用的 der格式
openssl x509 -outform der -in domain.crt -out domain.der
网友评论