SSL証明書って期限が切れる時にしか触らないので、どういう仕組みだったかよく忘れてしまいます。
いつも他の方のブログなどを見て「あ〜そうだったな」と思ってるのですが、いい加減自分で覚えたいのでここに書いておきます。
SSL証明書とは
そもそも「SSL証明書(SSLサーバ証明書)」とは、HTTPS通信(HTTP通信を暗号化)するために必要な電子証明書のこと。
SSL証明書(CRT)には、以下の情報が入っている。
- サーバの所有者の情報
- サーバの公開鍵(CSR)
- 証明書を発行した認証局(CA)の情報(署名)
署名は、証明書を発行する「CA」が、「CSR」の情報を元に行う。
SSL証明書発行の流れ
- 自分のサーバーで公開鍵(CSR)と秘密鍵(KEY)を作成
- CSRを認証局(CA)へ送信して証明書の発行を申請
- CAから電子署名された証明書(CRT)を受け取る
- 受け取った証明書類をWebサーバーへ設置する
SSL証明書のレベル
SSLの証明書には「DV」「OV」「EV」の3つのレベルがある。
上から、レベルが高い順。
- EV(Extended Validation)
企業・団体の所在地まで確認したのちに証明書を発行。書類送付による所在地確認が入る - OV(Organization Validation)
実在する企業・団体のみに証明書を発行。電話での実在確認が入る - DV(Domain Validation)
SSLの申請者がドメインの所有者であるということを証明するもの。実在性は確認されない
EV,OVは普通にお金がかかる。が、DVは無料なことが多い。(有料のものも存在する)
無料のSSL認証局として有名なのが、Let's Encrypt。
なぜ無料で使えるかというと、「SSLを全世界に普及させる!」というコンセプトに賛同した世界の大手企業がスポンサーとして支援しているから。
Let's Encryptでは、申請の受付から証明書の発行まで、すべて自動で行われる。
Let's Encryptでの証明書作成は、「Certbot」というツールを使って簡単にできる。