OpenSSL一般默认都有安装,所以直接使用即可,如果服务器没有该命令同样自行百度安装。

生成HTTPS证书需要以下步骤:

  • 生成私钥(key)

在合适的文件夹下输入该命令,使用 openssl 命令生成私钥它将生成名为 private.key 的RSA密钥文件,至少使用2048位的密钥长度,例如:

1
openssl genrsa -out private.key 2048

这将生成一个2048位的RSA私钥,并将其保存到 private.key 文件中。

  • 生成证书签名请求(CSR)

使用 openssl 命令生成证书签名请求,例如:

1
2
3
4
5
6
7
8
9
10
11
openssl req -new -key private.key -out server.csr

CountryName: CN
ProvinceName: Guangdong
Locality Name: Guangzhou
Organization Name: ABC
Organizational Unti Name: ABC
Common Name: 填自己的域名或者服务器ip地址
Email Adress: 123@163.com
A Challenge password: 因为是可选的所以直接回车即可
An optional company name: 同样是可选的所以直接回车即可

这将使用 private.key 文件中的私钥生成一个证书签名请求,并将其保存到 server.csr 文件中。在此过程中,您需要提供一些证书信息,如国家、省份、城市、组织名称、通用名称等。

  • 自签名证书

使用 openssl 命令自签名证书,例如:

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

这将使用 server.csr 文件中的 CSR 和 private.key 文件中的私钥生成一个自签名证书,并将其保存到 server.crt 文件中。
在此过程中,您需要指定证书的有效期(以天为单位),这里我指定有效时间为 3650 天,也就是 10 年。

请注意,自签名证书只适用于测试和开发环境,不应在生产环境中使用。在生产环境中,您应该从受信任的证书颁发机构(CA)购买证书。