生成、签署 ECC SSL 证书教程

前文

HTTPS 设置注定是要付出代价的,第一次加载注定是要比普通 HTTP 慢的,就算我上了 http/2 也是无济于事的。所以这里我就有必要缩短加密位数了,在搜索后,发现,采用 256 bits 的 ECDSA 比 2048 bits 的 RSA 的加密不仅快反而更安全。

所以再我搜索了以后,发现我现在使用的 Comodo PositiveSSL 就支持 ECC 证书的申请,并应用 ECDSA。

介绍

椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开金钥加密的算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。

ECC的主要优势是在某些情况下它比其他的方法使用更小的密钥——比如RSA加密算法——提供相当的或更高等级的安全。ECC的另一个优势是可以定义群之间的双线性映射,基于Weil对或是Tate对;双线性映射已经在密码学中发现了大量的应用,例如基于身份的加密。不过一个缺点是加密和解密操作的实现比其他机制花费的时间长。  ——《椭圆曲线密码学 – 维基百科,自由的百科全书

优缺点

优点: 证书可以更短,解析证书也可以更加快更安全

缺点:较旧的系统和浏览器均不支持

教程

一、生成 key

openssl ecparam -genkey -name secp384r1 -out vobe-io-ecc.key

-name 参数 prime256v1 或者secp384r1。 256bit 其实安全性和速度都足够了,但是 slllabs 的评测中 OCSP 会报错,而 384 bit 不会,所以我这里选择 384。

二、生成 CSR

openssl req -new -sha384 -key vobe-io-ecc.key -out vobe-io-ecc.csr

在这里我们只需要 sha384 即可,太低会不安全,太高反而会变慢,所以这里我选择和私钥同样位数的 384 bits。

这里之后会提问你很多问题,可以搜索一下 csr 的填写教程。

三、傻瓜

一键命令:

openssl ecparam -out 你的域名.ecc.pkey -name secp384r1 -genkey && openssl req -new -key 你的域名.ecc.pkey -sha384 -nodes -out 你的域名.ecc.csr -subj “/C=CN/ST=省份/L=城市/O=组织/OU=组织单位/部门/分支/CN=你的域名”

将中文部分修改补齐即可,默认生成 384 bit 的 key 和 csr 。

在线生成:

https://www.chinassl.net/ssltools/generator-csr.html

四、提交证书,等待 crt 文件

然后向你的 SSL 分销商提供你的 csr 文件信息,就会自动签 ECC 证书下来了。

五、替换旧文件

将你的新 key 和 crt 文件上传覆盖旧的

六、着重说明,重启你的 web 软件

发表评论

Leave a Reply

*

沙发空缺中,还不快抢~