1.14. Apache Web Server 設定で秘密鍵と証明書を使用できるように NSS データベースからの証明書のエクスポート


RHEL 8 では Apache Web Server に mod_nss モジュールが提供されなくなります。Red Hat は mod_ssl モジュールの使用を推奨します。たとえば、RHEL 7 から RHEL 8 へ Web サーバーを移行したなどして、秘密鍵と証明書を Network Security Services (NSS) データベースに保存する場合は、以下の手順に従って、Privacy Enhanced Mail (PEM) 形式の鍵および証明書を抽出します。次に Apache HTTP サーバーでの TLS 暗号化の設定 で説明されているとおり、mod_ssl 設定でファイルを使用できます。

この手順では、NSS データベースが /etc/httpd/alias/ に保存され、エクスポートした秘密鍵と証明書を /etc/pki/tls/ ディレクトリーに保存することを前提としています。

前提条件

  • 秘密鍵、証明書、および認証局 (CA) の証明書は NSS データベースに保存されます。

手順

  1. NSS データベースの証明書をリスト表示します。

    # certutil -d /etc/httpd/alias/ -L
    Certificate Nickname           Trust Attributes
                                   SSL,S/MIME,JAR/XPI
    
    Example CA                     C,,
    Example Server Certificate     u,u,u

    次の手順では、証明書のニックネームが必要です。

  2. 秘密鍵を抽出するには、鍵を PKCS #12 ファイルに一時的にエクスポートする必要があります。

    1. 秘密鍵に関連付けられた証明書のニックネームを使用して、鍵を PKCS #12 ファイルにエクスポートします。

      # pk12util -o /etc/pki/tls/private/export.p12 -d /etc/httpd/alias/ -n "Example Server Certificate"
      Enter password for PKCS12 file: password
      Re-enter password: password
      pk12util: PKCS12 EXPORT SUCCESSFUL

      PKCS #12 ファイルにパスワードを設定する必要があります。次の手順では、このパスワードが必要です。

    2. PKCS #12 ファイルから秘密鍵をエクスポートします。

      # openssl pkcs12 -in /etc/pki/tls/private/export.p12 -out /etc/pki/tls/private/server.key -nocerts -nodes
      Enter Import Password: password
      MAC verified OK
    3. PKCS #12 の一時ファイルを削除します。

      # rm /etc/pki/tls/private/export.p12
  3. /etc/pki/tls/private/server.key にパーミッションを設定し、root ユーザーのみがこのファイルにアクセスできるようにします。

    # chown root:root /etc/pki/tls/private/server.key
    # chmod 0600 /etc/pki/tls/private/server.key
  4. NSS データベースのサーバー証明書のニックネームを使用して CA 証明書をエクスポートします。

    # certutil -d /etc/httpd/alias/ -L -n "Example Server Certificate" -a -o /etc/pki/tls/certs/server.crt
  5. /etc/pki/tls/certs/server.crt にパーミッションを設定し、root ユーザーのみがこのファイルにアクセスできるようにします。

    # chown root:root /etc/pki/tls/certs/server.crt
    # chmod 0600 /etc/pki/tls/certs/server.crt
  6. NSS データベースの CA 証明書のニックネームを使用して、CA 証明書をエクスポートします。

    # certutil -d /etc/httpd/alias/ -L -n "Example CA" -a -o /etc/pki/tls/certs/ca.crt
  7. Apache HTTP サーバーでの TLS 暗号化の設定 に従い、Apache Web サーバーを設定します。

    • SSLCertificateKeyFile パラメーターを /etc/pki/tls/private/server.key に設定します。
    • SSLCertificateFile パラメーターを /etc/pki/tls/certs/server.crt に設定します。
    • SSLCACertificateFile パラメーターを /etc/pki/tls/certs/ca.crt に設定します。

関連情報

  • システム上の certutil (1)pk12util (1)pkcs12(1ssl) の man ページ
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.