前言
我们在开发 https 服务时,需要引入相应的 SSL 证书。
今天,我就自己在 Mac 上制作 SSL 证书的过程做个记录。
环境
MacOS 10.15.7
工具
openssl
步骤
第一步:终端执行命令。
代码语言:shell复制//生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。
openssl genrsa -des3 -out ssl.key 1024
第二步:输入密码。这里会输入两次,填写一样即可,随意填写一个,下一步就会删除这个密码。
通过上面这一步,就会在当前文件夹下生成一个 ssl.key
文件。
第三步:删除密码。
代码语言:shell复制//终端执行删除密码命令
//这里目录和生成私钥的目录一致
openssl rsa -in ssl.key -out ssl.key
第四步:生成 CSR(证书签名请求)。我们根据根据刚刚生成的 key 文件来生成证书请求文件,终端执行如下命令:
代码语言:shell复制openssl req -new -key ssl.key -out ssl.csr
执行以上命令后,需要依次输入国家、地区、城市、组织、组织单位、Common Name、Email 和密码。其中 Common Name 应该与域名保持一致。密码我们已经删掉了,直接回车即可。
温馨提示:Common Name 就是证书对应的域名地址,我们开发微信小程序时必须要让我们的外链的 https 的域名和证书统一才行。
第五步:生成自签名证书。根据以上 2 个文件生成 crt 证书文件,终端执行下面命令:
代码语言:shell复制//这里3650是证书有效期(单位:天)。这个大家随意。最后使用到的文件是key和crt文件。
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt
到这里我们的证书(ssl.key
和 ssl.crt
) 就已经创建成功了可以直接用到 https 的 server 中了。
使用证书
在代码中使用证书:
代码语言:javascript复制https
.createServer(
{
key: fs.readFileSync("./cert_key/ssl.key"),
cert: fs.readFileSync("./cert_key/ssl.crt")
},
app
)
.listen(1993);
总结
以上就是在 MacOS 上制作
~
~ 本文完,感谢阅读!
~
学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!
大家好,我是〖编程三昧〗的作者 隐逸王,我的公众号是『编程三昧』,希望大家多多指教!
你来,怀揣期望,我有墨香相迎! 你归,无论得失,唯以余韵相赠!
知识与技能并重,内力和外功兼修,理论和实践两手都要抓、两手都要硬!