Open12

ssl/tls

ratmieratmie

想定読者

答えたい疑問

・tls?httpsにするためにいるやつだよね?
・証明書?れっつえんくりぷとでいいんでしょ
・何を証明してるの
・なかみはなに
・繋げないときあるのはなんで
・クライアント側にあるのは何
・AWS ACMでやってるよ

公開鍵方式の課題

・鍵の配布やってらんない
・配布しすぎるとなりすませる
https://ja.wikipedia.org/wiki/公開鍵証明書

・認証局 (Certificate Authority; CA)

https://letsencrypt.org/ja/
acmeプロトコル https://www.ssl.com/ja/よくある質問(FAQ)/acmeプロトコルとは何ですか/

https://www.ssl.com/faqs/what-is-the-acme-protocol/

x509証明書
certbot acmeの実装

https://qiita.com/TakahikoKawasaki/items/4c35ac38c52978805c69

ratmieratmie

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

何が使える?

ratmieratmie

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

ratmieratmie

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

ratmieratmie

証明書があることよりも、どういう証明書チェーンかが大事。

どの証明書を信頼するかは人それぞれ。os側でリストを作っている

ratmieratmie

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