openssl生成ssl证书

参考:https://www.ihuyi.com/pd/ssl/opensslshengchengsslzhengshu.html
SSL证书是网站安全的基石,为了保证网站数据传输的安全性,需要使用SSL证书。而在实际项目中,通常选用 openssl 命令来生成 SSL 证书。通过 openssl 生成 SSL 证书可以提高网站的安全性和用户的信任度。在下面的内容中,我们将对 openssl 证书的生成流程进行一一介绍。
以下生成ssl证书使用的操作系统为CentOS操作系统7.9

  1. 生成私钥
    在使用openssl生成ssl证书之前,我们需要先生成私钥,可以使用如下命令生成私钥
openssl genrsa -out key.pem 2048

image
在这个命令中,我们使用了 genrsa 子命令,并且设置了输出文件的名称,以及私钥的长度为 2048。运行此命令会在当前文件夹中生成一个 key.pem 文件,这个文件就是我们所需要的私钥文件。

注意: 生成的私钥长度如果设置的过小例如1024则在配置某些应用时会提示密钥太短类似于"ee key too small "修改长度重新生成即可

  1. 生成证书请求
    有了私钥之后,我们就可以生成证书请求了。在使用 openssl 生成证书请求时,可以按照以下命令行来执行:
openssl req -new -key key.pem -out csr.pem

在这个命令中,我们使用 req 子命令,并且按照要求设置了私钥和输出文件名。在生成证书请求时,需要输入一些信息,比如你的城市,国家等信息,请根据需求填写相应的信息。
image

注意: 国家城市信息可以随意填写不影响使用

  1. 签名证书请求
    生成证书请求后,我们需要将证书请求发送给证书颁发机构进行签名。为了在服务器上轻松地创建自签名的 SSL 证书,我们可以使用类似如下的命令或使用 CA 来签署证书请求:
openssl x509 -req -in csr.pem -out cert.pem -signkey key.pem -days 365

在这个命令中,我们使用了 x509 命令,并且指定了证书请求文件名和输出文件名。我们还使用了 -signkey 选项来指定要使用的私钥文件,以便签署证书。最后需要指定 -days 选项均是附带了,控制证书的有效期。
这些选项组合将使用我们之前生成的私钥来签署证书请求,并将其输出到我们指定的文件 cert.pem 中。
5. 配置服务器
在拥有 SSL 证书之后,我们需要将其配置到服务器当中。不同的 Web 服务器和操作系统可能需要不同的配置方式。在这里以 Nginx 服务器作为例子,以简单介绍如何启用 HTTPS。

首先,请将服务器的私钥和证书文件(key.pem 和 cert.pem)上传到服务器上。

然后,请在 Nginx 的配置文件中添加以下内容:


server {

listen 443;

server_name your-domain.com;

ssl on;

ssl_certificate /path/to/cert.pem;

ssl_certificate_key /path/to/key.pem;

# other server configurations…

}

其中,在 ssl_certificate 中指定证书文件的路径(cert.pem),在 ssl_certificate_key 中指定私钥文件的路径(key.pem)。之后重启 Nginx 服务器即可启用 HTTPS。
在实际项目中,使用 openssl 工具来生成 SSL 证书是最为常见的一个方法。通过以上的介绍,大家可以了解到 openssl 证书的生成步骤,并能够轻松地将证书配置到自己的 Web 服务器上,确保网站的数据传输安全,提升用户的信任度。

配置好Nginx后即可使用https://ip 进行访问了
image

注意: 因为是自建证书,浏览器会提示不安全,测试使用不用理会

posted @ 2023-10-09 16:43  minseo  阅读(416)  评论(0编辑  收藏  举报