/readthedocs https://letsencrypt.readthedocs.org/en/latest/intro.html
1. Letsencrypt
https://letsencrypt.readthedocs.org/en/latest/using.html
https://letsencrypt.org/howitworks/technology/
Contents
Yoshikawa Ryota ( @rrreeeyyy ) Let's Encrypt & ACME Overview https://speakerd.s3.amazonaws.com/presentations/419586ab00b140bfa40a81a4ccd71f4b/hbstyle-2015-1112.pdf
警告:
- pythonエキスパートでないなら、うまく行かないことに当たったら、正式公開まで待つことを進める。
/go を試すのもいいかも。
1.1. 現状
このドメインに対する証明書を取り出すことができた。他の機能はまだ試していない。
この段階までに必要な作業などをまとめてみる。
-- ToshinoriMaeno 2015-11-22 00:37:55
1.2. 必要な環境
OpenSSL(LibreSSS) と python2 (2.7.10で試した): /letsencrypt-auto を動かすため。
- setuptools, cryptography, pyopenssl, pip, ...
- 特定のバージョンが必要なこともある。
- virtualenv
これらの環境がある程度動作することを確認してから始めるのがよい。
これらを揃えるのが面倒であれば、Anaconda2 を動かすのでもよいが、virtualenv は使えないとおもった方がよい。
証明書がほしい目的のドメインではhttpサーバ(port 80)を動かしておく。
1.3. OpenSSL が取り込めない
現状 -- ToshinoriMaeno 2015-11-19 13:55:01
- python 環境が(悪)影響していることまでは判明したので、Anacondaの下で試してみる。
- Anaconda2 では virtualenv がおかしいので、 Anaconda3 で試したが同様だった。
- そして、pip で取り込んだpython script が python2 用だとわかったので、 Anaconda2 に戻す。
1.4. virtualenv
letsencrypt-auto を読んで、個別に実行する。(なんのことはない。 仮想環境で pip install すればよいのだから)
letsencrypt が binに入ったことまで確認して、今日は終わりにする。 /command_help
-- ToshinoriMaeno 2015-11-19 21:51:19
/証明書 を取り込む。 (誤解だった。)
- メイルアドレスだけの確認だ。こんなのでいいのかな。(他も似たようなものらしいが)
ただ、3ヶ月ごとに面倒な手続きをするのでは手間がかかりすぎだ。 もう少し調べてからにしよう。 -- ToshinoriMaeno 2015-11-20 03:33:33
1.5. 背景
招待状 betaprogram にはこうあった。 (実行用のletsencryt scriptをbootstrapするための手順だった)
When running the Python client (installation directions [1]), be sure to specify the --server argument as shown below: git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt ./letsencrypt-auto --server https://acme-v01.api.letsencrypt.org/directory --help
1.6. python
python import エラーがでる。
python 2.7 を入れ直しです。 pyOpenSSL も入れ直しましたが、import エラーは解消しない。
ImportError: /usr/local/lib/python2.7/site-packages/cryptography-1.1-py2.7-linux-i686.egg/cryptography/hazmat/bindings/_openssl.so: undefined symbol: EC_curve_nid2nist
1.7. InsecurePlatformWarning
https://community.letsencrypt.org/t/insecureplatformwarning-on-ubuntu-14-04-w-python-2-7-6/2871
- UbuntuではOpenSSL関連でモジュールが不足しているという警告がでた。
LibreSSLはまだサポートされていないのかもしれない。 LibreSSL 2.2.4 が最新版なので、それを試すことに。
- libressl を入れ直しただけでは、解消せず。
ImportError: /home/tmaeno/.local/share/letsencrypt/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: undefined symbol: EC_curve_nid2nist
uninstallしていたら、unbound(DNSリゾルバー)が動かなくなっていた。
- /usr/sbin/unboundが消えていたり、unbound userが削除されていたりと、不思議な現象が起きていた。
-- ToshinoriMaeno 2015-11-17 09:03:23
1.8. 参考
If you're on ubuntu, you may run into trouble installing pyopenssl, you'll need these dependencies:
$ apt-get install libffi-dev libssl-dev
これでも解消しない。
1.9. cryptography
バージョンによって、問題が発生することが判明した。
- ひとつ古い版を使うことで、回避した。
-- ToshinoriMaeno 2015-11-24 01:14:27