什么是ECC?
椭圆加密算法(ECC)是一种公钥加密体制,最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上椭圆离散对数的计算困难性。
与经典的RSA,DSA等公钥密码体制相比,椭圆密码体制有以下优点:
较短的密钥大小,使用较小的Key实现和RSA同等的安全性,更低的CPU消耗,节省带宽。
224 Bit ECC = 2048 Bit RSA
256 Bit ECC = 3072 Bit RSA
384 Bit ECC = 7680 Bit RSA
512 Bit ECC = 15360 Bit RSA
如何配置
步骤还是和RSA证书一样生成用Openssl私钥和公钥
生成私钥
openssl ecparam -out im66.key -name secp384r1 -genkey
其中name后的密钥长度可以自己改默认256,我改成了384。
保护key文件
chmod 400 im66.key
自签名测试
openssl req -new -sha384 -x509 -key im66.key -out im66_test.crt -days 365
因为是自签名信息随便填.
修改 Nginx 配置
vi /usr/local/nginx/conf/nginx.conf
找到ssl_certificate和ssl_certificate_key 替换
其他部分略:
ssl_certificate im66_test.crt.crt;
ssl_certificate_key im66.key;
重新载入配置
nginx -s reload
閱讀全文