使用Let's Encrypt手动创建https证书

Let’s Encrypt是一个开源免费的SSL证书项目,是由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起的,现由Linux基金会托管。

这篇博文分享的是使用letsencrypt成功在Linux Ubuntu上生成ssl证书的操作步骤。

1、安装letsencrypt

git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --help

2、生成私钥

openssl genrsa 4096 > x.cnblogs.com.key

3、生成CSR(Certificate Signing Reqeust)

openssl req -new -sha256 \ -key x.cnblogs.com.key \ -subj "/C=CN/ST=省份/L=城市/O=部门/OU=公司/CN=x.cnblogs.com" \ -reqexts SAN \ -outform der \ -config <(cat /etc/ssl/openssl.cnf \ <(printf "[SAN]\nsubjectAltName=DNS:x.cnblogs.com")) \ -out x.cnblogs.com.csr

4、向letsencrypt服务器发起获取证书的请求

./letsencrypt-auto certonly \ --authenticator manual \ --server https://acme-v01.api.letsencrypt.org/directory --text \ --email x@cnblogs.com \ --csr x.cnblogs.com.csr

在出现”Press ENTER to continue“时,不要动,进行下一步操作。

5、验证证书对应域名的所有权
如果对应的站点已经在运行,可以创建这样的URL:/.well-known/acme-challenge/xxx,以便letsencrypt服务器可以访问这个URL进行验证。
如果没有对应的站点,可以用Python临时运行Web站点进行验证,参考下面的提示:

Make sure your web server displays the following content at before continuing: xxxxxx... If you don't have HTTP server configured, you can run the following command on the target server (as root): mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge cd /tmp/letsencrypt/public_html printf "%s" xxxxxx... > .well-known/acme-challenge/xxx # run only once per server: $(command -v python2 || command -v python2.7 || command -v python2.6) -c \ "import BaseHTTPServer, SimpleHTTPServer; \ s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \ s.serve_forever()"

6、回到第4步的操作窗口按回车键,如果证书成功创建,会出现下面的提示:

- Congratulations! Your certificate and chain have been saved at ...

然后在当前文件夹中就会看到扩展名为.pem的证书文件。

0000_cert.pem

WordPress为所有博客启用HTTPS加密,采用Let’s Encrypt证书

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/c4a35fd03e49e792f53e7ed1fac5c99f.html