服务器SSL证书到期,重新制作SSL证书步骤

分步来看看自建证书的过程
1、自建CA
2、自签名SSL证书两部分:

自建CA:这里的CA其实指的是创建自己的CA根证书,这样可以给其他人签署证书,但是这个CA根证书是你自己创建的,没有得到互联网的承认,也不会被正规CA认可,所以不具备通用和有效性,一般可以在内部网络使用。

自签名SSL证书:自签证书,就是自己给自己签署生成一份CA证书,或者用自建的CA根证书来签发的SSL证书,同样不具备互联网的通用和有效性,一般只用于测试环境或内部网络。

一、自建CA私钥

openssl genrsa -des3 -out selfca.key 2048

这条命令使用 OpenSSL 工具生成一个带有Triple-DES(3DES)加密的密码保护的2048位RSA私钥文件,各个参数的含义如下:

openssl: OpenSSL 工具的命令行执行器。

genrsa: 生成RSA密钥的命令。

-des3: 使用Triple-DES算法对生成的私钥进行加密,这会在生成私钥时要求你设置一个密码,以便在每次使用私钥时都需要提供密码。

-out selfca.key: 指定生成的私钥的输出文件名为 selfca.key,私钥文件将被保存在当前工作目录中。

2048: 指定生成的RSA私钥的位数为2048位,这是一种常见的安全密钥长度。

运行命令后需要输入一个自定义密码两次,以后每次使用这个私钥都要输入密码,但是在很多文章中你会发现他们有一步是要删除密码,原因是在一些自动化部署场景中,去掉私钥密码可以避免手动输入密码,使整个过程更加自动化,比如配置到Apache或者Nginx中时不必每次启动时输入密码,所以我们在后面生成服务器私钥时就不使用密码了。

二、生成CA自签名证书

openssl req -new -x509 -days 3650 -key selfca.key -subj "/C=CN/ST=GD/L=GZ/O=CZSCGJCA/OU=CGJCA/CN=CA" -out selfca.crt

这条命令使用 OpenSSL 工具生成自签名根证书(Root Certificate),各个参数的含义如下:

openssl req: 这是 OpenSSL 工具中用于处理证书签署请求(CSR)的命令。

-new: 表示创建新的 CSR。

-x509: 表示生成自签名的 X.509 证书,而不是生成 CSR。

-days 3650: 设置证书的有效期为 3650 天(10 年)。

-key selfca.key: 指定用于生成证书的私钥文件为 selfca.key。

-subj “/C=CN/ST=BJ/L=BJ/O=MyRootCA/OU=MyCA/CN=CA”: 设置证书主题(Subject)的信息。这里使用了简化的 Distinguished Name
(DN),包括了国家(C=CN)、省/州(ST=BJ)、城市(L=BJ)、组织(O=MyRootCA)、组织单位(OU=MyCA)、通用名称(CN=CA)等信息。

-out selfca.crt: 指定生成的证书文件的输出路径和文件名,这里为 selfca.crt。

我们就生成了一个自签名的CA根证书,如果把它加入到操作系统或浏览器的信任列表中,那么之后由他签发的SSL证书都可以被信任了,接下来我们开始用它来签发SSL证书。

三、自签名SSL证书
这个过程主要包括生成服务器密钥、构建签名请求和用CA签名证书三部分,其中前两步可以合并为一步:

生成服务器私钥和证书申请文件CRS

openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=GD/L=GZ/O=CZSCGJServer/OU=CZSCGJServer/CN=10.10.10.10" -out server.csr

这条命令使用 OpenSSL 工具生成证书签署请求(CSR),各个参数的含义如下:

openssl req: 这是 OpenSSL 工具中用于处理证书签署请求(CSR)的命令。

-newkey rsa:2048: 创建一个新的 RSA 密钥对,其中包括一个 2048 位的 RSA 私钥和相应的公钥。

-nodes: 生成的私钥不使用密码进行加密。这意味着私钥文件 server.key 将不需要密码才能访问。

-keyout server.key: 指定生成的私钥文件的输出路径和文件名,这里为 server.key。

