Openssl 签名证书学习笔记

环境:win10 64位, 安装版的OpenSSL-Win64, openssl 1.1.0f, x509证书, 环境变量配置openssl 的path, 操作在命令窗口完成

第一类: 自签名证书

      自签名证书,  比一般过程(1, 生成密钥, 2, 生成请求, 3, CA签名证书), 整个过程一次完成, 一次性生成密钥和自签名的证书, 自签名的证书可以作为CA 根证书, 也可以为其他证书请求签名, 自签名的证书可以直接作为服务器端证书了(不推荐这样做).

 cd G:\ca

openssl req -newkey rsa:2048 -new -x509  -nodes -out my-cert.crt -keyout my-cert.key -days 365 -subj "/C=CN/ST=gd/L=st/O=go/OU=go/CN=root/emailAddress=lin49940@go.com"

说明: -new -x509  一起出现就说明是要生成自签名证书

         -nodes 说明不要密码, 有密码的话, 服务器启动的话是需要输入密码的

                      有密码要去掉密码的话, openssl rsa -in my-cert.key -out my-cert.key

         -subj"...." 里的CN 是写你的名字或域名的, 如果你有域名, 请填上你的域名

         -days 365 有效期1年, 没有这项的话就表示永久, 10年的话就是3560

 

第二类: 用私人CA 根证书签名的证书(可以用于服务器或客户端)

       用同一个私人CA 根证书签名的这些证书, 一开始是没有什么服务器端或客户端的区分的, 一般是在确定它们用处后才区分的, 如已签名证书A 和 已签名证书B, 它们一开始是同级的, 在管理者确认要把A 作为服务器证书使用的时候, 依据服务器的要求, 可能A 还需要把证书+key 合并成一个pem, 再把这个pem 给服务器当证书, 这个时候证书A 就是服务器端证书了, A 的密钥要严格保存好, 不能给到其他人.

      而证书B, 他可能会被给到客户, 包括证书和密钥, 客户使用证书B及其密钥, 连接服务器, 这时候证书B 就是客户端证书了, 根据实际情况, 可能证书B 需要通过openssl pkcs12 -export -clcerts 命令打包成一个client.12 给到用户.

       以上A 和B 是我们自己的根据需求生成的证书,  如果是正规的操作, 应该是服务器方自己提供证书请求, 通过CA 机构中心得到被签名好的证书, 然后再申请客户端用的证书.

 cd G:\ca

#生成服务器的密钥, 输入至少4位的密码

openssl genrsa -des3 -out server.key 2048

#去掉key 的密码, 不然服务器启动的时候需要输入密码

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

#生成服务器证书请求, 要重点注意CN的设置, 不能空, 一般是填域名或你的名称, 不能重复<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值