闲着写点简单的分享

用ECC算法签发证书请求文件CSR

很多人问我的https的证书为什么是ECC,快教他怎么配置,所以就有了这篇如何使用ECC算法签发证书请求文件(CSR)

其实,一般的SSL证书都是RSA算法生成的,这种算法要至少2048位的密钥才能够保证安全性,超长的密钥拖累了本就性能不高的小VPS。但是,现在已经有另外一种逐渐发展的SSL证书加密算法可以很好的解决这个问题,那就是ECC(椭圆曲线)算法,这种算法能够提供比其他算法(如RSA DSA)更快但是相当的安全性能

那么ECC的优势有哪些?

  • 256位的ECC密钥加密强度等同于3072位RSA密钥的水平(目前普通使用的RSA密钥长度是2048位)
  • 经国外有关权威机构测试,在Apache和IIS服务器采用ECC算法,Web服务器响应时间比RSA快十几倍

好了,牛逼吹完了,上面都是谷歌搜到的陈述,我整理了一下,让大家更好地阅读上面的描述简单地理解ECC。


目前支持ECC算法的SSL厂商不多,价格亲民的就有COMODO家,他家的“Comodo Positive SSL”也是支持ECC的,效果如下图,目前本小站linpx.com也是在用这个的。

45646478.png

如何获得ECC的证书?

必须用使用了ECC算法签发证书请求文件(CSR),才能申请ECC的证书。

生成证书私钥和请求文件

在这里我们选择使用 secp384r1 的密钥,这样能在缩短密钥长度的同时保证足够的安全性。

一键生成Key和CSR代码:

openssl ecparam -out www.linpx.com.pkey -name secp384r1 -genkey && openssl req -new -key www.linpx.com.pkey -nodes -out www.linpx.com.csr -subj "/C=CN/ST=Shanghai/L=Shanghai/O=Linpx Inc/OU=IT Dept/CN=www.linpx.com"

其中,www.linpx.com.pkey,www.linpx.com.csr换成你自己的,别忘了,pkey是有两处的

其中,/C=CN/ST=Shanghai/L=Shanghai/O=Linpx Inc/OU=IT Dept/CN=www.linpx.com"换成你自己的,尤其最后处的域名。这段理解为国家、省份、地方市、公司、部门、域名。

然后使用vi/vim/nano或者其他工具箱查看CSR文件,大概是这样的:

-----BEGIN CERTIFICATE REQUEST-----
MIIBbzCB9QIBADB2MQswCQYDVQQGEwJDTjERMA8GA1UECAwIU2hhbmdoYWkxETAP
BgNVBAcMCFNoYW5naGFpMRIwEAYDVQQKDAlMaW5weCBJbmMxFTATBgNVBAsMDE5l
dHdvcmsgRGVwdDEWMB**********************************************
****************************************************************
****************************************************************
****************************************************************
****************************************************************
-----END CERTIFICATE REQUEST-----

复制上面的内容,然后到支持的ECC算法证书的SSL供应商,进行签发。

仅有 1 条评论
  1. 穹庐

    貌似支持ecc的浏览器不是很广泛

    穹庐 回复
发表新评论