Open12
ssl/tls

想定読者
答えたい疑問
・tls?httpsにするためにいるやつだよね?
・証明書?れっつえんくりぷとでいいんでしょ
・何を証明してるの
・なかみはなに
・繋げないときあるのはなんで
・クライアント側にあるのは何
・AWS ACMでやってるよ
公開鍵方式の課題
・鍵の配布やってらんない
・配布しすぎるとなりすませる
・認証局 (Certificate Authority; CA)
https://www.ssl.com/ja/よくある質問(FAQ)/acmeプロトコルとは何ですか/
acmeプロトコル
x509証明書
certbot acmeの実装

csr 証明書リクエスト
証明書とハッシュ関数を与える
何が使える?

OpenSSL よく使われていた、いまも改善されてる
LibreSSL 前者を改善しようとフォーク
Macは前者から後者に変わった

x.509は形式がいろいろ。p8、cerほか

証明の種類
dv, ドメイン証明 存在確認のみ
ov, 組織証明
ev 存在証明
補償額が違うらしい
letsはdv

p8についてhttps://stackoverflow.com/questions/49326118/what-is-the-file-with-p8-extension-apns-auth-key-jwt

acmもdvのみ
暗号方式いろいろ

証明書チェーンで、ルートが切れたことがある

証明書があることよりも、どういう証明書チェーンかが大事。
どの証明書を信頼するかは人それぞれ。os側でリストを作っている

どんな証明書であれhttps通信ができれば暗号化はされる

クライアントの照明ではなく、サーバーの信頼性を証明する。サーバーの署名が必要。でもサーバーの公開鍵を事前に管理者からすべてのクライアントに配るなんて無理。リクエストの中でサーバーが自身の公開鍵を渡す→それって本当に信頼できるの?