Let's Encrypt是免费的https证书,它由 ISRG(Internet Security Research Group,互联网安全研究小组)提供, 得到了 Mozilla、Cisco、Chrome、HP、facebook 等公司支持,并且是linuxfoundation的项目。
2016-11-24 16:52:34
Let's Encrypt证书免费,申请非常简单,虽然每次只有90天的有效期。
官方网站:https://letsencrypt.org/
ISRG介绍:https://letsencrypt.org/isrg/
使用开源工具acme-tiny,可以快速生成证书。
acme-tiny官方网站:https://github.com/diafygi/acme-tiny
生成证书的方法:
1,
创建一个目录,名字任意,比如ca,进入目录。
openssl genrsa 4096 > account.key
创建一个RSA私钥用于Let's Encrypt来识别你
2,
openssl genrsa 4096 > domain.key
创建RSA私钥
3,
#secp256r1
openssl ecparam -genkey -name secp256r1 | openssl ec -out domain.key
#secp384r1
openssl ecparam -genkey -name secp384r1 | openssl ec -out domain.key
创建ECC私钥
4,
openssl req -new -sha256 -key domain.key -out domain.csr
创建CSR文件, Common Name必须为你的域名
5,
验证你的网站,Let's Encrypt需要在你的网站创建一个随机文件,如果可以访问的话,就确定你有网站的所有权
Let's Encrypt创建的随机文件后,会通过 “http://site.com/.well-known/acme-challenge/随机文件” 的形式来验证
先在你的网站目录里,建立.well-known/acme-challenge/目录,
然后下载https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
运行命令
python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /网站目录/well-known/acme-challenge/ > ./signed.crt
signed.crt就是申请好的证书
6,
wget -O - https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem > intermediate.pem
下载中间证书
cat signed.crt intermediate.pem > ca.pem
把你的证书和中间证书混在一起
7,
修改apache配置文件
SSLCertificateFile /证书目录/ca.pem
SSLCertificateKeyFile /证书目录/domain.key