如何生成自签名证书,在局域网内保障数据流量安全
生成私钥(key文件)
openssl genrsa -des3 -out server.pass.key 2048
参数说明
-genra 生成RSA私钥
-des3 des3算法
-out server.key 生成的私钥文件名
-2048 私钥长度
去除私钥中的密码
openssl rsa -in server.pass.key -out server.key
生成CSR(证书签名请求)
生成自签名SSL证书
openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Shanghai/L=Shanghai/O=cetc/OU=cetc/CN=gitlab.cetc.cn"
参数说明
-req 生成证书签名请求
-new 新生成
-key 私钥文件
-out 生成的CSR文件
-subj 生成CSR证书的参数
生成公钥
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
参数
-days 证书有效期
X.509证书包含三个文件:key,csr,crt。
key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有的公钥,以及签署者的签名等信息
备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。
nginx 配置示例
server {
listen 8081 http2 ssl;
# 监听ipv6
listen [::]:8081;
ssl on;
ssl_certificate /home/pi/httpkey/server.crt;
ssl_certificate_key /home/pi/httpkey/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_read_timeout 1200s;
client_max_body_size 0;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:18081;
}
}
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 不挂高数
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果