紫气东来 | 2024-09-30 09:34:12 | 编程 | 3
宝塔安装双证书
昨天我给自己的网站安装了ECC+RSA双证书。之前以为很难,没想到试了一下直接就可以了。
分享一下过程虽然并不复杂,是我开始想复杂了。
先说一下ssl,ssl证书呢就是给浏览器发送和接受数据设置了一种密文,就像谍战,不能直接写内容,全部用代号表示,自己人拿到内容以后对照密码本再解密。如果不使用ssl发送和接受数据类似于直接写内容,被坏人截胡就直接知道了,如果传输的有账号密码银行卡之类就不好了。用了ssl,别人截胡看到的也只是一堆代号。
再说ECC和RSA,这是目前ssl的两种加密方式,区别呢就是RSA用的比较久了,大部分浏览器都支持,缺点呢目前大部分用的2048位加密,加密难度想要提升,只能继续提升位数,但是随着位数提升,对内存处理器等等的消耗也会不断提升。ECC呢晚一些,但是加密的内容破解难度远高于RSA,据说ECC用256位加密破解难度差不多有RSA3072位那么高,缺点也就是一些老的浏览器可能不支持。概括一下就是RSA兼容性好,消耗大。ECC消耗小,破解难度大,但是一些老浏览器不支持。
于是就有了ECC+RSA双证书,服务器设置两个证书,如果浏览器支持ECC就发送ECC的证书,如果不支持就发送RSA的证书。
然后就是申请和安装ssl了。我知道阿里云和腾讯云都有免费的ssl证书,3个月的,可以直接申请,以前是一年的,现在改了,而且一个用户一年最多好像只能申请30个还是50个,不过足够了。
我申请的腾讯云的SSL证书,申请的时候可以选择ECC和RSA,直接申请就行,基本上用不了10分钟左右就可以了。
然后就是安装,我用的linux宝塔。
在网站设置的ssl那里,直接把第一份密钥和证书复制过去保存就行,第一份的好设置。
密钥就是key的那个文件,证书呢是crt文件,有的是域名证书和根证书合在一个文件的,有的没在一起,没在一起的需要自己手动合并,域名证书在前根证书在后。可以用es文件浏览器以文本打开,也可以用windows的记事本打开。可以直接看到内容,然后复制文本。证书文件可以看出来,每一个证书都是以——一些文字——做分割线包围着的,所以看证书里面是几个证书,如果是一个需要合并,两个就直接复制。
关键是第二份证书,如果直接在ssl那里修改,第二份会覆盖第一份。我也查了不少资料,发现直接再保存一份证书和密钥然后在配置里面再加上两行代码就行。
先是在配置修改里面找到ssl证书保存的位置,然后打开文件夹,把原来的两个证书文件,一个是密钥,一个是证书,原地复制,提示已存在就重命名建立副本。这就变成了4个证书文件。
然后在配置里面找到储存ssl证书位置的那两行,直接复制粘贴到原来的下面。把文件名修改为重命名后的文件。
现在在ssl那里把第二份的密钥和证书保存,就可以了。因为当你保存的时候它会自动修改证书文件的内容,当然只修改原来的那一份,这样两份证书就同时存在了。
建议第一次保存RSA的证书,第二次保存ECC的,这样按照我的步骤正好是ECC证书在前,优先使用ECC的,不支持再使用RSA的。毕竟ECC性价比更高。