使用openssl制作https的证书

1.前言

现在的web应用对安全越来越重视了,很多应用必须采用https来传输数据。但是https必须要有证书,在开发和测试环境一般我们在没条件采用ca签发的可信证书的情况下,我们可以使用openssl,或者keytool等ssl的密码库工具制作证书。

2.使用openssl制作证书

2.1 生成私钥

openssl genrsa -out private.key 2048

genrsa: 表示使用rsa算法,openssl还支持RSA, DSA, ECDSA, and EdDSA,
2048:表示私钥的大小,单位为位
私钥生成后可使用cat 命令查看,其内容为pem格式
在这里插入图片描述

如果生成的私钥需要密码保护,则可在生成私钥时指定加密算法(后续每次使用私钥时都会要求输入访问秘钥的密码)

openssl genrsa  -aes256 -passout pass:123456 -out rsa_private.key 2048

其中 passout 代替shell 进行密码输入,否则会提示输入密码;
在这里插入图片描述

2.2 生成rsa 公钥

openssl rsa -in rsa_private.key -pubout -out rsa_public.key

在这里插入图片描述

2.3 生成自签名证书(不基于csr)

openssl req -new -x509 -days 3650 -key private.key -out cert.crt

-x509:表示证书格式
-day: 表示证书的有效天数
根据提示输入相关信息,Common Name 可绑定域名或ip地址,域名可配通配符。
在这里插入图片描述
在这里插入图片描述

2.4 证书的转换

一般web服务器常用的证书格式为 pkcs12,jks等,即证书包含私钥。我们需要将pem证书和私钥合成p12证书

openssl pkcs12 -export -in cert.crt -inkey private.key  -out server.p12

shell 会提示你输入p12证书的访问密码。
在这里插入图片描述
openssl还有很多特性可以参考下官方文档
https://www.feistyduck.com/library/openssl-cookbook/online/ch-openssl.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值