前言
2017年绝对是移动互联网的加密元年,越来越多的移动互联网网站、应用会部署 HTTPS 加密,不过移动平台因为普遍基于 ARM 架构所以对处理 HTTPS 的性能和速度都不如电脑平台。
因此我们就需要部署更短、更快和更安全的 ECC 证书来实现移动平台的 HTTPS 的加密解密高效化。
介绍
椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开密钥加密的算法,基于椭圆曲线数学,其更适合于移动互联网,有更好的安全性和更好的性能。ECC加密算法 1985年 提出,到 2005 年才在各种操作系统中获得广泛支持,2015 年开始被普遍性的部署。
缺陷:
就像上面所说的一样,2005 年才被各大操作系统广泛支持,所以 2005 之前包括之后几年发布的操作系统都不会对其有很好的支持。
因此会需要使用本文介绍的双证书来解决。
签发
目前主流的 CA 都已经支持了 ECC 证书的签发,但是几个老牌大厂支持 ECC 的证书动辄就是几千元,那还玩个蛋。
目前廉价或免费的 ECC 证书解决方案:
openssl ecparam -genkey -name secp256r1 -out mf8.biz-ecc.key
openssl req -new -sha256 -key vobe-io-ecc.key -out vobe-io-ecc.csr
openssl ecparam -out 你的域名.ecc.pkey -name secp256r1 -genkey && openssl req -new -key 你的域名.ecc.pkey -sha256 -nodes -out 你的域名.ecc.csr -subj “/C=CN/ST=省份/L=城市/O=组织/OU=组织单位/部门/分支/CN=你的域名”
acme.sh --issue -w /data/wwwroot/www.mf8.biz -d mf8.biz -d www.mf8.biz --keylength ec-256
#ECC 在前
SSLCertificateFile "/usr/local/httpd/conf/ssl/www.mf8.biz.ecc.crt"
SSLCertificateKeyFile "/usr/local/httpd/conf/ssl/www.mf8.biz.ecc.key"
#RSA 在后
SSLCertificateFile "/usr/local/httpd/conf/ssl/www.mf8.biz.crt"
SSLCertificateKeyFile "/usr/local/httpd/conf/ssl/www.mf8.biz.key"
#ECC 在前
SSLCertificateFile "/usr/local/httpd/conf/ssl/www.mf8.biz.ecc.crt"
SSLCertificateKeyFile "/usr/local/httpd/conf/ssl/www.mf8.biz.ecc.key"
#RSA 在后
SSLCertificateFile "/usr/local/httpd/conf/ssl/www.mf8.biz.crt"
SSLCertificateKeyFile "/usr/local/httpd/conf/ssl/www.mf8.biz.key"
#合并的证书链
SSLcertificateChainFile "/usr/local/httpd/conf/ssl/ca.crt"
SSLCipherSuite: EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。