7.2. pkispawn ユーティリティーを使用して RHCS をインストールする
pkispawn
について十分理解している場合は、「PKI サブシステムのインストール」 に進んでください。
Red Hat Certificate System では、管理者は pkispawn
ユーティリティーを使用して個々のサブシステムを設定します。このセクションでは、pkispawn
を使用したインストールの仕組み全般を説明します。「PKI サブシステムのインストール」 のインストール手順を実行する場合は、正しい選択を行えるように、内容を慎重に確認してください。
pkispawn
は、2 つの異なる動作モードを提供します。
- インタラクティブモード: セットアップ中、ユーザーは設定時に個々の設定を要求します。このモードは、単純なデプロイメントに使用します。
- バッチモード: ユーザーは提供する設定ファイルから値が読み込まれます。設定ファイルで設定されていないパラメーターはデフォルトを使用します (詳細は下記参照)。
特に明記されていない限り、これ以降ではバッチモードが想定されています。
7.2.1. pkispawn
設定ファイルの作成
pkispawn
ユーティリティーには設定ファイルが必要です。このファイルには、セクションにグループ化されたパラメーターが含まれています。これらのセクションは積み重ねられているため、前のセクションで定義されたパラメーターを後のセクションで定義されたパラメーターでオーバーライドできます。セクションは次の順序で読まれます。
- [DEFAULT] - サブシステムに依存しない設定
- [Tomcat]
- [CA]、[KRA]、[OCSP]、[TKS]、[TPS]、[ACME]、または [EST] - サブシステム固有のセクション
実行すると、pkispawn
は以下を行います。
/usr/share/pki/server/etc/default.cfg
ファイルからデフォルト値を読み取ります。詳細は、pki_default.cfg(5)
の man ページを参照してください。重要/usr/share/pki/server/etc/default.cfg
ファイルは編集しないでください。代わりに、デフォルトをオーバーライドする設定ファイルを作成するように指示されます。設定ファイルの使用に関する詳細は、次のセクションでサブシステムの各タイプに対応するpkispawn
設定ファイルの例を参照してください。- 上記の管理者が提供する設定ファイルを読み取り、デフォルト値をオーバーライドします。
- 要求されたサブシステムのインストールを実行します。
- 設定に基づいて設定を行う Java サーブレットに設定を渡します。
pkispawn の設定
以下では、pkispawn
の設定ファイルを作成する方法と、いくつかの主要なパラメーターを説明します。パラメーターが属している [ ]
セクションや、パラメーターの正確なスペルなどの詳細は、pkispawn(8)
および pki_default.cfg(5)
の man ページ、特に /usr/share/pki/server/etc/default.cfg
を参照してください。
/root/pki/config.subsystem.txt
などの pkispawn
設定用のテキストファイルを作成し、以下で説明する設定を入力します。対応する [ ]
セクションの下にすべての設定を追加する必要があります。適切な配置を確認するには、/usr/share/pki/server/etc/default.cfg
ファイルを参照してください。
このセクションでは、一般的な最小設定について説明します。環境によっては、追加のパラメーターが必要になる場合があります (/usr/share/pki/server/etc/default.cfg
を参照)。追加の例は、pkispawn(8)
の man ページの EXAMPLES セクションを参照してください。
このセクションで説明するパラメーターは、pki_default.cfg(5)
の man ページを参照してください。
サブシステムに依存しない設定
サブシステムの共有 PKI インスタンスと個別の PKI インスタンスの両方がサポートされています。個別の PKI インスタンスは、単一の PKI サブシステム (CA、KRA、OCSP、TKS、または TPS) が含まれるスタンドアロンの Java ベースの Apache Tomcat インスタンスとして実行され、同じマシン上に配置されている場合は一意のインスタンス名とポートを使用する必要があります。一方、共有インスタンスは、同じインスタンス名とポートを共有する 1 つの Java ベースの Apache Tomcat インスタンスとして実行されますが、各タイプの PKI サブシステムを 1 つまで組み合わせて含めることができます。
インストールするサブシステムとは関係なく、設定ファイルの [DEFAULT]
セクションで次の設定を指定できます。
一意のインスタンス名を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_instance_name=instance_name
# pki_instance_name=instance_name
ホスト名を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_hostname=server.example.com
# pki_hostname=server.example.com
注記Certificate System は、これらのパラメーターとインスタンス名に基づいて一意の証明書ニックネームを作成します。証明書のニックネームの一意性は、複数の PKI インスタンスで共有される HSM トークンの機能を維持する上で非常に重要です。
HTTP および HTTPS プロトコルのポート番号を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_https_port=port_number pki_http_port=port_number
pki_https_port=port_number pki_http_port=port_number
重要同じホスト上で複数の Certificate System インスタンスを実行するには、ホスト上の他のサービスで使用されていない一意のポートを
pki_https_port
およびpki_http_port
パラメーターに設定する必要があります。デフォルトでは、Certificate System は HTTP にポート 8080、HTTPS にポート 8443 を使用します。HSM 固有のパラメーターを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_hsm_enable=<True|False> pki_hsm_libfile=HSM_PKCS11_library_path pki_hsm_modulename=HSM_module_name pki_token_name=HSM_token_name pki_token_password=HSM_token_password pki_audit_signing_token=HSM_token_name pki_subsystem_token=HSM_token_name pki_sslserver_token=HSM_token_name
pki_hsm_enable=<True|False> pki_hsm_libfile=HSM_PKCS11_library_path pki_hsm_modulename=HSM_module_name pki_token_name=HSM_token_name pki_token_password=HSM_token_password pki_audit_signing_token=HSM_token_name pki_subsystem_token=HSM_token_name pki_sslserver_token=HSM_token_name
詳細は、「HSM を使用した Certificate System のインストールの準備」 を参照してください。
RSA Certificate System インスタンスをビルドする場合は、次の設定を使用します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_admin_key_algorithm=SHA256withRSA pki_admin_key_size=4096 pki_admin_key_type=rsa pki_sslserver_key_algorithm=SHA256withRSA pki_sslserver_key_size=4096 pki_sslserver_key_type=rsa pki_subsystem_key_algorithm=SHA256withRSA pki_subsystem_key_size=4096 pki_subsystem_key_type=rsa pki_audit_signing_key_algorithm=SHA256withRSA pki_audit_signing_key_size=4096 pki_audit_signing_key_type=rsa pki_audit_signing_signing_algorithm=SHA256withRSA
pki_admin_key_algorithm=SHA256withRSA pki_admin_key_size=4096 pki_admin_key_type=rsa pki_sslserver_key_algorithm=SHA256withRSA pki_sslserver_key_size=4096 pki_sslserver_key_type=rsa pki_subsystem_key_algorithm=SHA256withRSA pki_subsystem_key_size=4096 pki_subsystem_key_type=rsa pki_audit_signing_key_algorithm=SHA256withRSA pki_audit_signing_key_size=4096 pki_audit_signing_key_type=rsa pki_audit_signing_signing_algorithm=SHA256withRSA
key_algorithm パラメーターに選択できる項目は次のとおりです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SHA256withRSA SHA384withRSA SHA512withRSA
SHA256withRSA SHA384withRSA SHA512withRSA
注記これらのアルゴリズムパラメーターは、CA の
CS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 B.2.10 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_type
と一致する必要があります。証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_admin_key_algorithm=SHA256withEC pki_admin_key_size=nistp256 pki_admin_key_type=ecc pki_sslserver_key_algorithm=SHA256withEC pki_sslserver_key_size=nistp256 pki_sslserver_key_type=ecc pki_subsystem_key_algorithm=SHA256withEC pki_subsystem_key_size=nistp256 pki_subsystem_key_type=ecc pki_audit_signing_key_algorithm=SHA256withEC pki_audit_signing_key_size=nistp256 pki_audit_signing_key_type=ecc pki_audit_signing_signing_algorithm=SHA256withEC
pki_admin_key_algorithm=SHA256withEC pki_admin_key_size=nistp256 pki_admin_key_type=ecc pki_sslserver_key_algorithm=SHA256withEC pki_sslserver_key_size=nistp256 pki_sslserver_key_type=ecc pki_subsystem_key_algorithm=SHA256withEC pki_subsystem_key_size=nistp256 pki_subsystem_key_type=ecc pki_audit_signing_key_algorithm=SHA256withEC pki_audit_signing_key_size=nistp256 pki_audit_signing_key_type=ecc pki_audit_signing_signing_algorithm=SHA256withEC
key_algorithm
パラメーターに選択できる項目は次のとおりです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow SHA256withEC SHA384withEC SHA512withEC
SHA256withEC SHA384withEC SHA512withEC
注記これらのアルゴリズムパラメーターは、CA の
CS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された値に設定できます。詳細は、管理ガイドの付録 署名アルゴリズムの制約 を参照してください。署名アルゴリズムはkey_type
と一致する必要があります。ECC の場合、
key_size
に選択できる値は次のとおりです。Copy to Clipboard Copied! Toggle word wrap Toggle overflow nistp256 nistp384 nistp521
nistp256 nistp384 nistp521
ECC の場合、
key_type
にはecc
を選択できます。ブートストラップ管理者ユーザーのクライアントディレクトリーを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_client_dir=bootstrap_admin_directory
pki_client_dir=bootstrap_admin_directory
デフォルトでは、パスは
~/.dogtag/instance_name/
に設定されています。重要pki_admin_*
およびpki_client_*
パラメーターは、インストールプロセスによって自動的に作成されるブートストラップユーザーに属します。デフォルトのロール (権限) とブートストラップユーザーの詳細は、「ユーザー、認可、アクセス制御」 を参照してください。このセクションで説明するパラメーターは、pki_default.cfg(5)
の man ページを参照してください。ブートストラップ管理者ユーザーのさまざまなパスワードを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=password
pki_admin_password=password pki_client_database_password=password pki_client_pkcs12_password=password
Certificate System と Directory Server の間で TLS を設定することを選択した場合は、設定ファイルで次のパラメーターを使用します。
注記最初に基本的な TLS サーバー認証接続を作成する必要があります。インストール後、接続時にクライアント認証証明書を Directory Server に提示するよう要求するように設定します。その際にクライアント認証が設定されると、
pki_ds_password
は意味がなくなることに注意してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ds_database=back_end_database_name pki_ds_hostname=host_name pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password pki_ds_ldaps_port=port pki_ds_bind_dn=cn=Directory Manager
pki_ds_database=back_end_database_name pki_ds_hostname=host_name pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password pki_ds_ldaps_port=port pki_ds_bind_dn=cn=Directory Manager
pki_ds_database
パラメーターの値は、pkispawn
ユーティリティーが Directory Server インスタンス上にに対応するサブシステムデータベースを作成するために使用する名前です。pki_ds_hostname
パラメーターの値は、Directory Server インスタンスのインストール場所によって異なります。これは、「Directory Server パッケージのインストール」 で使用される値によって異なります。pki_ds_secure_connection=True
を設定する場合は、以下のパラメーターを設定する必要があります。-
pki_ds_secure_connection_ca_pem_file
: Directory Server の CA 証明書のエクスポートされたコピーが格納されたファイルのファイル名を含む完全修飾パスを設定します。このファイルが先に存在していなければ、pkispawn
は使用できません。 -
pki_ds_ldaps_port
: Directory Server がリッスンしているセキュアな LDAPS ポートの値を設定します。デフォルトは636
です。
-
Directory Server で自己署名付き証明書を使用する場合は、以下のコマンドを使用して Directory Server の Network Security Services (NSS) データベースからエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
# certutil -L -d /etc/dirsrv/slapd-instance_name/ \ -n "server-cert" -a -o /root/ds.crt
セキュリティードメインとして機能する CA に対して、適切なパラメーターを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow for a CA that acts as a security domain
# for a CA that acts as a security domain pki_security_domain_hostname= pki_security_domain_name=example.com Security Domain pki_security_domain_user=caadmin pki_security_domain_password=SD password
[Tomcat] セクション:
Tomcat JServ Protocol (AJP) ポートを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ajp_port=Tomcat_AJP_port
pki_ajp_port=Tomcat_AJP_port
Tomcat サーバーポートを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_tomcat_server_port=Tomcat_server_port
pki_tomcat_server_port=Tomcat_server_port
同じホスト上で複数の PKI サブシステムインスタンスを実行するには、ホスト上の他のサービスで使用されていないポートを pki_ajp_port
および pki_tomcat_server_port
パラメーターに設定する必要があります。デフォルトでは、pki_ajp_port
は 8009 に、pki_tomcat_server_port
は 8005 に設定されています。
サブシステム固有の設定
初期設定ファイルを作成したら、サブシステム固有の設定を追加します。/usr/share/pki/server/etc/default.cfg
ファイルで、各サブシステム ([CA]
、[OCSP]
、[KRA]
、[TKS]
、[TPS]
、[ACME]、または [EST]) に適したパラメーターのリストを検索します。
7.2.2. インストール方法 (シングルステップまたはツーステップ)
pkispawn
は、シングルステップインストール または ツーステップインストール のいずれかで実行できます。
<pki_instance_name> パラメーターで上書きされない限り、デフォルトで pkispawn
は /var/lib/pki/pki-tomcat
ディレクトリー配下の pki-tomcat
と呼ばれる PKI サーバーインスタンスにサブシステムをインストールします。同じインスタンスに複数のサブシステムをインストールできます。
サンプルのデプロイメント設定ファイルは、付録 XXX [NEEDS UPDATING] にあります。
7.2.2.1. ワンステップインストール
ワンステップインストールのプロセスでは、管理者は最初に pkispawn
設定ファイルを作成し、次にこのファイルに対して以下のように pkispawn
を実行します。
pkispawn -s [CA, OCSP, KRA, TKS, TPS, ACME, EST] -f cs_inst.cfg –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS, ACME, EST] -f cs_inst.cfg –debug
インストールを開始する前に、まず --precheck
オプションを指定して pkispawn
コマンドを実行し、設定ファイルを検証することが推奨されます。
CA の場合の例を以下に示します。
pkispawn -s CA -f rootca_inst.cfg --precheck --debug pkispawn -s CA -f rootca_inst.cfg --debug
# pkispawn -s CA -f rootca_inst.cfg --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --debug
完全な例は、「pkispawn
シングルステップ方式を使用してルート CA をインストールする」 を参照してください。
7.2.2.2. ツーステップインストール
ツーステップインストールでは、管理者は最初に pkispawn
設定ファイルを作成し、次に同じ pkispawn
設定ファイルに対して pkispawn
を 2 回実行します。pkispawn
ユーティリティーの実行間に、管理者は登録プロファイル、cs.cfg
などのさまざまな設定ファイルを手動で更新できます。この方法により、より優れたカスタマイズが可能になります。
ツーステップインストールを構成する 2 段階の概要は次のとおりです。
最初のステップ (インストール)
-
pkispawn
設定ファイルを作成します。 -
pkispawn
(インストール) を実行します。
-
2 番目のステップ (設定)
- 設定をカスタマイズします。
-
pkispawn
(設定) を実行します。
最初のステップ (インストール)
このステップでは、pkispawn
を実行すると /usr/share/pki/
ディレクトリーからインスタンス固有の /etc/pki/instance_name/
ディレクトリーに設定ファイルがコピーされます。さらに pkispawn
は、デプロイメント設定ファイルで定義されている値に基づき設定を行います。
インストールのこの部分では、管理者が次の 2 つのサブステップを実行する必要があります。
-
pkispawn
設定ファイルを作成します。「pkispawn
設定ファイルの作成」を参照してください。 次のように
pkispawn
を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-configuration –debug
注記インストールを開始する前に、まず
--precheck
オプションを指定してpkispawn
コマンドを実行し、設定ファイルを検証することが推奨されます。CA の場合の例を以下に示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-configuration --precheck --debug # pkispawn -s CA -f rootca_inst.cfg --skip-configuration --debug
2 番目のステップ (設定)
2 番目のステップでは、pkispawn
インスタンス固有の /etc/pki/instance_name/
ディレクトリーの設定ファイルに基づきインストールを続行します。
インストールのこの部分では、管理者が次の 2 つのサブステップを実行する必要があります。
カスタマイズ: ここでは、次のサブステップに進む前に、インスタンス固有の設定ファイルの一部を手動で更新できます。通常、
pkispawn
設定ファイルでは設定できないがシステムの結果や動作に影響を与えるパラメーターをこの時点でカスタマイズします。たとえば、/var/lib/pki/<CA instance name>/ca/conf/
のシステム証明書登録プロファイル (*.profile) を変更します (15章証明書プロファイルの設定 参照)。以下に例を示します。- 対応するシステム証明書プロファイルを編集して、システム証明書に (デフォルトプロファイルにはない) 証明書拡張を追加します。
- 対応するシステム証明書プロファイルを編集してシステム証明書の有効期間を変更します。
次のように、最初のステップと同じ
pkispawn
ファイルに対してpkispawn
を異なる方法で実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg --skip-installation –debug
インストールを開始する前に、まず設定ファイルを使用して事前チェックを実行することが推奨されます。
CA の場合の例を以下に示します。
pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --precheck --debug
# pkispawn -s CA -f rootca_inst.cfg --skip-installation --debug
完全な例は、「pkispawn
ツーステップ方式を使用してルート CA をインストールする」 を参照してください。