クライアント証明書(2)
~webブラウザにクライアント証明書をインストールする (Windows10 + Google Chrome)~

2020/3/11


準備

クライアント証明書を使うににあたり、準備するもの
サーバ証明書(認証局証明書)server.crt
クライアント証明書client.p12
パスワードクライアント証明書をつくる際に入力したパスワード

サーバー証明書をインポート

手順は「サーバー証明書(2)」と同じ。
  1. Google Chromeを開く。
    ︙から設定を選ぶ。バージョン情報は80.0.3987.132
    Chromium設定

  2. プライバシーとセキュリティを選ぶ。
    [もっと見る ∨]を選ぶ。
    Chromium設定

  3. 証明書の管理を選ぶ。
    Chromium設定

  4. [信頼されたルート証明機関]タブを選び、インポートを選ぶ。
    Chromium設定

  5. 証明書のインポートウィザードの開始 [ 次へ ] を選ぶ
    Chromium設定

  6. インポートするファイルを指定する。[ 参照 ] を選び、ファイル一覧からファイルを選択する。
    Chromium設定

  7. [ 参照 ] からファイル一覧を表示し、server.crtを選ぶ。
    Chromium設定

  8. ファイル名欄にファイル名を入力してもよい。ファイル名がserver.crtであることを確認する。
    Chromium設定

  9. 証明書ストアは 信頼されたルート証明機関 であることを確認する。
    Chromium設定

  10. 証明書のインポートウィザードの完了 [ 完了 ] を選ぶ。
    Chromium設定

  11. オレオレ認証局が発行したオレオレ証明書なので疑われている。
     [ はい ] を選び、インポート作業を続行する。
    Chromium設定

  12. オレオレ証明書のインポートが完了した。
    Chromium設定

  13. 信頼された証明機関に オレオレ認証局(webmaster.takahashi.lab)が追加されたことを確認する。
    Chromium設定

クライアント証明書をインポート

  1. Google Chromeを開く。
    [︙]-[設定]-[もっと見る]-[証明書の管理]の順に選ぶ。
    [個人]タブを選び、インポートを選ぶ。
    Chromium設定

  2. 証明書のインポートウィザードの開始 [ 次へ ] を選ぶ
    Chromium設定

  3. インポートするファイルを指定する。[ 参照 ] を選び、ファイル一覧からファイルを選択する。
    Chromium設定

  4. [ 参照 ] からファイル一覧を表示する。ファイルの種類をPersonal Information Exchangeに変更し、client.p12を選ぶ。
    Chromium設定

  5. ファイル名欄にファイル名を入力してもよい。ファイル名がclient.p12であることを確認する。
    Chromium設定

  6. パスワード(クライアント証明書を作る際に入力したパスワード)を入力する
    Chromium設定

  7. 証明書ストアは 個人 であることを確認する。
    Chromium設定

  8. 証明書のインポートウィザードの完了 [ 完了 ] を選ぶ。
    Chromium設定

  9. オレオレ証明書のインポートが完了した。
    Chromium設定

  10. 個人に クライアント証明書(bar)が追加されたことを確認する。
    クライアント証明書(bar)を選び、[ 表示 ]を選ぶ。
    Chromium設定

  11. サブジェクトを選び、CN=bar,OU=takahashi Lab・・・を確認する。
    Chromium設定

クライアント証明書をつかう

  1. webブラウザかでhttps://webserver.takahashi.lab/にアクセスする。
    証明書の選択(クライアント証明書)からbarを選択する。
    Chromium設定

  2. https://webserver.takahashi.lab/index.htmlが表示できた。
    Chromium設定

複数のクライアント証明書

複数のクライアント証明書をインポートしてみた。
  1. クライアント証明書は4人分(bar,foo,fuga,hoge)用意した。
    フレンドリ名が違うが、フレンドリ名に日本語が表示できることが確認できた。
    Chromium設定

  2. サーバ側の設定(/etc/httpd/conf.d/ssl.conf)で「SSL_CLIENT_S_DN_CNがfooかbar」と記述したので、 bar,fooのクライアント証明書が表示される。
    fuga,hogeは証明書の選択候補に表示されない。
    Chromium設定

  3. bar,fooは ユーザ名とパスワードを入力する代わりにクライアント証明書で認証通過できる。
    https://webserver.takahashi.lab/index.htmlが表示できた。
    Chromium設定


[参考]
オレオレ認証局でクライアント認証 ~ ウェブの Basic 認証をリプレース (https://www.webtech.co.jp/blog/optpix_labs/server/1780/)