質問

Advanced Search

Solution ID : SO23747

Last Modified : 04/12/2021

ECC 証明書のインストール手順(Apache)

Problem

Apache での ECC 証明書のインストール手順を教えて下さい

Solution

この Web ページでは以下の証明書のインストールに関する一般的な手順をご紹介しています。 

  • グローバル・サーバID(ECDSA with SHA-256 and RSA root)
  • グローバル・サーバID(ECDSA with SHA-256 and ECC root)
  • グローバル・サーバID EV(ECDSA with SHA-256 and RSA root)
  • グローバル・サーバID EV(ECDSA with SHA-256 and ECC root)

もしご利用のサーバに対し、ここでご紹介する手順でインストールができない場合、サーバベンダーか Apache-SSL サポート機関にご相談されることをお勧めいたします。
 

Step 1:ECC 中間 CA 証明書のインストール

中間 CA 証明書のインストールが必須です。 以下の手順に従い、以下のリンク先の中間 CA 証明書をインストールしてください。

 

Step 2:SSL サーバ証明書のインストール

あなたのサーバ証明書はメールで届けられます。もし、そのサーバ証明書が cert.cer という名前で添付されている場合は、そのファイルをそのまま使えるかもしれません。もしそのサーバ証明書がメール本文にそのまま埋め込まれているような場合には、vi やメモ帳など適当なエディターを利用し、コピー&ペーストで public.crt などの適当な名前のテキストファイルに保存して使います。 マイクロソフトワードやその他文字コードが追加されるようなワープロソフトは使わないようにしてください。証明書ファイルには、余分な行や空白文字が追加されていないことを確認してください。

  1. Apache の場合のファイル名の命名規則として、証明書ファイルには、拡張子 .crt がつきます。例: public.crt
  2. 保存した証明書ファイルを、証明書のディレクトリにコピーします。 例: /usr/local/ssl/crt/. 
Step 3A:サーバを設定(単一の証明書のインストールの場合)

もしサーバに交互のバージョンをインストールする場合(例:RSA と ECC を共にインストールする場合)、このセクションをスキップして Step 3B を読んでください。

  1. 鍵ペアを使うため, httpd.conf ファイルを更新する必要があるでしょう。
  2. httpd.conf ファイルで その Web サイトの Virtual Host 設定を行います。 Virtual Host 設定における以下の 3 つのディレクティブを正しく指定します。もし Virtual Host 設定にそもそも指定がなければ、以下のように追加します:
     
    • SSLCertificateFile /usr/local/ssl/crt/public.crt
    • SSLCertificateKeyFile /usr/local/ssl/private/private.key
    • SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt


    最初のディレクティブは、証明書ファイルをどのように見つけるかを Apache に示すものです。次のディレクティブは、秘密鍵がロードされます、そして3つ目の行は中間証明書の位置を示しています。

    あなたが実際には、上記の例と異なる位置やファイル名を使っている場合は、正しいパスやファイル名に変えて、サーバに反映させる必要があります。

    Apache のバージョンによっては、 SSLCertificateChainFile というディレクティブの代わりに SSLCACertificateFile というディレクティブが使われるかもしれません。

    注: Apache のインスタンスの中には、httpd.conf と ssl.conf の両方を含むものもあります。httpd.conf の代わりに ssl.conf に上記ディレクティブを指定することがあります。両方のファイルに混在させないようにしてください。その場合、Apache が起動しないかもしれません。

     
  3. httpd.conf ファイルを保存し Apache を再起動してください。 大抵の場合、以下のように apachectl スクリプトを利用することで再起動できます。
     
    • apachectl stop
    • apachectl startssl
  4. これで サーバ証明書が設定された Apache SSL サーバ環境が起動されます。 
Step 3B:サーバを設定(複数のサーバ証明書をインストールする場合)
  1. 鍵ペアを使うため, httpd.conf ファイルを更新する必要があるでしょう。
  2. httpd.conf ファイルで その Web サイトの Virtual Host 設定を行います。 Virtual Host 設定における以下の 3 つのディレクティブを正しく指定します。もし Virtual Host 設定にそもそも指定がなければ、以下のように追加します:
     
    • SSLCertificateFile /usr/local/ssl/crt/public.crt
    • SSLCertificateKeyFile /usr/local/ssl/private/private.key
    • SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt

    Apache Web サーバ 2.4.x は、複数タイプのサーバ証明書、つまり RSA、ECC ベースを併行で使用する設定をみとめています。 Apache Web サーバ 2.2.x の最新版では、ECC を使用する場合はパッチをあてる必要があります。

    これらを設定するには、以下の 3 つのディレクティブの値をそれぞれ関連する値を指定し、修正する必要があります。これらのディレクティブは、httpd-ssl.conf という設定ファイルにあります。


    最初のディレクティブは、証明書ファイルをどのように見つけるかを Apache に示すものです。次のディレクティブは、秘密鍵がロードされます、そして3つ目の行は中間証明書の位置を示しています。

    あなたが実際には、上記の例と異なる位置やファイル名を使っている場合は、正しいパスやファイル名に変えて、サーバに反映させる必要があります。

    Apache のバージョンによっては、 SSLCertificateChainFile というディレクティブの代わりに SSLCACertificateFile というディレクティブが使われるかもしれません。

    注: Apache のインスタンスの中には、httpd.conf と ssl.conf の両方を含むものもあります。httpd.conf の代わりに ssl.conf に上記ディレクティブを指定することがあります。両方のファイルに混在させないようにしてください。その場合、Apache が起動しないかもしれません。

     
  3. httpd.conf ファイルを保存し Apache を再起動してください。 大抵の場合、以下のように apachectl スクリプトを利用することで再起動できます。
     
    • apachectl stop
    • apachectl startssl
  4. これで サーバ証明書が設定された Apache SSL サーバ環境が起動されます。

実際にサーバ証明書が正しくインストールされたか確認したい場合、インストレーションチェッカーをご利用ください。