自签名-TLS/HTTPS-证书
使用 OpenSSL
安装
在 Archlinux 上为:
1 |
|
生成 RSA 私钥
1 |
|
genras
, 表明生成用 RAS (一种非对称算法) 加密的私钥-out ca.key
, 指定将私钥输出到哪个文件2048
, 指定生成的 RSA 私钥的长度
生成 CSR
CSR, Certificate Signing Request, 是在获取 SSL/TLS 证书时需要生成的一个中间文件. 其用于:
- 包含申请者的公钥信息
- 包含申请者的身份信息
- 用于向 CA 申请签发证书
1 |
|
req
, 表明是创建 Certificate Signing Request (CSR)-new
, 表明生成新的 CSR, 默认情况下,openssl req
不会生成新的 CSR, 而是会从当前目录查找并读取, 当未找到时, 会:1
2Warning: Will read cert request from stdin since no -in option is given
Warning: Not placing -key in cert or request since request is used-key
, 指定用于生成 CSR 的私钥文件, openssl 会从私钥中导出公钥信息写入 CSR 文件中-out
, 指定将 CSR 存储在哪个文件
使用私钥和 CSR 生成自签名证书 CRT
CRT, CeRTificate 文件, 是 X.509 类型证书 (一种数字证书标准, 它定义了证书的格式和内容), 包含证书持有者的公钥, 身份信息, 以及 CA 的签名信息 (有效期, 序列号等), 在 SSL/TLS 加密通信中, 服务器会将自己的 CRT 证书文件发送给客户端, 客户端可以使用其中包含的公钥信息来验证服务器的身份.
1 |
|
x509
, 指处理 X.509 证书-req
, 指定输入类型是一个 CSR 文件-days
, 指定证书有效时间-in
, 指定输入文件-signkey
, 指定用于签发证书的私钥-out
, 指定生成的 X.509 证书的存储文件
配合 Apache
比如 Archlinux 上, 修改 /etc/https/conf/extra/httpd-vhosts.conf
:
1 |
|
之后:
1 |
|
自签名-TLS/HTTPS-证书
http://example.com/2024/05/15/自签名-TLS-HTTPS-证书/