サポート

[マネージドPKI] クライアント証明書 Apache2.4系の設定方法

  1. GMOグローバルサイン
  2. サポート・お申し込みガイド
  3. マネージドPKI
  4. [マネージドPKI] クライアント証明書 Apache2.4系の設定方法
最終更新:2018/12/07 10:48:25

SSLクライアント認証を行うにあたって、Apache上でSSLサーバー認証を有効にしている必要があります。SSLサーバー証明書の設定詳細は弊社サポートページを参照してください。

※本手順は、Apache2.4系をベースに作成しております。
バージョン違いにより、手順が異なる場合がございますので、ご利用の環境に応じた設定方法をご確認の上、ご対応ください。

認証局証明書の用意

no01.gif 以下より、ご利用のクライアント証明書の署名ハッシュアルゴリズムに応じたルート証明書を取得してください。
SHA256 ルート証明書(R3)
SHA-1 ルート証明書(R1)

no02.gif 以下より、ご利用のクライアント証明書の署名ハッシュアルゴリズムに応じた中間CA証明書を取得してください。
SHA256 クライアント証明書用中間CA証明書v3
SHA-1 クライアント証明書用中間CA証明書v3

※2016年7月10日以前に発行されたSHA256のクライアント証明書も利用する場合は、以下の中間CA証明書も取得してください。
SHA256 クライアント証明書用中間CA証明書v2

※2016年4月4日以前に発行されたSHA-1のクライアント証明書も利用する場合は、以下の中間CA証明書も取得してください。
SHA-1 クライアント証明書用中間CA証明書v2

no03.gif 取得したファイルを1つのファイルに結合し、サーバに保存します。順不同でもかまいません。

結合の例

-----BEGIN CERTIFICATE-----
   <ルート証明書>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
   <中間CA証明書>
-----END CERTIFICATE-----

保存先の例

/etc/httpd/conf/ssl.crt/root.pem

Apache設定ファイルの変更

Apacheのバージョン等により設定ファイル名、場所は多少異なりますがhttpd.conf 、ssl.conf、httpd-ssl.conf等の該当部分を設定します。

クライアント認証用 認証局証明書の設定例

SSLCACertificateFile /etc/httpd/conf/ssl.crt/root.pem

OCSPによる失効確認の有効化

SSLOCSPEnable on

#Directoryディレクティブの外に記述します。

SSLクライアント認証の設定の有効化

SSLOptions +StdEnvVars
SSLVerifyClient require
SSLVerifyDepth 3
<Directory "/var/www/httpdocs/test">
SSLRequire %{SSL_CLIENT_S_DN_O} eq "GMO GlobalSign K.K." \
and %{SSL_CLIENT_S_DN_OU} eq "Sales"
</Directory>

※SSLRequire で指定したクライアント証明書以外の接続を拒否するよう設定します。
専用BaseDNを利用することで、証明書のO(組織名)とOU(部門名)フィールドにはお客様固有の情報が設定されます。この部分をクライアント認証の設定にご利用ください。

補足

失効確認にCRLを利用する場合は、以下のディレクティブを設定します。

SSLCARevocationFile /etc/httpd/conf/ssl.crl/crl.pem
SSLCARevocationCheck chain

上記CRLファイル"crl.pem"をcron設定等で定期的に自動取得できるように設定しておくことを推奨します。
CRLファイルは、証明書の「CRL配布ポイント」に記載されているURLからHTTPで取得することができます。手動で取得し指定場所に保存することも可能ですが、有効期限の切れたCRLは無効な情報と判断され、Apacheでは認証しません。定期的に最新のCRLを取得する必要があります。
※弊社CRLの有効期限は7日間となります。

ApacheはDER形式のCRLは読み込めないので、OpenSSLコマンドにてPEM形式に変換して利用します。
CRLはクライアント証明書と中間CA証明書それぞれのCRLを「CRL配布ポイント」から取得し、全て結合します。

変換コマンド例

openssl crl -inform der -in 変換前DERファイル名 -outform pem -out 変換後PEMファイル名

結合コマンド例

cat 結合前ファイル名a 結合前ファイル名b > 結合後ファイル名

※cron設定やOpenSSLコマンド、シェルスクリプトの作成につきましては、ドキュメント等をご参照いただき、ご利用の環境に合った設定をご確認ください。

最後にApacheを再起動し、有効なクライアント証明書でのアクセスが可能かご確認ください。

サポートサイト内検索

お気軽にお問い合わせください

03-6370-6500

音声ガイダンスが流れましたら、お問合わせの内容により以下の番号をプッシュしてください。

  1. 証明書のお申し込み、更新及びパスワードのお問い合わせ
  2. インストールなどの技術的なお問い合わせ
  3. 審査及び進捗確認に関するお問い合わせ
  4. お支払い、経理書類に関するお問い合わせ
  5. その他のお問い合わせ(5を押した上で、以下の番号をお選びください。)
    1. パートナー契約に関するお問い合わせ
    2. 採用に関するお問い合わせ
    3. 総務へのご連絡
ページのトップへ戻る