使用mkcert免费给群晖创建十年期自签ssl证书
nas玩家一般都有外网访问的需求,而外网访问需求则需要加密手段来保护安全。大多数nas都提供给基于https的加密就是一个非常好用的加密手段。
但https要确保安全的话就需要申请一个ssl证书,ssl证书签发机构通过自己的信誉担保用户访问的服务器是真正的服务器,没有被中间人监听篡改的服务器。因此ca机构签发证书是需要收取费用的,虽然ca机构免费签发ssl证书。但是多少有点限制,比如证书有效时间很短需要经常续签等等。
那为何不能自己给自己签发一个ssl证书了,只要保证自己的根证书私钥不泄露就没有人可以伪造ssl证书。反正nas也不是对公服务的,现在的设备又可安装自定义根证书。
mkcert安装和配置根证书
首先到github下载mkcert工具,下面我以windows平台作为演示
在cmd中cd到mkcert所在的目录运行下面的命令
mkcert.exe -install
这条命令会创建一组根证书和私钥,根证书会被安装到系统中。输入下面的命令就可以查看到ca证书存放的位置。其中“rootCA.pem“就是根证书,有些系统比如windows可能不会认rootCA.pem可以把他改成rootCA.crt。将他发送给需要安装的自定义证书的设备,安装好之后自签名证书就不会显示不安全了。另外rootCA-key.pem是根证书的私钥文件,不可公开需要妥善保管。
mkcert.exe -CAROOT
签发证书
mkcert签发证书非常的简单,用下列的命令就可以给“192.168.100.100”签发一个ssl证书
mkcert.exe 192.168.100.100
当然也可以给域名签发一个ssl证书,比如给*.home.com这个泛解析域名签发ssl证书
mkcert.exe *.home.com
也可以给多个域名多个ip签发ssl证书,比如我给*.home.com, *.nas.com, *.Router.com, 192.168.100.100, 10.10.100.100。等三个域名,2个ip签发在同一张ssl证书中。
mkcert.exe *.home.com *.router.com *.nas.com 192.168.100.100 10.10.100.100
给群晖签发证书
如果上面这种方法给群晖添加自定义证书,群晖虽然可以添加但是没办法使用。得使用群晖自己生成csr文件和私钥,然后用csr文件给mkcert签发的ssl证书才能使用。具体操作可以看下图。



把证书下载好后,将server.csr复制到mkcert所在的目录执行下面的命令,就可以根据csr文件签发出ssl证书。
mkcert.exe -csr server.csr
将生成的证书和刚才下载里面的server.key(私钥)一起倒入到群晖中,并设置配置好证书的使用就可以了。


设备安装根证书
1.windows
直接打开rootCA.crt,并将证书安装到受信任的根证书
2.安卓
直接在文件管理器安装rootCA.crt
3.macos
直接在文件管理器安装rootCA.crt,然后打开钥匙串-系统找到mkcert开头的证书,双击打开。设置为下图的模式就可以了。

4.ios
ios安装根证书就相对比较复杂
我的解决办法就是将ca根证书传到群晖或者unraid上,用它们充当简单的http下载服务器。在ios自带的safari登陆群晖在file station上选中证书,长按打开菜单选择下载就可以安装描述文件。对于unraid就更简单了,打开存储证书的磁盘,找到证书存储的位置直接击就可以下载安装描述文件。
ios要先安装ca证书,然后在“设置”——“通用”——“描述文件和设备管理”——验证刚才安装的ca证书。然后在“通用”——“关于本机”——“证书信任设置”信任刚才的ca证书
mkcert签发自签名证书的教程就已经结束了,rootCA.crt可以保存在一些容易获取到的地方,比如网盘上,这样去到新的地方就可以安装根证书确保访问安全了。而且根证书本身就是公开的,不需担心安全性问题,确保不被篡改就行了。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

灵KOYB
校验提示文案
别笑我疯颠
校验提示文案
值友4920662745
校验提示文案
AI购物管家-电脑数码
校验提示文案
龙飞1
校验提示文案
flowover
校验提示文案
值友3160832692
校验提示文案
值友3160832692
校验提示文案
flowover
校验提示文案
值友4920662745
校验提示文案
龙飞1
校验提示文案
别笑我疯颠
校验提示文案
灵KOYB
校验提示文案
AI购物管家-电脑数码
校验提示文案