openssl 生成nginx永久ssl证书
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openssl 生成nginx永久ssl证书相关的知识,希望对你有一定的参考价值。
参考技术A 1、SSL证书制作依靠openssl,首先检查OpenSSL:一般centos7上默认装好了[root@zq testzq]# openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
2、生成私钥和自签名的SSL证书:
2.1、生成私钥 ,参数genrsa:生成RSA私钥;-des3:des3算法;-out server.pass.key:生成的私钥文件名;2048:私钥长度
[root@zq testzq]# openssl genrsa -des3 -out server.pass.key 2048
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.......................+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key: #输入一个4位以上的密码
[root@zqtestzq]# ll
-rw-r--r-- 1 root root 1751 1月 20 11:01 server.pass.key #有密码的私钥文件
2.2、去除私钥中的密码
[root@zq testzq]# openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1679 1月 20 11:01 server.key #无密码的私钥文件
-rw-r--r-- 1 root root 1751 1月 20 11:01 server.pass.key #有密码的私钥文件
[root@zq testzq]# openssl genrsa -des3 -out server.pass.key 2048
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.......................+++
e is 65537 (0x10001)
Enter pass phrase for server.pass.key:
Verifying - Enter pass phrase for server.pass.key: #输入一个4位以上的密码
[root@zqtestzq]# ll
-rw-r--r-- 1 root root 1751 1月 20 11:01 server.pass.key #有密码的私钥文件
2.2、去除私钥中的密码
[root@zq testzq]# openssl rsa -in server.pass.key -out server.key
Enter pass phrase for server.pass.key:
writing RSA key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1679 1月 20 11:01 server.key #无密码的私钥文件
-rw-r--r-- 1 root root 1751 1月 20 11:01 server.pass.key #有密码的私钥文件
2.3、生成CSR(证书签名请求文件)
[root@zq testzq]# openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn"
参数说明:# req 生成证书签名请求
# -new 新生成
# -key 私钥文件
# -out 生成的CSR文件
# -subj 生成CSR证书的参数
2.4、生成自签名的SSL证书
[root@zq testzq]# openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt #-days:证书有限期(天)
Signature ok
subject=/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=gitlab.xdevops.cn
Getting Private key
[root@zq testzq]# ll
-rw-r--r-- 1 root root 1241 1月 20 11:00 server.crt #自签名的SSL证书
-rw-r--r-- 1 root root 1021 1月 20 11:00 server.csr #签名文件
-rw-r--r-- 1 root root 1679 1月 20 11:01 server.key #无密码的私钥文件
-rw-r--r-- 1 root root 1751 1月 20 11:01 server.pass.key #有密码的私钥文件nginx
server
listen 8443;
ssl on;
ssl_certificate /home/testzq/server.crt; #配置已签名的SSL证书.crt
ssl_certificate_key /home/testzq/server.key; #配置已签名的证书私钥.key
.............................................
server
listen 443;
ssl on;
ssl_certificate /home/testzq/server.crt;
ssl_certificate_key /home/testzq/server.key;
以上是关于openssl 生成nginx永久ssl证书的主要内容,如果未能解决你的问题,请参考以下文章
自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书