ぷっぽプログラミング備忘録

linux, javascript, php, C#, そのうちScalaとかアプリ開発とかやってみたいです。

CA(認証局)と各端末(ブラウザ)にインストールされている証明書の関係

概要

認証局はあくまで「ssl証明書」を発行する機関であって、発行した後は特に各端末と都度やりとりなどはしない。

認証局の発行した証明書 + (ブラウザの立場で)サーバーから受け取った証明書を発行した認証局に対する信頼 = セキュアな通信

ということらしい。 要するに、

  1. ブラウザがssl通信する際、アクセス先のサーバーから証明書が送られてくる
  2. 受け取った証明書を認証した「認証局の証明書(※)」を調べる
  3. 認証局が信頼できると判断できる=アクセス先のサーバーも信頼できる とブラウザはみなす

※有名な認証局の証明書(ルート証明書)はあらかじめブラウザ=端末にインストールされていることが多い。

端末(ブラウザ)に認証局の証明書(ルート証明書)を一旦インストールすれば、そのあとの各証明書(認証局が発行した証明書)の認証は、インストール済の認証局の証明書で行える。つまりは、いちいち、認証局に問い合わせたりしない。

たぶんこれであってるはず。

中間証明書の場合

ブラウザの受け取った証明書の認証局が中間CAだった場合は、 証明書内にある「Authority Information Access」フィールドに、中間証明書の場所が書かれてあり、そこにアクセスして中間証明書をとってきてくれるそうな。

参考

サーバー証明書/中間CA証明書/ルート証明書の違いとは? | さくらのSSL