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

创建证书

确认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

下载文件如图

信任根证书

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

如图

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

如图

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

如图

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

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