1. 在合适的目录鼠标右键,选择Git Bash Here,打开git命令行窗口
    图1
    2.生成服务器私钥(.key 文件)

输入以下命令生成服务器私钥

openssl genrsa -des3 -out server.pass.key 2048

随后输入一个4位以上的密码,然后再输入一次密码。如图:
图2

命令解释如下:

genra:生成RSA私钥

-des3:使用des3算法

-out :指定生成文件名

2048:私钥长度设置为2048

3.去除私钥中的密码

输入以下命令去除私钥中的密码,输入一次密码回车即可
图3

4.生成证书签名请求(.csr文件)

输入以下命令生成证书签名请求:

openssl req -new -key server.key -out server.csr 

按几次回车即可
图4
参数介绍:

req:生成证书签名请求

-new:新生成

-key:私钥文件

-out:指定生成的CSR文件名

-subj:生成CSR证书的参数

subj参数说明如下:

字段 全称 举例

/C= Country 国家 CN

/ST= State or Province 州/省 Hebei

/L= Location or City 城市 QHD

/O= Organization 组织/企业 ZYF

/OU= Organization Unit 部门 DEV

/CN= Common Name 域名or IP www.yourdomain.com 或者 192.168.x.x

key.pemcert.pem复制到合适目录,在配置nginx即可

4.生成自签名SSL证书(.crt文件)

输入以下命令生成自签名SSL证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

图5

参数介绍:

-days:证书有效期

-req:需要证书

-in:输入csr文件

-signkey:指定 .key 文件

-out:输出crt文件

文件夹总共有4个文件,server.pass.key 、server.key、server.csr、server.crt。

其中配置nginx的话需要server.key和server.crt两个文件。

至此,证书生成完成。

目录下的文件为:
图6

server {
    listen 443 ssl;
    server_name your_domain_or_IP;
 
    ssl_certificate      xxx/server.crt;
    ssl_certificate_key  xxxx/server.key;
 
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
 
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;
 
    location / {
        root   html;
        index  index.html index.htm;
    }
}