0%

使用 OpenSSL 自签名 TLS/SSL 证书

有时需要一个本地的自签名证书,便于本地的加密https 访问,或者用于开发和测试,OpenSSL 便可以方便自签名一个证书,下面介绍使用方法。

自签名TLS/SSL证书过程:OpenSSL 生成一个私钥server.key,使用私钥生成证书请求文件server.csr,再使用server.key 和 server.csr 生成证书文件server.crt

1、安装OpenSSL

1
2
3
4
5
6
7
8
9
# Debian
~$ sudo apt install -y openssl

# CentOS
~$ sudo yum install -y openssl

# 查看版本
~$ openssl version
OpenSSL 1.1.1g 21 Apr 2020

2、生成CSR证书请求文件和私钥

使用秋水逸冰大佬制作的网站在线生成,点击 https://www.csr.sh/

image-csr

域名可以填写泛域名,这样可以匹配www.alarmpi.lan,dl.alarmpi.lan

点击生成CSR,复制出来用编辑器打开,分两部分,上半部分为证书的请求文件,下半部分为私钥,分别保存为server.csr,server.key

1
2
openssl$ ls
server.csr server.key

3、使用OpenSSL生成服务证书

1
2
3
4
5
6
7
~$ openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
Signature ok
subject=C = CN, CN = *.alarmpi.lan, L = Guangzhou, O = RaspberryPi, ST = Guangdong, OU = IT
Getting Private key

~$ $ ls
server.crt server.csr server.key

-days指定证书的有效期,这个证书的有效期为10年。

4、验证证书的有效性

1
~$ openssl verify server.crt

参考链接

1、How to create & sign SSL/TLS certificates

2、OpenSSL command cheatsheet

如果对你有帮助,请我喝杯奶茶吧!
pengshp 微信

微信

pengshp 支付宝

支付宝

欢迎关注我的其它发布渠道