7.2. pkispawn ユーティリティーを使用して RHCS をインストールする
Red Hat Certificate System では、管理者は pkispawn
ユーティリティーを使用して個々のサブシステムを設定します。このセクションでは、pkispawn
を使用したインストールの仕組み全般を説明します。インストール例に従う際には、記載されている内容の詳細を確認して正しい選択をしてください。
pkispawn
に十分な理解がある場合は、「インストール例 (導入)」 に進んでください。
7.2.1. pkispawn
設定ファイルの作成
pkispawn
ユーティリティーには設定ファイルが必要です。このファイルには、セクションにグループ化されたパラメーターが含まれています。これらのセクションは積み重ねられているため、前のセクションで定義されたパラメーターを後のセクションで定義されたパラメーターでオーバーライドできます。セクションは次の順序で読まれます。
- [DEFAULT] - サブシステムに依存しない設定
- [Tomcat]
- [CA]、[KRA]、[OCSP]、[TKS]、[TPS] - サブシステム固有のセクション
実行すると、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
ファイルを参照してください。
このセクションでは、Certificate System と同じホスト上で実行される Directory Server の一般的な最小設定を説明します。環境に応じて、追加パラメーターが必要になる場合があります。追加の例は、pkispawn(8)
の man ページの EXAMPLES セクションを参照してください。
このセクションで説明するパラメーターは、pki_default.cfg(5)
の man ページを参照してください。
サブシステムに依存しない設定
インストールするサブシステムとは関係なく、設定ファイルの [DEFAULT]
セクションには次の設定が必要です。
一意のインスタンス名を設定します。
pki_instance_name=instance_name
# pki_instance_name=instance_name
Copy to Clipboard Copied! ホスト名を設定します。
pki_hostname=server.example.com
# pki_hostname=server.example.com
Copy to Clipboard Copied! 注記Certificate System は、これらのパラメーターとインスタンス名に基づいて一意の証明書ニックネームを作成します。証明書のニックネームの一意性は、複数の PKI インスタンスで共有される HSM トークンの機能を維持する上で非常に重要です。
HTTP および HTTPS プロトコルのポート番号を設定します。
pki_https_port=port_number pki_http_port=port_number
pki_https_port=port_number pki_http_port=port_number
Copy to Clipboard Copied! 重要同じホスト上で複数の Certificate System インスタンスを実行するには、ホスト上の他のサービスで使用されていないポートを
pki_https_port
およびpki_http_port
パラメーターに設定する必要があります。デフォルトでは、Certificate System は HTTP にポート 8080、HTTPS にポート 8443 を使用します。HSM 固有のパラメーターを設定します。
pki_hsm_enable=True 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 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
Copy to Clipboard Copied! 詳細は、「HSM を使用した Certificate System のインストールの準備」 を参照してください。
RSA Certificate System インスタンスをビルドする場合は、次の設定を使用します。
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
Copy to Clipboard Copied! key_algorithm パラメーターに選択できる項目は次のとおりです。
SHA256withRSA SHA384withRSA SHA512withRSA
SHA256withRSA SHA384withRSA SHA512withRSA
Copy to Clipboard Copied! 注記これらのアルゴリズムパラメーターは、CA の
CS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された値に設定できます。詳細は、管理ガイド (Common Criteria Edition) の付録 B.2.10 署名アルゴリズム制約 を参照してください。署名アルゴリズムはkey_type
と一致する必要があります。証明書の作成時に RSA の代わりに楕円曲線暗号 (ECC) を使用するには、次のように設定します。
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
Copy to Clipboard Copied! key_algorithm
パラメーターに選択できる項目は次のとおりです。SHA256withEC SHA384withEC SHA512withEC
SHA256withEC SHA384withEC SHA512withEC
Copy to Clipboard Copied! 注記これらのアルゴリズムパラメーターは、CA の
CS.cfg
ファイルのca.profiles.defaultSigningAlgsAllowed
パラメーターで指定された値に設定できます。詳細は、管理ガイド (Common Criteria Edition) の付録 B.2.10 署名アルゴリズム制約 を参照してください。署名アルゴリズムはkey_type
と一致する必要があります。ECC の場合、
key_size
に選択できる値は次のとおりです。nistp256 nistp384 nistp521
nistp256 nistp384 nistp521
Copy to Clipboard Copied! ECC の場合、
key_type
にはecc
を選択できます。ブートストラップ管理者ユーザーのクライアントディレクトリーを設定します。
pki_client_dir=bootstrap_admin_directory
pki_client_dir=bootstrap_admin_directory
Copy to Clipboard Copied! デフォルトでは、パスは
~/.dogtag/instance_name/
に設定されています。重要pki_admin_*
およびpki_client_*
パラメーターは、インストールプロセスによって自動的に作成されるブートストラップユーザーに属します。デフォルトのロール (権限) とブートストラップユーザーの詳細は、「ユーザー、認可、アクセス制御」 を参照してください。このセクションで説明するパラメーターは、pki_default.cfg(5)
の man ページを参照してください。ブートストラップ管理者ユーザーのさまざまなパスワードを設定します。
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
Copy to Clipboard Copied! 同じホストで実行されている Directory Server への LDAPS 接続のパラメーターを設定します。
pki_ds_database=back-end database name pki_ds_hostname=hostname 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_database=back-end database name pki_ds_hostname=hostname pki_ds_secure_connection=True pki_ds_secure_connection_ca_pem_file=path_to_CA_or_self-signed_certificate pki_ds_password=password
Copy to Clipboard Copied! Directory Server で自己署名付き証明書を使用する場合は、以下のコマンドを使用して Directory Server の Network Security Services (NSS) データベースからエクスポートします。
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
Copy to Clipboard Copied! セキュリティードメインとして機能する CA に対して、適切なパラメーターを設定します。
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
Copy to Clipboard Copied!
[Tomcat] セクション:
Tomcat JServ Protocol (AJP) ポートを設定します。
pki_ajp_port=Tomcat_AJP_port
pki_ajp_port=Tomcat_AJP_port
Copy to Clipboard Copied! Tomcat サーバーポートを設定します。
pki_tomcat_server_port=Tomcat_server_port
pki_tomcat_server_port=Tomcat_server_port
Copy to Clipboard Copied!
同じホスト上で複数の 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]
) を検索します。
例は、以下を参照してください。
- [CA] - 「RootCA の作成と設定 (パート I)」
- [OCSP] - 「OCSP インスタンス (RootCA) の作成と設定」 および 「OCSP インスタンスの作成および設定 (SubCA)」
- [CA] - 「SubCA の作成と設定 (パート I)」
- [KRA] - 「KRA インスタンスの作成および設定」
- [TKS] - 「TKS インスタンスの作成と設定」
- [TPS] - 「TPS インスタンスの作成と設定」
7.2.2. インストール方法 (シングルステップまたはツーステップ)
pkispawn
は、シングルステップインストール または ツーステップインストール のいずれかで実行できます。
- ワンステップインストール
シングルステップのインストールプロセスでは、まず設定ファイルを作成し、その後、このファイルに対して以下のとおり
pkispawn
を 1 回実行します。pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg –debug
# pkispawn -s [CA, OCSP, KRA, TKS, TPS] -f cs_inst.cfg –debug
Copy to Clipboard Copied! 注記インストールを開始する前に、まず設定ファイルを使用して事前チェックを実行することが推奨されます。
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
Copy to Clipboard Copied! 完全な例は、「RootCA インスタンスのインストール (シングルステップ方式)」 を参照してください。
- ツーステップインストール
ツーステップインストールでは、管理者はインストールの 2 つの部分の間で設定ファイルを手動で更新できます。この方法により、より優れたカスタマイズが可能になります。
ツーステップインストールは、以下の 2 つの主要な部分で構成されます。
ステップ 1
このステップでは、
pkispawn
は/usr/share/pki/
ディレクトリーからインスタンス固有の/etc/pki/instance_name/
ディレクトリーに設定ファイルをコピーします。さらに、pkispawn は、デプロイメント設定ファイルで定義されている値に基づいて設定を行います。pkispawn
の最初のステップは次のように実行されます。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
Copy to Clipboard Copied! 注記インストールを開始する前に、まず設定ファイルを使用して事前チェックを実行することが推奨されます。
CA の例:
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
Copy to Clipboard Copied!
ステップ間のカスタマイズ
2 つの pkispawn
ステップを実行する際に、次の pkispawn ステップの前にインスタンス固有の設定ファイルを手動で更新できます。通常、pkispawn
設定ファイルでは設定できないがシステムの結果や動作に影響を与えるパラメーターをこの時点でカスタマイズします。このようなカスタマイズの例には、以下が含まれますが、これらに限定されません。
/var/lib/pki/<CA instance name>/ca/conf/*.profile
のシステム証明書登録プロファイル (11章証明書プロファイルの設定 を参照)- 例: 対応するシステム証明書プロファイルを編集して、システム証明書に (デフォルトプロファイルにはない) 証明書拡張を追加する
- 例: 対応するシステム証明書プロファイルを編集してシステム証明書の有効期間を変更する
暗号リスト (「暗号リストの更新」 を参照)
- 例: サポートされる暗号をさらに制限する
- その他
ステップ 2
このステップでは、pkispawn
インスタンス固有の /etc/pki/instance_name/
ディレクトリーの設定ファイルに基づいてインストールを続行します。この 2 番目のステップは次のように実行されます。
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
完全な例は、「RootCA インスタンスのインストール (ツーステップ方式)」 を参照してください。
7.2.3. インストール例 (導入)
各タイプの CS インスタンスのインストール方法をわかりやすく示すために、以下の RSA RHCS サブシステムの RSA セットアップをインストール/設定するための手順例を説明します。これらのサブシステムは、別々の Tomcat インスタンス上にあり、サポート対象のファームウェア/ソフトウェアを備えた Entrust nShield Connect XC ユニットが採用されています。
- TMS 以外: ルート CA (RootCA)、OCSP (RootCA 用)、下位 CA (SubCA)、OCSP (SubCA 用)、KRA (SubCA 用)。
- TMS (対象となる場合): TKS (SubCA 用)、TPS (SubCA 用)。
一般的に、ルート CA は日常的な証明書発行には推奨されません。したがって、ルート CA の OCSP は必要ありません。この例では、RootCA の OCSP はデモンストレーション目的でのみ提示されています。
ECC 環境は、ECC の例を参照してください。
次の設定手順例では、pkispawn
ユーティリティーを使用して以下の PKI トポロジーを作成します。このトポロジーでは、RootCA (独自の OCSP インスタンスを持つ) が SubCA の CA 署名証明書の証明書発行を提供し、SubCA は独自の OCSP インスタンスと KRA インスタンス、および TMS が関係する場合は TKS インスタンスと TPS インスタンスに対するセキュリティードメインになります。

関連するプロセスを理解するために、以下を行うことが推奨されます。
- まだの場合は 6章インストールの前提条件 の内容を実行します。
シングルステップインストールまたはツーステップインストールの例に従い、以下をインストールします。
- RootCA
- RootCA の OCSP (オプション)
- SubCA
- SubCA の OCSP
- KRA
(TMS が関連する場合 - RSA のみ) シングルステップインストールまたはツーステップインストールの例に従い、以下のインストールを続行します。
- TKS
- TPS