rabbit-slide-znz-debian-certbot 2016.12.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.rabbit +1 -0
- data/README.md +24 -0
- data/Rakefile +17 -0
- data/certbot.md +353 -0
- data/config.yaml +22 -0
- data/pdf/debian-certbot-certbot.pdf +0 -0
- metadata +65 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 39d320447dc524666f0d76d4d1c243e26f992707
|
4
|
+
data.tar.gz: 40ef1520a2716b4539be67a09da562179c82a5c0
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: '008382a6b5251b72f5ef9e7a7de418bd46b493e296e477078c847730a8cc2e8c9949f31558914497f2fdd513188ca1bb1bc7b7e3bfd6235c41853c96e48a1e98'
|
7
|
+
data.tar.gz: 86c14a93bfe19e047cd315f952f88f25fb43a56be3bd4c99e3c30d0b504bb9a49009e94567847bdc81bc2e53c12a88c3ba8275e67dfae3a72b61706080318369
|
data/.rabbit
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
certbot.md
|
data/README.md
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Certbotで無料TLSサーバー
|
2
|
+
|
3
|
+
Certbot と Let's Encrypt の概要を紹介した後、 certbot パッケージで Let's Encrypt の無料証明書を発行してもらって運用する方法を紹介します。 すでに letsencrypt パッケージの時代に入れた環境や letsencrypt-auto (certbot-auto) 環境からの移行方法も軽く紹介します。 その他、実際の運用で工夫した設定の紹介などもする予定です。
|
4
|
+
|
5
|
+
## 作者向け
|
6
|
+
|
7
|
+
### 表示
|
8
|
+
|
9
|
+
rake
|
10
|
+
|
11
|
+
### 公開
|
12
|
+
|
13
|
+
rake publish
|
14
|
+
|
15
|
+
## 閲覧者向け
|
16
|
+
|
17
|
+
### インストール
|
18
|
+
|
19
|
+
gem install rabbit-slide-znz-debian-certbot
|
20
|
+
|
21
|
+
### 表示
|
22
|
+
|
23
|
+
rabbit rabbit-slide-znz-debian-certbot.gem
|
24
|
+
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "rabbit/task/slide"
|
2
|
+
|
3
|
+
# Edit ./config.yaml to customize meta data
|
4
|
+
|
5
|
+
spec = nil
|
6
|
+
Rabbit::Task::Slide.new do |task|
|
7
|
+
spec = task.spec
|
8
|
+
# spec.files += Dir.glob("doc/**/*.*")
|
9
|
+
# spec.files -= Dir.glob("private/**/*.*")
|
10
|
+
# spec.add_runtime_dependency("YOUR THEME")
|
11
|
+
end
|
12
|
+
|
13
|
+
desc "Tag #{spec.version}"
|
14
|
+
task :tag do
|
15
|
+
sh("git", "tag", "-a", spec.version.to_s, "-m", "Publish #{spec.version}")
|
16
|
+
sh("git", "push", "--tags")
|
17
|
+
end
|
data/certbot.md
ADDED
@@ -0,0 +1,353 @@
|
|
1
|
+
# Certbotで無料TLSサーバー
|
2
|
+
|
3
|
+
author
|
4
|
+
: Kazuhiro NISHIYAMA
|
5
|
+
|
6
|
+
content-source
|
7
|
+
: Mini Debian Conference Japan 2016
|
8
|
+
|
9
|
+
date
|
10
|
+
: 2016-12-10
|
11
|
+
|
12
|
+
allotted-time
|
13
|
+
: 30m
|
14
|
+
|
15
|
+
# 自己紹介
|
16
|
+
|
17
|
+
* 西山和広
|
18
|
+
* id:znz (github, twitter など)
|
19
|
+
* Ruby コミッター
|
20
|
+
|
21
|
+
# Certbot とは?
|
22
|
+
|
23
|
+
* https://certbot.eff.org/
|
24
|
+
* EFF (Electronic Frontier Foundation) による Let's Encrypt クライアント
|
25
|
+
* 昔は `letsencrypt` (`letsencrypt-auto`) という名前だった
|
26
|
+
* 他にもクライアントはあります
|
27
|
+
|
28
|
+
# Let's Encrypt とは?
|
29
|
+
|
30
|
+
* Let's Encrypt は、無料で利用できる自動化されていてオープンな認証局(CA)です。公共の利益を図る目的で Internet Security Research Group (ISRG) が運営しています。
|
31
|
+
引用元: https://letsencrypt.jp/about/
|
32
|
+
|
33
|
+
# 何ができる?
|
34
|
+
|
35
|
+
* 無料で使える (商用利用も可能)
|
36
|
+
* DV (ドメイン認証) 証明書
|
37
|
+
* 自動発行できる (ACME プロトコル)
|
38
|
+
|
39
|
+
# 何ができない?
|
40
|
+
|
41
|
+
* EV SSL は無理 (アドレスバーが緑になるもの)
|
42
|
+
* 証明書に入るのはドメインのみ (組織名などは入らない)
|
43
|
+
* ワイルドカードも無理
|
44
|
+
|
45
|
+
# 普通は困らないけど...
|
46
|
+
|
47
|
+
* 短期間に大量発行できない
|
48
|
+
* https://letsencrypt.org/docs/rate-limits/
|
49
|
+
* テスト用途には staging サーバーを使いましょう
|
50
|
+
|
51
|
+
# 無料証明書といえば...
|
52
|
+
|
53
|
+
* notBefore の日付が 2016 年 10 月 21 日より後であり、かつ以下に示す当該ルート証明書にチェインが繋がる証明書への信頼を破棄します。
|
54
|
+
* 引用元:【翻訳】WoSign と StartCom による今後の証明書は拒否します
|
55
|
+
http://mozsec-jp.hatenablog.jp/entry/2016/10/29/204852
|
56
|
+
|
57
|
+
# 無料証明書といえば...
|
58
|
+
|
59
|
+
* この変更は Firefox 51 のリリース予定(*注*2017-01-24) に合わせて反映されます。
|
60
|
+
* 引用元:【翻訳】WoSign と StartCom による今後の証明書は拒否します
|
61
|
+
http://mozsec-jp.hatenablog.jp/entry/2016/10/29/204852
|
62
|
+
|
63
|
+
# 基本的な使い方
|
64
|
+
|
65
|
+
* インストール
|
66
|
+
* 証明書の発行
|
67
|
+
* 証明書の更新
|
68
|
+
|
69
|
+
# インストール (推奨しない)
|
70
|
+
|
71
|
+
* `git clone https://github.com/certbot/certbot`
|
72
|
+
* `./certbot-auto --help` で依存パッケージが *自動で* インストールされる
|
73
|
+
* 定期実行の仕組みは自分で用意する必要あり (`/etc/cron.daily/local-certbot` を作成するなど)
|
74
|
+
|
75
|
+
# インストール (昔の方法)
|
76
|
+
|
77
|
+
* 昔は `letsencrypt-auto` だった
|
78
|
+
(`letsencrypt-auto` で入れた環境はそのまま使える)
|
79
|
+
* 今も `letsencrypt-auto` で入れたサーバーを動かしていますが、問題なく使えています
|
80
|
+
|
81
|
+
# インストール (推奨)
|
82
|
+
|
83
|
+
* `sudo apt-get install certbot -t jessie-backports`
|
84
|
+
* `apache` プラグインを使って `apache` の設定も自動でするなら `python-certbot-apache` パッケージ (`webroot` プラグインしか使ったことがないので説明しません)
|
85
|
+
|
86
|
+
# 証明書の発行 (前提条件)
|
87
|
+
|
88
|
+
* 単独 Web サーバー (ロードバランサーなどはない)
|
89
|
+
* ドメイン `www.example.org`
|
90
|
+
* `DocumentRoot /srv/www/www.example.org/htdocs`
|
91
|
+
|
92
|
+
# 証明書の発行 (初回)
|
93
|
+
|
94
|
+
```
|
95
|
+
sudo certbot certonly --webroot \
|
96
|
+
-w /srv/www/www.example.org/htdocs \
|
97
|
+
-d www.example.org
|
98
|
+
```
|
99
|
+
|
100
|
+
* メールアドレス入力
|
101
|
+
* Terms of Service への同意
|
102
|
+
|
103
|
+
# メールが送られてくる場合
|
104
|
+
|
105
|
+
* 緊急の通知、鍵を紛失したときの復旧、証明書の有効期限が近付いた場合の通知
|
106
|
+
引用元: https://letsencrypt.jp/usage/
|
107
|
+
* 今までメールがきた例: Terms of Service の変更、証明書の有効期限が近づいた時
|
108
|
+
|
109
|
+
# 失敗したら
|
110
|
+
|
111
|
+
* `$DocumentRoot/.well-known/acme-challenge/ファイル名` が外部からちゃんとアクセスできるか確認
|
112
|
+
|
113
|
+
# apache に証明書の設定
|
114
|
+
|
115
|
+
2.4.8 以降なら (jessie はこっち)
|
116
|
+
|
117
|
+
```
|
118
|
+
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.org/privkey.pem
|
119
|
+
SSLCertificateFile /etc/letsencrypt/live/www.example.org/fullchain.pem
|
120
|
+
```
|
121
|
+
|
122
|
+
2.4.7 以前なら
|
123
|
+
|
124
|
+
```
|
125
|
+
SSLCertificateFile /etc/letsencrypt/live/www.example.org/cert.pem
|
126
|
+
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.org/privkey.pem
|
127
|
+
SSLCertificateChainFile /etc/letsencrypt/live/www.example.org/chain.pem
|
128
|
+
```
|
129
|
+
|
130
|
+
# 証明書のパス
|
131
|
+
|
132
|
+
* (たぶん) 互換性のため `certbot` に名前が変わっても `/etc/letsencrypt` のままでした
|
133
|
+
* `/etc/letsencrypt/live` 以下に `/etc/letsencrypt/archive` 以下へのシンボリックリンク
|
134
|
+
* 更新するごとに `archive` に連番で証明書や鍵などが溜まっていく
|
135
|
+
|
136
|
+
# ログのパス
|
137
|
+
|
138
|
+
* `/var/log/letsencrypt/letsencrypt.log*` にログがある
|
139
|
+
|
140
|
+
# 証明書の発行 (2個目以降)
|
141
|
+
|
142
|
+
* `sudo certbot certonly --webroot -w /srv/www/hoge.example.org/htdocs -d hoge.example.org`
|
143
|
+
* メールアドレス入力と Terms of Service への同意はなし
|
144
|
+
(`/etc/letsencrypt/accounts` 以下に保存されたアカウント情報が再利用される)
|
145
|
+
|
146
|
+
# 証明書の更新
|
147
|
+
|
148
|
+
* `certbot renew` で有効な期間が 30 日未満の証明書があれば更新される
|
149
|
+
* `/etc/cron.d/certbot` または `/lib/systemd/system/certbot.timer` で 0:00,12:00 に自動実行
|
150
|
+
|
151
|
+
# 自動実行のばらつき
|
152
|
+
|
153
|
+
* `cron.d` は `perl -e 'sleep int(rand(3600))'` で
|
154
|
+
* `certbot.timer` は `RandomizedDelaySec=3600` で
|
155
|
+
* jessie-backports の certbot 0.9.3-1~bpo8+1 で確認
|
156
|
+
|
157
|
+
# jessie だと
|
158
|
+
|
159
|
+
* `RandomizedDelaySec` は jessie の systemd だと対応していないので `systemctl status certbot.timer -l` で確認すると
|
160
|
+
`[/lib/systemd/system/certbot.timer:6] Unknown lvalue 'RandomizedDelaySec' in section 'Timer'` と出ている
|
161
|
+
* [#843607](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843607) で報告
|
162
|
+
|
163
|
+
# サーバーに更新リクエストが集中する可能性あり
|
164
|
+
|
165
|
+
* パッケージが悪いということで何もしない?
|
166
|
+
* 更新がある時だけ、と頻度も低いのでそんなに大きな問題にはならない?
|
167
|
+
* 設定で対処?
|
168
|
+
|
169
|
+
# 遅延設定例
|
170
|
+
|
171
|
+
`/etc/systemd/system/certbot.service.d/delay.conf` を以下の内容で作成
|
172
|
+
|
173
|
+
```
|
174
|
+
[Service]
|
175
|
+
ExecStart=
|
176
|
+
ExecStart=/bin/bash -c 'sleep $((RANDOM%3600))'
|
177
|
+
ExecStart=/usr/bin/certbot -q renew
|
178
|
+
```
|
179
|
+
|
180
|
+
* パッケージのバージョンアップなどで対処されたら忘れずに削除すること
|
181
|
+
|
182
|
+
# 証明書更新の反映 (1/5)
|
183
|
+
|
184
|
+
* `renew-hook` を使う
|
185
|
+
* 更新成功時のみ呼ばれる
|
186
|
+
* `post-hook` でも良い
|
187
|
+
* 更新試行後に呼ばれる
|
188
|
+
* `post-hook` は `pre-hook` と組み合わせて `standalone` プラグインの時に Web サーバーを止めるのに向いている
|
189
|
+
|
190
|
+
# 証明書更新の反映 (2/5)
|
191
|
+
|
192
|
+
* `renew-hook` は初回の証明書作成時には呼ばれなかった
|
193
|
+
* 初回も呼んでほしいなら `post-hook` の方が良いかもしれない
|
194
|
+
|
195
|
+
# 証明書更新の反映 (3/5)
|
196
|
+
|
197
|
+
* `/etc/letsencrypt/cli.ini` を以下の内容で作成
|
198
|
+
|
199
|
+
```
|
200
|
+
renew-hook = apachectl graceful
|
201
|
+
```
|
202
|
+
|
203
|
+
* nginx なら `service nginx reload`
|
204
|
+
|
205
|
+
# 証明書更新の反映 (4/5)
|
206
|
+
|
207
|
+
* ドメインに応じて Web サーバー以外のデーモンを再起動するスクリプトを作ってフルパスで指定するのもあり
|
208
|
+
|
209
|
+
```
|
210
|
+
renew-hook = /etc/letsencrypt/renew-hook
|
211
|
+
```
|
212
|
+
|
213
|
+
# 証明書更新の反映 (5/5)
|
214
|
+
|
215
|
+
/etc/letsencrypt/renew-hook
|
216
|
+
|
217
|
+
```
|
218
|
+
apachectl graceful
|
219
|
+
for domain in $RENEWED_DOMAINS; do
|
220
|
+
case "$domain" in
|
221
|
+
mx*)
|
222
|
+
service postfix reload >/dev/null
|
223
|
+
service dovecot reload
|
224
|
+
;;
|
225
|
+
esac
|
226
|
+
done
|
227
|
+
```
|
228
|
+
|
229
|
+
# 基本的な使い方のまとめ
|
230
|
+
|
231
|
+
* certbot webroot プラグインで既存の Web サーバーの設定を全くいじらずに証明書発行が可能
|
232
|
+
* standalone プラグインと違って、ダウンタイムも発生しない
|
233
|
+
|
234
|
+
# 様々なトピック
|
235
|
+
|
236
|
+
その他の雑多なトピックを紹介
|
237
|
+
|
238
|
+
# staging サーバー (1/3)
|
239
|
+
|
240
|
+
* rate limit を気にせず試せる
|
241
|
+
* `/etc/letsencrypt/accounts` 以下に保存されたアカウント情報はサーバーごとなので別アカウントになる
|
242
|
+
(本番に切り替えて使っていても staging の有効期限切れが近づくとメールがきた)
|
243
|
+
|
244
|
+
# staging サーバー (2/3)
|
245
|
+
|
246
|
+
* `--test-cert` オプションまたは `--staging` オプション
|
247
|
+
|
248
|
+
```
|
249
|
+
certbot certonly --test-cert --webroot \
|
250
|
+
-w /srv/www/www.example.jp/htdocs \
|
251
|
+
-d www.example.jp
|
252
|
+
```
|
253
|
+
|
254
|
+
# staging サーバー (3/3)
|
255
|
+
|
256
|
+
* `/etc/letsencrypt/archive` 以下のファイルの連番は本番と staging で共通
|
257
|
+
* staging で 1,2 と試した後、本番で発行すると 3 からになる
|
258
|
+
|
259
|
+
# rsa-key-size の変更
|
260
|
+
|
261
|
+
`/etc/letsencrypt/cli.ini` で
|
262
|
+
|
263
|
+
```
|
264
|
+
rsa-key-size = 4096
|
265
|
+
```
|
266
|
+
|
267
|
+
(デフォルトは 2048)
|
268
|
+
|
269
|
+
# 更新時の通知設定例
|
270
|
+
|
271
|
+
moreutils を入れて `/etc/systemd/system/certbot.service.d/diffmail.conf` を以下の内容で作成
|
272
|
+
(ExecStopPost の行は実際は 1 行)
|
273
|
+
|
274
|
+
[Service]
|
275
|
+
ExecStopPost=/bin/bash -c
|
276
|
+
"diff -u
|
277
|
+
<(cut -d: -f4- /var/log/letsencrypt/letsencrypt.log.1 | egrep -v '^DEBUG')
|
278
|
+
<(cut -d: -f4- /var/log/letsencrypt/letsencrypt.log | egrep -v '^DEBUG') |
|
279
|
+
ifne mail -s 'Change certbot log' root"
|
280
|
+
|
281
|
+
# 更新時の通知設定例 (解説)
|
282
|
+
|
283
|
+
* timer の実行後に実行する hook はなさそうだった
|
284
|
+
* service に直接 ExecStopPost を設定するのが良さそうにみえた
|
285
|
+
* 毎回変わる日時などが混ざる部分を除外して diff
|
286
|
+
* moreutils の ifne で diff があるときだけメール送信
|
287
|
+
|
288
|
+
# メールサーバーの例
|
289
|
+
|
290
|
+
* Web を用意できるなら webroot で更新
|
291
|
+
* メールサーバーに証明書を設定して renew-hook で reload
|
292
|
+
|
293
|
+
# 単独 Web サーバーではない環境例 (1/4)
|
294
|
+
|
295
|
+
* ロードバランサーで `$DocumentRoot/.well-known/acme-challenge` を `certbot` 実行サーバーに固定
|
296
|
+
* やったことないので詳しいことは不明
|
297
|
+
|
298
|
+
# 単独 Web サーバーではない環境例 (2/4)
|
299
|
+
|
300
|
+
* DNS で認証したい
|
301
|
+
* ACME プロトコルには DNS による認証もある
|
302
|
+
* `certbot` は向かない (途中で止まって手動で DNS 設定するようになっているようだった)
|
303
|
+
|
304
|
+
# 単独 Web サーバーではない環境例 (3/4)
|
305
|
+
|
306
|
+
* dehydrated (旧 letsencrypt.sh)
|
307
|
+
* Debian には letsencrypt.sh パッケージがある (2016-12-09 現在 0.3.0-1)
|
308
|
+
* sid には dehydrated パッケージがある (2016-12-09 現在 0.3.1-1)
|
309
|
+
|
310
|
+
# 単独 Web サーバーではない環境例 (4/4)
|
311
|
+
|
312
|
+
* https://github.com/lukas2511/dehydrated (旧 letsencrypt.sh)
|
313
|
+
* Wiki に `nsupdate` で Bind と連携する例などがある
|
314
|
+
* 他の API 対応 DNS サーバーの例もある
|
315
|
+
|
316
|
+
# 試してないけどメールアドレス変更
|
317
|
+
|
318
|
+
`certbot --help all` の情報によると
|
319
|
+
|
320
|
+
```
|
321
|
+
certbot register --update-registration --email EMAIL
|
322
|
+
```
|
323
|
+
|
324
|
+
で登録しているメールアドレスを変更できそうです (未確認)
|
325
|
+
|
326
|
+
# letsencrypt-auto (certbot-auto) からの移行 (1/2)
|
327
|
+
|
328
|
+
* `/etc/letsencrypt` 以下は共通
|
329
|
+
* `certbot` パッケージを入れて、
|
330
|
+
運用を切り替えるだけでいけそう
|
331
|
+
* 試してないけど
|
332
|
+
|
333
|
+
# letsencrypt-auto (certbot-auto) からの移行 (2/2)
|
334
|
+
|
335
|
+
* git clone したディレクトリとか
|
336
|
+
* `~/.local/share/letsencrypt` 以下とか
|
337
|
+
* 不要になったパッケージはうまく消す必要あり
|
338
|
+
|
339
|
+
# letsencrypt パッケージ時代に入れた環境からの移行 (1/2)
|
340
|
+
|
341
|
+
* `sudo apt-get install certbot -t jessie-backports` で入るはず
|
342
|
+
* どこかのバージョンアップのタイミングで `sudo apt-get install 引っかかったパッケージ -t jessie-backports` という作業が必要だったことも
|
343
|
+
|
344
|
+
# letsencrypt パッケージ時代に入れた環境からの移行 (2/2)
|
345
|
+
|
346
|
+
* そのまま purge すると `/etc/letsencrypt` `/var/log/letsencrypt` が消されてしまうので、`sudoedit /var/lib/dpkg/info/letsencrypt.postrm` でコメントアウトしてから purge すると良い
|
347
|
+
|
348
|
+
# まとめ
|
349
|
+
|
350
|
+
* certbot で無料で SSL/TLS サーバー証明書
|
351
|
+
* 自動更新で運用の手間いらず
|
352
|
+
* メールサーバーなど Web 以外でも使える
|
353
|
+
* 複数サーバー環境などでは dehydrated など他のクライアントの方が良いかも
|
data/config.yaml
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
---
|
2
|
+
id: debian-certbot
|
3
|
+
base_name: certbot
|
4
|
+
tags:
|
5
|
+
- debian
|
6
|
+
- letsencrypt
|
7
|
+
- certbot
|
8
|
+
presentation_date: '2016-12-10'
|
9
|
+
version: 2016.12.10
|
10
|
+
licenses: []
|
11
|
+
slideshare_id: certbottls
|
12
|
+
speaker_deck_id: certbotdewu-liao-tlssaba
|
13
|
+
ustream_id:
|
14
|
+
vimeo_id:
|
15
|
+
youtube_id:
|
16
|
+
author:
|
17
|
+
markup_language: :markdown
|
18
|
+
name: Kazuhiro NISHIYAMA
|
19
|
+
email: zn@mbf.nifty.com
|
20
|
+
rubygems_user: znz
|
21
|
+
slideshare_user: znzjp
|
22
|
+
speaker_deck_user: znz
|
Binary file
|
metadata
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: rabbit-slide-znz-debian-certbot
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 2016.12.10
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Kazuhiro NISHIYAMA
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-12-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rabbit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 2.0.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 2.0.2
|
27
|
+
description: Certbot と Let's Encrypt の概要を紹介した後、 certbot パッケージで Let's Encrypt の無料証明書を発行してもらって運用する方法を紹介します。
|
28
|
+
すでに letsencrypt パッケージの時代に入れた環境や letsencrypt-auto (certbot-auto) 環境からの移行方法も軽く紹介します。
|
29
|
+
その他、実際の運用で工夫した設定の紹介などもする予定です。
|
30
|
+
email:
|
31
|
+
- zn@mbf.nifty.com
|
32
|
+
executables: []
|
33
|
+
extensions: []
|
34
|
+
extra_rdoc_files: []
|
35
|
+
files:
|
36
|
+
- ".rabbit"
|
37
|
+
- README.md
|
38
|
+
- Rakefile
|
39
|
+
- certbot.md
|
40
|
+
- config.yaml
|
41
|
+
- pdf/debian-certbot-certbot.pdf
|
42
|
+
homepage: http://slide.rabbit-shocker.org/authors/znz/debian-certbot/
|
43
|
+
licenses: []
|
44
|
+
metadata: {}
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
59
|
+
requirements: []
|
60
|
+
rubyforge_project:
|
61
|
+
rubygems_version: 2.5.2
|
62
|
+
signing_key:
|
63
|
+
specification_version: 4
|
64
|
+
summary: Certbotで無料TLSサーバー
|
65
|
+
test_files: []
|