【服务器运维】如何创建并安装自签名证书

579次阅读
没有评论

共计 1296 个字符,预计需要 4 分钟阅读。

创建证书

确认OpenSSL版本

本次选用OpenSSL库作为自签名证书的工具库,首先先确认一下OpenSSL版本,理论上1.0.x版本均适用,以上版本不一定可用。键入如下命令:

openssl version
【服务器运维】如何创建并安装自签名证书
运行结果

创建根证书

键入如下命令

openssl req -x509 -sha256 -days 3650 \
-newkey rsa:4096 \
-keyout /wwwroot/ssl/root_ca.key  -out /wwwroot/ssl/root_ca.crt \
-subj "/C=CN/O=Lvshujun Root/OU=Lvshujun Root CA/CN=Lvshujun Root CA for test" \
-nodes

参数解释

第一行中的days参数后跟的是证书有效期(以日计),可自行更改。注意有效期不能过长,否则证书将无效。

第二行表示证书使用RSA编码,为4096位。

第三行分别用keyoutout参数代表了私钥和公钥的储存位置,可自行更改。

第四行则是名称说明,/C是国家(地区),/O是组织名称,/OU是组织单位名称,/CN则是通用名称。至少需要/C/CN两个参数。注意此处任何名称不要使用中文

第五行的nodes参数表示无需密码,当然你也可以删除此参数自行设定密码。

运行结果

【服务器运维】如何创建并安装自签名证书
出现红框内文字即为成功

cd到该目录,ls -l列出检查一下。

【服务器运维】如何创建并安装自签名证书
目标文件

用根证书颁发证书

签发CSR

用如下命令先签发csr,参数释义同上。

openssl req -newkey rsa:2048 -nodes -keyout /wwwroot/ssl/test.key -out /wwwroot/ssl/test.csr  -subj "/C=CN/CN=Lvshujun Cert for test"
【服务器运维】如何创建并安装自签名证书
运行结果

签发证书

键入如下命令,注意subjectAltName中内容可以自行更改。

openssl x509 -req -days 3650 -sha256 -extfile <(printf "subjectAltName=DNS:example.com,DNS:*.example.com,IP:127.0.0.1") -CA /wwwroot/ssl/root_ca.crt -CAkey /wwwroot/ssl/root_ca.key -CAcreateserial -in /wwwroot/ssl/test.csr -out /wwwroot/ssl/test.crt
【服务器运维】如何创建并安装自签名证书
运行结果

安装证书

服务器端

证书文件在/wwwroot/ssl/test.crt,秘钥在/wwwroot/ssl/test.key,自行安装即可。注意该证书不要用于生产环境,是自签名证书,一般不受信任。

客户端

在使用时,经常看到不安全字样很难受,那么如何让客户端信任该自签名证书呢?

【服务器运维】如何创建并安装自签名证书
不安全字样

下载根证书

定位到/wwwroot/ssl,下载其中的公钥root_ca.crt

【服务器运维】如何创建并安装自签名证书
下载文件如图

信任根证书

下载完成后,双击证书,点击安装证书按钮。

【服务器运维】如何创建并安装自签名证书
如图

然后选择安装到用户或计算机,点击下一页

【服务器运维】如何创建并安装自签名证书
如图

接着选择安装位置,注意不要选择自动选择位置,手动浏览到受信任的根证书颁发机构,点击下一页结束安装。

【服务器运维】如何创建并安装自签名证书
如图

最后,重启浏览器,即可看到效果。

【服务器运维】如何创建并安装自签名证书

正文完
 
再看一点
lvshujun
版权声明:本站原创文章,由 lvshujun 于2023-07-24发表,共计1296字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请联系站长并注明出处。
评论(没有评论)