質問

Advanced Search

Solution ID : SO23580

Last Modified : 03/18/2021

Apache + OpenSSL サーバ証明書インストール手順 (新規/更新)

Problem

Apache + OpenSSL サーバIDインストール手順 (新規)

Solution

必ずお読みください

  • 本文書の内容によって生じた結果の影響について、弊社では一切の責任を負いかねますこと予めご了承ください。
  • 本文書は基本的な構成を想定しています。お客様のシステム環境や構成、設定状況などにより、手順や画面表示が変わることがあります。アプリケーション及びツールごとの仕様及び設定手順等のご不明な点は、製品のマニュアルをお読みいただくか、開発元にご確認ください。

事前にご確認ください

  • フリーウェアApacheをご利用のお客様は、作業をはじめる前に必ずこちらをお読みください。
  • 以下の手順では、OpenSSLが /usr/local/ssl/bin にインストールされている状態を想定しています。お客様の環境により、パスおよびファイル名が異なることがあります。

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

  1. 発行通知メールに添付されているサーバ証明書と中間CA証明書のファイルを入手します。


    添付ファイル例:



    ※それぞれのCRTファイルはBase64でエンコードされています。
     メモ帳等でテキスト化されたコード("-----BEGIN CERTIFICATE-----"から”-----END CERTIFICATE-----”)として開くことができます。
     必要に応じてこのコードをコピーして各設定ファイル等の編集にを行ってください。

  2. サーバ証明書ファイルとCSR生成時に作成した秘密鍵ファイルの組み合わせが、TLS/SSL暗号化通信に利用するキーペアとなります。
    この2つのファイルは、必ず正しい組み合わせのペアで利用します。

    サーバー証明書ファイル、中間CA証明書ファイル、秘密鍵ファイルの3つを管理しやすいディレクトリに保存します。

    例:

    証明書ファイル /usr/local/ssl/certs/commonname.crt
    中間CA証明書ファイル /usr/local/ssl/certs/DigiCertCA.crt
    秘密鍵ファイル /usr/local/ssl/private/private.key


    注意:証明書更新等の理由で既存のファイルと置き換えされる方
    インストール時のトラブル等で更新元の証明書に戻せるように、既存の証明書ファイル・秘密鍵ファイルを
    上書きしないように、異なるファイル名で保存することをお奨めいたします。

    例: commonname2019.crt , private2019.key  

    注意:Apache 2.4.8以降をご利用の方
    Apache 2.4.8 から中間CA証明書を指定するSSLCertificateChainFile ディレクティブが廃止されたため、
    中間CA証明書を証明書ファイルに含める必要があります。

    証明書ファイルおよび中間CA証明書ファイルをメモ帳などで開き、以下のように
    証明書ファイルに中間CA証明書のコードを追記して保存してください。
    (またオプションのクロスルート証明書を設定する場合は更に中間CA証明書の後に追記してください。)

    証明書ファイルの例:

  3. Apache-SSL設定ファイル (初期ファイル名は、httpsd.conf 、 ssl.conf など)をエディタで開き、必要な箇所を編集します。
    以下の箇所に保存した証明書ファイル、中間CA証明書ファイル、秘密鍵ファイルのパス、ファイル名を指定します。

    例:

    SSLCertificateFile 証明書ファイルのパスとファイル名を指定します
    例: SSLCertificateFile /usr/local/ssl/certs/commonname.crt
    SSLCertificateChainFile
    (または SSLCACertificateFile)
      中間CA証明書ファイルのパスとファイル名を指定
      例: SSLCACertificateFile /usr/local/ssl/certs/DigiCert.crt
    SSLCertificateKeyFile 秘密鍵ファイルのパスとファイル名を指定します
    例: SSLCertificateKeyFile /usr/local/ssl/private/private.key

    (オプション設定) クロスルート証明書を設定する場合は

    1) クロスルート証明書ファイルを取得します。
     https://knowledge.digicert.com/ja/jp/solution/SOT0006.html

    2) クロスルート証明書ファイルと中間CA証明書ファイルをメモ帳等で開き、
     中間CA証明書ファイルにクロスルート証明書のコード
    (”-----BEGIN CERTIFICATE-----”から”-----END CERTIFICATE-----”)を追記して保存します。

     証明書ファイルの例:
     


  4. 上記編集完了後、Apacheサーバを起動(起動中の場合は一旦停止させ起動)します。

    エラーが表示される場合

    • 「key values mismatch」等のメッセージが表示される場合は、証明書ファイルと、秘密鍵ファイルの組み合わせが正しくありません。正しい組み合わせで設定ファイルに指定してください。
      key values mismatch

    • 「Unable to read server certificate from file ファイル名」 等のメッセージが表示される場合は、指定されたファイルが正しくファイルを保存できていない可能性があります。 ファイル保存時に、不要な文字やスペースが含まれていないか確認してください。

    • 秘密鍵生成時にパスフレーズを設定している場合、起動時にパスフレーズの入力が求められますが、ご利用環境によりパスフレーズが入力できない(入力するためのプロンプトが表示されない)等の理由、Apacheが起動できない事例が報告されています。パスフレーズの削除や自動入力設定がご不明な場合は、改めてパスフレーズを設定しない秘密鍵から作成したCSRを元に証明書の再発行いただくことを検討ください。
      再発行手続きについて

 

Step 2:秘密鍵ファイルと証明書ファイルのバックアップ

 

ハードウェア障害などに備え、正しい組み合わせでキーペア(秘密鍵ファイル と 証明書ファイル)をバックアップしておきます。

例:

証明書ファイル /usr/local/ssl/certs/commonname.crt
秘密鍵ファイル /usr/local/ssl/private/private.key
  • サーバをリプレイスする場合などには、キーペアの各ファイルを新しい環境にインポートすることで移行して利用できます。
  • 秘密鍵を紛失した場合、取得したサーバIDを利用できません。確実にバックアップを取ってください。
  • 既存の秘密鍵、証明書と混同しないよう、ファイル名で見分けるなどして管理してください。
  • 作成時に設定したパスワードを忘れないよう、注意してください。

お客様の秘密鍵について

  • 秘密鍵は、セキュリティ上最も大切な情報です。秘密鍵が漏洩した場合、暗号化の安全性が失われます。
  • 秘密鍵をEメールに添付して送信したり、共有のドライブで保存するなどの行為は絶対にお止めください。
  • 当社がお客様の秘密鍵情報を受け取ることは絶対にありません。
  • 秘密鍵は必ずハードディスク以外のメディアにもバックアップを取り、厳重管理してください。
  • 設定したパスワードを忘れないように十分注意してください。