openssl与公钥、私钥和证书

ssl:secure socket layer(安全套接层协议)的缩写,通过此协议可以保证两个应用通信的可靠性和保密性。

openssl:是ssl协议的实现。提供了对称加密算法、非对称加密算法以及秘钥证书管理等功能。

公钥私钥:公钥和私钥组成一个密钥对,必须配对使用。一般公钥公开,私钥自己保留。

        公钥加密,私钥解密,一般用于传输数据;

        私钥加密,公钥解密,一般用于数字签名、验证身份。

证书:全称是公钥证书,由第三方机构CA颁发。CA利用自己的私钥对真正的公钥施加数字签名并生成证书,客户拿到证书后,通过CA的公钥来对证书解密,拿到真正的公钥。证书有两种编码格式:

        1.pem:文本格式,以"-----BEGIN..."开头,以"-----end..."结尾,内容是base64编码,Apache和*nix服务器一般使用这种编码;

        2.der:二进制格式,不可读,windows服务器一般偏向使用这种。

理论介绍差不多了,下面介绍pfx和crt两种证书的生成。

1.openssl生成秘钥:

openssl genrsa -out server.key 1024

执行此命令后,会在当前目录下生成一个长度为1024的server.key文件。

2.根据server.key文件首先生成cer证书,但该证书不包含私钥,得生成pfx证书:

#利用server.key文件生成server.cer证书
openssl req -new -x509 -key server.key -out server.cer -days 365 -subj /CN=baidu.com
#利用server.key文件和server.cer证书生成pfx证书
openssl pkcs12 -export -out server.pfx -inkey server.key -in server.cer

执行第二条命令生成pfx证书后,会提示输入密码,记住改密码,后面可以通过此密码获取公钥和私钥。

#先获取密钥对pubAndPri.key文件
openssl pkcs12 -in server.pfx -nocerts -nodes -out pubAndPri.key
#提取公钥
openssl rsa -in pubAndpri.key -pubout -out server_pub.key
#提取私钥
openssl rsa -in  pubAndpri.key -out server_pri.key

3.根据server.key文件先生成csr证书请求文件,再生成crt证书:

#先根据server.key文件生成server.csr证书请求文件
openssl req -new -key server.key -out server.csr
#利用server.key文件和server.csr证书请求文件生成crt证书
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

 

 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值