Archive

Posts Tagged ‘OpenSSL’

Nginx配置HTTPS支持CHACHA20_POLY1305

August 16th, 2016 No comments

Nginx打开CHACHA20_POLY1305支持需要替换Nginx的OpenSSL库为BoringSSLLibreSSL

具体实现替换方法请参考

Nginx替换OpenSSLLibreSSL 请参考
https://www.lidaren.com/archives/1702

Nginx替换OpenSSLBoringSSL 请参考
https://www.lidaren.com/archives/1705

修改nginx.conf让nginx支持CHACHA20加密算法即可
这里增加”EECDH+CHACHA20:EECDH+CHACHA20-draft:”

1
2
3
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
#BoringSSL 默认关闭SSLv3
ssl_protocols TLSv1 TLSv1.1TLSv1.2;

Read more…

Nginx替换OpenSSL为BoringSSL

August 16th, 2016 No comments

先科普
BoringSSL 是Google创建的 OpenSSL 分支,但使用BoringSSL的代码不能保证API或ABI的稳定性,所以谷歌会继续向 OpenSSL递交bug修正,继续资助Core Infrastructure Initiative和OpenBSD基金会。
谷歌使用了超过70个OpenSSL补丁,部分被接受合并到了OpenSSL主库,但大部分没有。随着AndroidChrome和其它项目开始需要这些补丁的子集,事情日益变得复杂,要保证所有补丁在不同代码库正常工作需要太多精力。所以他们决定创建OpenSSL分支。

简单总结一下BoringSSL的优缺点
优点:兼容OpenSSL,修正了许多OpenSSL的BUG,OpenSSL改不了的BUG也被BoringSSL改了。
缺点:BoringSSL只为TLS和HTTPS而生,部分OpenSSL开关默认是关闭的,其他用途的话还是建议OpenSSL。

Nginx替换OpenSSL为BoringSSL与替换为LibreSSL方法基本类似,手动编译会比较麻烦
编译之前需要进行代码的补丁修正,这里提供一个已经实现好的编译脚本供参考

github @ajhaydock
https://github.com/ajhaydock/BoringNginx

Read more…

Categories: 系统管理 Tags: , , , ,

Nginx替换OpenSSL为LibreSSL

August 16th, 2016 No comments

先科普
LibreSSLOpenSSL加密软件库的一个分支,为一个安全套接层(SSL)和传输层安全(TLS)协议的开源实现。在OpenSSL爆出心脏出血安全漏洞之后,一些OpenBSD开发者于2014年4月创立了LibreSSL,目标是重构OpenSSL的代码,以提供一个更安全的替代品。LibreSSL复刻自OpenSSL库的1.0.1g分支,它将遵循其他OpenBSD项目所使用的安全指导原则。

简单总结一下LibreSSL的优缺点
优点:兼容OpenSSL,代码简单,分支清晰,便于安装、使用和维护
缺点:不支持旧安全算法,部分加密算法效率不高。

安装编译环境

1
2
#安装编译环境
yum install -y gcc gcc-c++ pcre-devel openssl openssl-devel

创建工作目录,统一使用绝对路径

1
2
3
#创建工作目录,统一使用绝对路径
mkdir /work
cd /work

Read more…

Categories: 系统管理 Tags: , , ,