-subj “/C=CN/ST=BJ/L=BJ/O=MyRootServer/OU=MyServer/CN=10.10.10.10"”: 设置证书主题(Subject)的信息。这里使用了简化的 Distinguished Name
(DN),包括了国家(C=CN)、省/州(ST=BJ)、城市(L=BJ)、组织(O=MyRootServer)、组织单位(OU=MyServer)、通用名称(CN=10.10.10.10")等信息。通用名称(CN)通常用于指定服务器的主机名或
IP 地址。

-out server.csr: 指定生成的证书签署请求文件的输出路径和文件名,这里为 server.csr。

四、使用CA根证书签名SSL证书

openssl x509 -req -extfile <(printf "subjectAltName=IP:10.10.10.10"") -days 3650 -in server.csr -CA selfca.crt -CAkey selfca.key -CAcreateserial -out server.crt

这条命令使用 OpenSSL 工具签署证书签署请求(CSR)并生成证书,并且带有SAN信息,各个参数的含义如下:

openssl x509: 这是 OpenSSL 工具中用于处理 X.509 证书的命令。

-req: 表示输入的文件是证书签署请求(CSR)。

-extfile <(printf “subjectAltName=IP:10.10.10.10”[,DNS:<YOUR_DOMAIN>,…]“):
使用扩展文件,该文件包含了额外的证书扩展信息。在这里,subjectAltName 扩展用于指定主体的备用名称(Subject
Alternative Name),这里指定了 IP 地址 10.10.10.10”。你也可以在方括号中添加其他主机名或 IP
地址,用逗号分隔。

-days 3650: 设置生成的证书的有效期为 3650 天(10 年)。

-in server.csr: 指定输入的证书签署请求文件,这里为 server.csr。

-CA selfca.crt: 指定用于签署证书的 CA 证书文件,这里为 selfca.crt。

-CAkey selfca.key: 指定用于签署证书的 CA 私钥文件,这里为 selfca.key。

-CAcreateserial: 创建一个新的序列号文件,该文件用于跟踪 CA 签署的证书的唯一性。

-out server.crt: 指定生成的证书文件的输出路径和文件名,这里为 server.crt。

最终的文件列表
至此CA根证书和自签名SSL证书就生成好了,我们一共收获到了5个文件,作用分别如下:

selfca.key:CA私钥,用于后续签名SSL证书

selfca.crt:CA根证书,用于后续签名SSL证书,需要加入到操作系统或浏览器的信任列表中

server.key:服务器私钥,需要配置到https服务,比如Apache和Nginx配置文件中

server.csr:证书签署请求文件,后续没用了

server.crt:自签名SSL证书,需要配置到https服务,比如Apache和Nginx配置文件中,这就是代表服务器的身份证件

在这里插入图片描述

五、更新系统
查看nginx的配置文件,一般是 xx/nginx/conf下面的nginx.conf看看SSL配置文件在哪儿,把上面制作的server.crt文件和server.key文件更换到对应的目录。
在这里插入图片描述

**

备注:特别感谢:CSDN作者 AlbertS

博客链接:https://blog.csdn.net/albertsh/article/details/134724042
**

  • 38
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Nginx服务器SSL证书更新一般需要使用相应的工具来完成,如Let’s Encrypt或其他类似的SSL认证机构。更新SSL证书需要按照提供的官方文档进行操作,具体步骤如下:1. 使用新的SSL证书签名请求;2. 将新的SSL证书安装到Nginx服务器上;3. 重新启动Nginx服务器以使新的SSL证书生效。 ### 回答2: 当Nginx服务器SSL证书过期或需要更新时,我们需要按照以下步骤进行操作: 1.生成SSL证书请求(CSR):可以使用OpenSSL工具生成CSR文件,包含了服务器信息和公钥。在命令行中运行以下命令生成CSR文件: openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr 2.购买SSL证书:向受信任的证书颁发机构(CA)购买SSL证书,通常需要提供CSR文件和一些其他的身份验证信息。 3.接收和安装SSL证书:收到证书颁发机构的SSL证书文件后,可以将其保存为server.crt文件,并将其与私钥(server.key)文件一起放在指定的目录中。 4.配置Nginx服务器:打开Nginx的配置文件(通常是nginx.conf),找到相关的服务器块,并在其中添加以下指令,以设置SSL证书的路径: ssl_certificate /path/to/server.crt; ssl_certificate_key /path/to/server.key; 5.重新启动Nginx服务器:在完成配置后,重新启动Nginx服务器,以使更改生效。在命令行中运行以下命令: sudo systemctl restart nginx 6.验证SSL证书:可以使用在线工具或命令行工具,如OpenSSL,验证SSL证书是否已正确安装和配置。确保证书链完整,并且证书与私钥匹配。 通过上述步骤,我们可以成功更新Nginx服务器SSL证书,从而保证加密通信的安全性,并获得用户对网站的信任。 ### 回答3: Nginx是一款高性能的Web服务器软件,使用SSL证书可以为网站提供安全的 HTTPS 访问方式。当SSL证书过期或需要更新时,可以按照以下步骤进行操作: 1. 获得新的SSL证书:联系证书颁发机构或者使用自签名证书工具来生成新的SSL证书。确保证书的私钥和公钥都被获得。 2. 备份旧SSL证书:在更新SSL证书之前,一定要备份当前正在使用的SSL证书,以防止发生意外情况。可以将旧证书复制到一个安全的位置,并对其进行适当的命名,以便将来可以轻松找到。 3. 上传新的SSL证书:将新的SSL证书和私钥上传到服务器上。确保证书和私钥的位置与Nginx的配置文件中的路径相匹配。 4. 更新Nginx配置文件:打开Nginx的配置文件(通常在/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf等文件中),找到旧SSL证书的路径,并将其替换为新证书的路径。确保配置文件中所使用的端口和域名与新证书的配置相匹配。 5. 重启Nginx服务器:执行命令以重启Nginx服务器,使其加载新的SSL证书并开始使用新证书提供安全的HTTPS访问。可以使用命令sudo systemctl restart nginx来重启服务器。 6. 检查SSL证书状态:使用浏览器访问网站,并确保正确显示新的SSL证书信息。可以使用在线SSL证书验证工具来验证证书的有效性和安全性。 总结:更新Nginx服务器SSL证书可以通过备份旧证书、上传新证书、更新配置文件和重启服务器步骤完成。在操作之前,确保获得有效的新证书,并检查证书的有效性和安全性,以确保网站的HTTPS访问正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值