1. 李楠的主页首页
  2. Hexo 迁移

如何启用 Certificate Transparency

本文中用到的证书提交工具 ct-submit 需要用 go 编译,请先确认已经和配置好 go 语言环境。还没有安装的可以移步Centos 配置go语言环境这篇文章,参考安装!

第一步

下载 nginx-ct 的源代码:

1
2
wget -O nginx-ct.zip https://github.com/grahamedgecombe/nginx-ct/archive/master.zip
unzip nginx-ct.zip

nginx-ct 需要与 OpenSSL 1.0.2 及以上版本支持

第二步

下载新版本的 Nginx 源码

1
2
wget -c https://nginx.org/download/nginx-1.13.4.tar.gz
tar -xzvf nginx-1.13.4.tar.gz

第三步

编译 Nginx

1
2
3
4
5
cd nginx-1.13.4/
#加上编译参数
./configure 粘贴你先前的参数 --with-openssl=../openssl --add-module=../nginx-ct
## 然后编译
make

第四步

平滑升级 Nginx 请移步 如何热升级 Nginx

第五步

创建 STC 文件夹

1
mkdir /usr/local/nginx/conf/ssl/scts

第六步

下载证书提交工具

1
2
3
4
5
wget -O ct-submit.zip https://github.com/grahamedgecombe/ct-submit/archive/master.zip
unzip ct-submit.zip
cd ct-submit-master/
## 请确保已经安装 go 语言
go build

第七步

将证书提交到 Certificate Transparency Log 服务器,假设你的 SSL 证书在 /usr/local/nginx/conf/ssl/scts/server.crt

1
2
3
4
5
./ct-submit-master ct.googleapis.com/pilot </usr/local/nginx/conf/ssl/server.crt >/usr/local/nginx/conf/ssl/scts/pilot.sct
./ct-submit-master ct.googleapis.com/rocketeer </usr/local/nginx/conf/ssl/server.crt >/usr/local/nginx/conf/ssl/scts/rocketeer.sct
./ct-submit-master ct.googleapis.com/skydiver </usr/local/nginx/conf/ssl/server.crt >/usr/local/nginx/conf/ssl/scts/skydiver.sct
./ct-submit-master ct1.digicert-ct.com/log </usr/local/nginx/conf/ssl/server.crt >/usr/local/nginx/conf/ssl/scts/digicert.sct
./ct-submit-master ct2.digicert-ct.com/log </usr/local/nginx/conf/ssl/server.crt >/usr/local/nginx/conf/ssl/scts/digicert2.sct

以上代码分别向 Google 和 Digicert 的服务器提交了证书,更多可用的服务器可以点击Certificate Transparency Log 服务器获取。

server.crt 是我的域名证书包含中间证书。

第八步

修改 nginx 配置并添加

1
2
ssl_ct on;
ssl_ct_static_scts /usr/local/nginx/conf/ssl/scts;

本文作者:Drixn

本文链接:https://www.drixn.com/75.html

版权申明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

发表评论

电子邮件地址不会被公开。 必填项已用*标注