在RouterOS上使用CACert签发的证书

Chrome很快就不认没有CA的自签证书了,在RouterOS上使用Let’s Encrypt又非常麻烦,以及一些诸如OpenVPN服务器的服务必须使用证书,所以就想了一下用CACert这个社区驱动的证书签发机构来代替自签证书。(打开网站提示证书不被信任是正常的;该网站的证书也是由CACert自己签发的。)

首先我们来创建一个证书模板:

注意这边 subject-alt-name ,别的 key-usage 以及其它选项CACert都因为无法验证而不认,如果你填错了的话,之后导入的时候可能被RouterOS认成两个证书,找不到私钥。你需要修改的只有 common-name 一项,填入你的服务器域名。

然后导出证书私钥和请求:

这边需要记住你的 key-passphrase ,接下来导入证书的时候要用到。 challenge-passphrase 是可选的但是根据实验,不填一个就没法正常导出,所以就随意填好了。

把RouterOS根目录下的 certificate-request.pem 文件导出来,以纯文本方式打开,复制内容粘贴到CACert的新证书页面,确认后获得一个服务器证书。从网页复制这个证书保存成 .crt 扩展名的文本文件(下文用 cert.crt 作为文件名),传到RouterOS根目录。

接下来分别导入CACert根证书,以及证书签名过的公钥和私钥:

如果提示输入passphrase的话呢就输入之前设定的 key-passphrase 。一切正常的话,你的证书前面应该显示 KLT ,如下图所示。

RouterOS WinBox showing certificate imported ("KLT")

最后给各种需要设定证书的地方设定使用刚导入的证书:

最终效果(需要在电脑上导入CACert根证书或者手工信任证书):
RouterOS Webfig with SSL

发表评论