平常都是通过云直接连接服务器上去更换的ssl证书文件,记录一次有sudo权限的子用户操作更换证书的记录

前置条件:ssl证书压缩包+公钥文件

压缩包内包含x_RSA.csrx_RSA.key,公钥为x.crt

.csr文件:证书请求文件,里面包含公钥和其他信息,通过签名后就可以生成证书;用于向证书颁发机构申请crt证书时使用,服务器配置时不会用到

.crt文件:CA认证后的证书文件,包含公钥,签名和其他需要认证的信息,比如主机名称(IP)等。

.key文件:密钥文件,一般是SSL中的私钥,通常是rsa算法。

服务器信息

IP地址,端口号,账号,密钥文件。

使用工具:PHPSTORM-》工具-》SSH、winscp

ssh进行服务器操作

winscp文件操作

openssl

操作记录

如果key文件的头信息 是RSA密钥,需要将其转为密钥即pkcs#1转化为pkcs#8

nginx证书反编译 nginx证书替换_nginx

openssl pkcs8 -topk8 -inform PEM -in 你的密钥文件.key -outform PEM -out 文件名.pem -nocrypt

//确认你的密钥公钥是否匹配

openssl rsa -pubout -in 你的密钥文件.key //解析密钥文件中的公钥

openssl x509 -pubkey -noout -in 你的公钥文件.crt //解析公钥文件中的公钥

//解析出来的公钥相同即为匹配成功

.crt文件可以直接修改后缀名为.pem这样就得到了两个.pem文件,等待上传服务器了。

服务器操作

由于我的账号不是root,是有sudo权限的子用户,某些操作之前都需要携带sudo,将就着看吧。

注:子用户前边是$ 类似这样

nginx证书反编译 nginx证书替换_ssl_02

 

//返回主目录->进入nginx配置文件目录->查看你的nginx的ssl配置路径->进入存放证书的路径
cd 你的证书路径
//子用户没有访问权限?
ls -al //查看权限
sudo chmod -R 777 证书路径 //给证书路径权限修改一下等会儿改回来
//操作过程中发现证书路径的权限是l打头的一个软连接,cd到软连接设置的路径上传证书文件
/**
* WINSCP 上传文件
*/

sudo ln -nsf winscp上传的文件名.pem  软连接原名(nginx配置的文件名).pem  //更新软连接
ls -lrt //瞅一眼软连接更新成功了么
//cd 到nginx安装目录
ps -ax | grep nginx  //查看当前运行的进程
sudo nginx -s reload //重启服务器

//离开前把目录权限恢复一下
sudo chmod -R 700 证书路径

确认证书是否更新

访问网站

nginx证书反编译 nginx证书替换_php_03

点击锁头-》安全连接-》更多信息-》

nginx证书反编译 nginx证书替换_ssl_04

点击查看证书就能看到证书信息了。

nginx证书反编译 nginx证书替换_ssl_05