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 データベースに保存されます。
手順
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
次の手順では、証明書のニックネームが必要です。
秘密鍵を抽出するには、鍵を PKCS #12 ファイルに一時的にエクスポートする必要があります。
秘密鍵に関連付けられた証明書のニックネームを使用して、鍵を 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 ファイルにパスワードを設定する必要があります。次の手順では、このパスワードが必要です。
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
PKCS #12 の一時ファイルを削除します。
# rm /etc/pki/tls/private/export.p12
/etc/pki/tls/private/server.key
にパーミッションを設定し、root
ユーザーのみがこのファイルにアクセスできるようにします。# chown root:root /etc/pki/tls/private/server.key # chmod 0600 /etc/pki/tls/private/server.key
NSS データベースのサーバー証明書のニックネームを使用して CA 証明書をエクスポートします。
# certutil -d /etc/httpd/alias/ -L -n "Example Server Certificate" -a -o /etc/pki/tls/certs/server.crt
/etc/pki/tls/certs/server.crt
にパーミッションを設定し、root
ユーザーのみがこのファイルにアクセスできるようにします。# chown root:root /etc/pki/tls/certs/server.crt # chmod 0600 /etc/pki/tls/certs/server.crt
NSS データベースの CA 証明書のニックネームを使用して、CA 証明書をエクスポートします。
#
certutil -d /etc/httpd/alias/ -L -n "Example CA" -a -o /etc/pki/tls/certs/ca.crt
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 ページ