7.4. PKI サブシステムのインストール
Red Hat Certificate System は、個別にインストールできるさまざまなサブシステムを提供します。たとえば、複数のサブシステムインスタンスを 1 つのサーバーにインストールすることも、異なるホストで個別に実行することもできます。これにより、インストールを環境に合わせて適応させることができ、より高い可用性、スケーラビリティー、フェイルオーバーのサポートを提供することができます。
インストールのガイダンスについては、以下の必要な RHCS サブシステムガイドを参照してください。
pkispawn
についての理解が十分ではない場合は、各サブシステムのインストールで提示される選択肢をよりよく理解するために 「pkispawn
ユーティリティーを使用して RHCS をインストールする」 を参照してください。
完了したら 「インストール後のタスク」 を参照し、インストールするサブシステムに関連するセクションの内容に従ってください。
7.4.1. CA サブシステムのインストール
- CA のインストール
- CA クローンのインストール
- HSM を使用した CA クローンのインストール
- LDAPS 接続を使用した CA クローンのインストール
- ブートストラップ DS 証明書を使用した LDAPS による CA クローンのインストール
- カスタム CA 署名鍵を使用した CA のインストール
- ECC を使用する CA のインストール
- HSM 内の既存のキーを使用した CA のインストール
- 内部トークン内の既存キーを使用した CA のインストール
- 外部 CA 署名証明書を使用した CA のインストール
- HSM を使用した CA のインストール
- LDAPS 接続を使用した CA のインストール
- 下位 CA のインストール
7.4.1.1. CA のインストール
自己署名 CA 署名証明書を使用して CA サブシステムインスタンスをインストールするには、次のプロセスに従います。これは "ルート CA" とも呼ばれます。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.1.1. CA サブシステムのインストール
CA サブシステムをデプロイするには、ca.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
サンプルのデプロイメント設定は、/usr/share/pki/server/examples/installation/ca.cfg にあります。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca.cfg -s CA
$ pkispawn -f ca.cfg -s CA
7.4.1.1.2. CA システム証明書
インストール後、CA システム証明書とキーはサーバーの NSS データベース (/var/lib/pki/pki-tomcat/conf/alias
) に保存されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
必要に応じて、次のコマンドを使用して証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA の有効な証明書 ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.1.3. 管理者証明書
インストールした後に、管理者証明書とキーは ~/.dogtag/pki-tomcat/ca_admin_cert.p12
に保存されます。
PKCS #12 パスワードは、pki_client_pkcs12_password
パラメーターで指定されます。
管理者証明書を使用するには、次の手順を実行します。
サーバーの NSS データベースから CA 署名証明書をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki-server cert-export ca_signing --cert-file ca_signing.crt
$ pki-server cert-export ca_signing --cert-file ca_signing.crt
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.2. CA クローンのインストール
既存の CA サブシステムのクローンとして CA サブシステムをインストールするには、次のプロセスを実行します。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
その他の役に立つヒント:
- マスター上のファイアウォールが、クローンから LDAP への外部アクセスを許可していることを確認します。
- クローン上のファイアウォールが、マスターから LDAP への外部アクセスを許可していることを確認します。
-
LDAP に
dc=pki,dc=example,dc=com
エントリーがない場合、LDAP サーバーに接続できない場合と同じエラーが発生します。
7.4.1.2.1. 既存 CA システム証明書のエクスポート
既存システムで、次のコマンドを使用して CA システム証明書をエクスポートします。
pki-server ca-clone-prepare \ --pkcs12-file ca-certs.p12 \ --pkcs12-password Secret.123
$ pki-server ca-clone-prepare \
--pkcs12-file ca-certs.p12 \
--pkcs12-password Secret.123
このコマンドは、次の証明書 (証明書チェーンを含む) とそのキーを PKCS #12 ファイルにエクスポートします。
- CA 署名証明書
- OCSP 署名証明書
- 監査署名証明書
- サブシステム証明書
既存の SSL サーバー証明書はエクスポートされないことに注意してください。
必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。
pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \ pkcs12-cert-import <nickname> \ --pkcs12-file ca-certs.p12 \ --pkcs12-password Secret.123 \ --append
$ pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \
pkcs12-cert-import <nickname> \
--pkcs12-file ca-certs.p12 \
--pkcs12-password Secret.123 \
--append
オプションとして、次のコマンドを使用して、上記の証明書の CSR もエクスポートできます。
pki-server cert-export ca_signing \ --csr-file ca_signing.csr pki-server cert-export ca_ocsp_signing \ --csr-file ca_ocsp_signing.csr pki-server cert-export ca_audit_signing \ --csr-file ca_audit_signing.csr pki-server cert-export subsystem \ --csr-file subsystem.csr
$ pki-server cert-export ca_signing \
--csr-file ca_signing.csr
$ pki-server cert-export ca_ocsp_signing \
--csr-file ca_ocsp_signing.csr
$ pki-server cert-export ca_audit_signing \
--csr-file ca_audit_signing.csr
$ pki-server cert-export subsystem \
--csr-file subsystem.csr
7.4.1.2.2. SELinux 権限
ca-certs.p12
をクローンマシンにコピーした後、適切な SELinux ルールが追加されていることを確認します。
semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12 restorecon -R -v ca-certs.p12
$ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12
$ restorecon -R -v ca-certs.p12
ca-certs.p12
ファイルが pkiuser
によって所有されていることを確認します。
chown pkiuser:pkiuser ca-certs.p12
$ chown pkiuser:pkiuser ca-certs.p12
7.4.1.2.3. CA サブシステムのインストール
CA サブシステムのクローンをデプロイするには、ca-clone.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca.cfg にあります。
これは、次のことを前提としています。
- プライマリー CA サブシステムは https://primary.example.com:8443 で実行されている。
-
CA 署名証明書が
ca_signing.crt
にエクスポートされている。 -
管理者証明書とキーが
ca_admin_cert.p12
にエクスポートされている。 -
PKCS #12 パスワードが、
pki_client_pkcs12_password
パラメーターで指定されている。
詳細は、CA のインストール を参照してください。
CSR が利用可能な場合は、次のパラメーターを使用して指定できます。
pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr pki_subsystem_csr_path=subsystem.csr
pki_ca_signing_csr_path=ca_signing.csr
pki_ocsp_signing_csr_path=ca_ocsp_signing.csr
pki_audit_signing_csr_path=ca_audit_signing.csr
pki_subsystem_csr_path=subsystem.csr
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca-clone.cfg -s CA
$ pkispawn -f ca-clone.cfg -s CA
7.4.1.2.4. CA システム証明書
インストール後、既存の CA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (つまり /var/lib/pki/pki-tomcat/conf/alias
) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
必要に応じて、次のコマンドを使用して証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA の有効な証明書 ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.2.5. 管理者証明書
管理者証明書を使用するには、次の手順を実行します。
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.3. HSM を使用した CA クローンのインストール
システム証明書とそのキーが HSM に保存されている既存 CA サブシステムのクローンとして CA サブシステムをインストールするには、このプロセスを実行します。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.3.1. 既存システム証明書のエクスポート
システム証明書とキーはすでに HSM 上にあるため、クローンを作成するためにそれらを PKCS #12 ファイルにエクスポートする必要はありません。
ただし、システム証明書の CSR は HSM ではなく CS.cfg
に保存されます。
オプションで、次のコマンドを使用してエクスポートできます。
pki-server cert-export ca_signing \ --csr-file ca_signing.csr pki-server cert-export ca_ocsp_signing \ --csr-file ca_ocsp_signing.csr pki-server cert-export ca_audit_signing \ --csr-file ca_audit_signing.csr pki-server cert-export subsystem \ --csr-file subsystem.csr
$ pki-server cert-export ca_signing \
--csr-file ca_signing.csr
$ pki-server cert-export ca_ocsp_signing \
--csr-file ca_ocsp_signing.csr
$ pki-server cert-export ca_audit_signing \
--csr-file ca_audit_signing.csr
$ pki-server cert-export subsystem \
--csr-file subsystem.csr
7.4.1.3.2. CA サブシステムのインストール
注記: CA 署名証明書が ca_signing.crt
にエクスポートされていることを前提としています。
デプロイメント設定を含むファイル (例:
ca.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM pki_cert_chain_path=ca_signing.crt [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_hostname=pki.example.com pki_security_domain_https_port=8443 pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/replica.example.com pki_subsystem_nickname=subsystem pki_ca_signing_token=HSM pki_ocsp_signing_token=HSM pki_audit_signing_token=HSM pki_sslserver_token=HSM pki_subsystem_token=HSM pki_clone=True pki_clone_replicate_schema=True pki_clone_uri=https://pki.example.com:8443
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM pki_cert_chain_path=ca_signing.crt [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_hostname=pki.example.com pki_security_domain_https_port=8443 pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/replica.example.com pki_subsystem_nickname=subsystem pki_ca_signing_token=HSM pki_ocsp_signing_token=HSM pki_audit_signing_token=HSM pki_sslserver_token=HSM pki_subsystem_token=HSM pki_clone=True pki_clone_replicate_schema=True pki_clone_uri=https://pki.example.com:8443
CSR が利用可能な場合は、次のパラメーターを使用して指定できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr pki_subsystem_csr_path=subsystem.csr
pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr pki_subsystem_csr_path=subsystem.csr
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca.cfg -s CA
$ pkispawn -f ca.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
7.4.1.3.3. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C sslserver/replica.example.com ,, ca_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:ca_signing CTu,Cu,Cu HSM:ca_ocsp_signing u,u,u HSM:subsystem u,u,u HSM:ca_audit_signing u,u,Pu HSM:sslserver/replica.example.com u,u,u
7.4.1.3.4. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
マスターの管理者キーと証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA クローンにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.4. LDAPS 接続を使用した CA クローンのインストール
セキュアなデータベース接続を備えた既存 CA サブシステムのクローンとして CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.4.1. DS 設定
クローンシステムで上記の前提条件を完了した後、DS との SSL 接続を有効にする の手順に従って、CA クローンの DS が、CA によって発行された実際のサーバー証明書を使用して SSL が有効になった状態で実行されるようにします。
役に立つヒント:
- マスター上のファイアウォールが、クローンから LDAP への外部アクセスを許可していることを確認します。
- クローン上のファイアウォールが、マスターから LDAP への外部アクセスを許可していることを確認します。
-
LDAP に
dc=pki,dc=example,dc=com
エントリーがない場合、LDAP サーバーに接続できない場合と同じエラーが発生します。
7.4.1.4.2. 既存 CA システム証明書のエクスポート
既存のシステムで、次のコマンドを使用して CA システム証明書をエクスポートし、クローンシステムにコピーします。
pki-server ca-clone-prepare --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 pki-server cert-export ca_signing --cert-file ca_signing.crt
$ pki-server ca-clone-prepare --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123
$ pki-server cert-export ca_signing --cert-file ca_signing.crt
次の証明書 (証明書チェーンを含む) とそのキーが、PKCS #12 ファイルにエクスポートされます。
- CA 署名証明書
- OCSP 署名証明書
- 監査署名証明書
- サブシステム証明書
既存の SSL サーバー証明書はエクスポートされないことに注意してください。
必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。
pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \ pkcs12-cert-import <nickname> \ --pkcs12-file ca-certs.p12 \ --pkcs12-password Secret.123 \ --append
$ pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \
pkcs12-cert-import <nickname> \
--pkcs12-file ca-certs.p12 \
--pkcs12-password Secret.123 \
--append
7.4.1.4.3. SELinux 権限
ca-certs.p12
をクローンマシンにコピーした後、適切な SELinux ルールが追加されていることを確認します。
semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12 restorecon -R -v ca-certs.p12
$ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12
$ restorecon -R -v ca-certs.p12
ca-certs.p12
ファイルが pkiuser
によって所有されていることを確認します。
chown pkiuser:pkiuser ca-certs.p12
$ chown pkiuser:pkiuser ca-certs.p12
7.4.1.4.4. CA サブシステムのインストール
CA サブシステムのクローンをデプロイするには、ca-secure-ds-secondary.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
以下で参照されるサンプル pkispawn 設定ファイルでは、ds_signing.crt
という名前のファイルに DS サーバー証明書の署名証明書があると想定されています。既存の CA が署名証明書として使用されているため、CA の署名証明書を ds_signing.crt
にコピーします。
cp ca_signing.crt ds_signing.crt
$ cp ca_signing.crt ds_signing.crt
サンプルのデプロイメント設定は、/usr/share/pki/server/examples/installation/ca-secure-ds-secondary.cfg にあります。
これは、以下を前提としています。
-
既存の CA および DS インスタンスは
primary.example.com
で実行されている。 -
新しい CA および DS クローンが
secondary.example.com
にインストールされた。 -
CA 署名証明書が
ca_signing.crt
にエクスポートされた。 -
管理者証明書とキーが
ca_admin_cert.p12
にエクスポートされた。 -
PKCS #12 パスワードは、
pki_client_pkcs12_password
パラメーターで指定されます。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca-secure-ds-secondary.cfg -s CA
$ pkispawn -f ca-secure-ds-secondary.cfg -s CA
7.4.1.4.5. CA システム証明書
インストール後、既存の CA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (つまり /var/lib/pki/pki-tomcat/conf/alias
) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
subsystem u,u,u
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
ca_audit_signing u,u,Pu
ds_signing CT,C,C
sslserver u,u,u
必要に応じて、次のコマンドを使用して、クローン CA システム証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA の有効な証明書 ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.4.6. 管理者証明書
管理者証明書を使用するには、次の手順を実行します。
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.5. ブートストラップ DS 証明書を使用した LDAPS による CA クローンのインストール
ブートストラップ SSL サーバー証明書を使用して実行される既存の CA サブシステムのクローンとして CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.5.1. DS 設定
クローンシステムで上記の前提条件を完了したら、既存システムに移動して DS 署名証明書を
ds_signing.p12
にエクスポートし、次のコマンドを使用して証明書をクローンシステムにコピーします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -d /etc/dirsrv/slapd-localhost \ -C /etc/dirsrv/slapd-localhost/pwdfile.txt \ pkcs12-export --pkcs12-file ds_signing.p12 \ --pkcs12-password Secret.123 Self-Signed-CA
$ pki -d /etc/dirsrv/slapd-localhost \ -C /etc/dirsrv/slapd-localhost/pwdfile.txt \ pkcs12-export --pkcs12-file ds_signing.p12 \ --pkcs12-password Secret.123 Self-Signed-CA
次のコマンドを使用して、
ds_signing.p12
をクローン DS インスタンスにインポートします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -d /etc/dirsrv/slapd-localhost \ -C /etc/dirsrv/slapd-localhost/pwdfile.txt \ pkcs12-import --pkcs12-file ds_signing.p12 \ --pkcs12-password Secret.123
$ pki -d /etc/dirsrv/slapd-localhost \ -C /etc/dirsrv/slapd-localhost/pwdfile.txt \ pkcs12-import --pkcs12-file ds_signing.p12 \ --pkcs12-password Secret.123
DS クローン上で、DS サーバー証明書の作成 の説明に従って、ブートストラップ DS サーバー証明書を作成します。
証明書のサブジェクト DN はクローンのホスト名 (
--subject "CN=secondary.example.com"
) と一致する必要があることに注意してください。- SSL 接続の有効化 の説明に従って SSL 接続を有効にします。
DS の再起動が正常に完了したら、次のように DS 署名証明書を 'ds_signing.crt' にエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
役に立つヒント:
- DS ファイアウォールが PKI サーバーおよびその他の DS インスタンスからのアクセスを許可していることを確認します。
-
LDAP に
dc=pki,dc=example,dc=com
エントリーがない場合、LDAP サーバーに接続できない場合と同じエラーが発生します。
7.4.1.5.2. 既存 CA システム証明書のエクスポート
既存のシステムで、次のコマンドを使用して CA システム証明書をエクスポートし、クローンシステムにコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki-server ca-clone-prepare --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 pki-server cert-export ca_signing --cert-file ca_signing.crt
$ pki-server ca-clone-prepare --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 $ pki-server cert-export ca_signing --cert-file ca_signing.crt
次の証明書 (証明書チェーンを含む) とそのキーが、PKCS #12 ファイルにエクスポートされます。
- CA 署名証明書
- OCSP 署名証明書
- 監査署名証明書
- サブシステム証明書
既存の SSL サーバー証明書はエクスポートされないことに注意してください。
必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \ pkcs12-cert-import <nickname> \ --pkcs12-file ca-certs.p12 \ --pkcs12-password Secret.123 \ --append
$ pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \ pkcs12-cert-import <nickname> \ --pkcs12-file ca-certs.p12 \ --pkcs12-password Secret.123 \ --append
7.4.1.5.3. SELinux 権限
ca-certs.p12
をクローンマシンにコピーした後、適切な SELinux ルールが追加されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12 restorecon -R -v ca-certs.p12
$ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12 $ restorecon -R -v ca-certs.p12
ca-certs.p12
ファイルがpkiuser
によって所有されていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow chown pkiuser:pkiuser ca-certs.p12
$ chown pkiuser:pkiuser ca-certs.p12
7.4.1.5.4. CA サブシステムのインストール
CA サブシステムのクローンをデプロイするには、ca-secure-ds-secondary.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
サンプルのデプロイメント設定は、/usr/share/pki/server/examples/installation/ca-secure-ds-secondary.cfg にあります。
これは、以下を前提としています。
-
既存の CA および DS インスタンスは
primary.example.com
で実行されている。 -
新しい CA および DS クローンが
secondary.example.com
にインストールされた。 -
CA 署名証明書が
ca_signing.crt
にエクスポートされた。 -
管理者証明書とキーが
ca_admin_cert.p12
にエクスポートされた。 -
PKCS #12 パスワードは、
pki_client_pkcs12_password
パラメーターで指定されます。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca-secure-ds-secondary.cfg -s CA
$ pkispawn -f ca-secure-ds-secondary.cfg -s CA
7.4.1.5.5. CA システム証明書
インストール後、既存の CA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (/var/lib/pki/pki-tomcat/conf/alias
) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
subsystem u,u,u
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
ca_audit_signing u,u,Pu
ds_signing CT,C,C
sslserver u,u,u
必要に応じて、次のコマンドを使用して、クローン CA システム証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA の有効な証明書 ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.5.6. 管理者証明書
管理者証明書を使用するには、次の手順を実行します。
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.6. カスタム CA 署名鍵を使用した CA のインストール
カスタム CA 署名鍵、CSR、証明書を使用して CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.6.1. CA サブシステムのインストールを開始する
ステップ 1 のデプロイメント設定が含まれるファイル (例:
ca-step1.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem pki_external=True pki_external_step_two=False
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem pki_external=True pki_external_step_two=False
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-step1.cfg -s CA
$ pkispawn -f ca-step1.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
CSR パスパラメーターが指定されていないため、デフォルトでは CA 署名鍵は生成されません。
7.4.1.6.2. CA 署名鍵、CSR、証明書の生成
server NSS データベースにカスタム CA 署名鍵を生成し、CSR を生成して、ファイル (例: ca_signing.csr
) に保存します。
CSR を使用して CA 署名証明書を発行します。
- ルート CA をインストールする場合は、自己署名 CA 署名証明書を生成します。
- 下位 CA をインストールする場合は、CSR を外部 CA に送信して CA 署名証明書を発行します。
CA 署名証明書を ca_signing.crt
などのファイルに保存します。CA 署名証明書は、単一の証明書または PEM 形式の PKCS #7 証明書チェーンとして指定できます。
CA 署名証明書が外部 CA によって発行されている場合は、外部 CA 証明書チェーンを external.crt
などのファイルに保存します。証明書チェーンは、単一の証明書または PEM 形式の PKCS #7 証明書チェーンとして指定できます。証明書チェーンには、ルート CA から CA 署名証明書を発行した外部 CA までのすべての CA 証明書が含まれている必要がありますが、CA 署名証明書自体は除外してください。
7.4.1.6.3. CA サブシステムのインストールを完了する
ステップ 2 のデプロイメント設定が含まれる別のファイル (例: ca-step2.cfg
) を準備します。このファイルはステップ 1 の ca-step1.cfg
からコピーでき、以下の変更を追加できます。
次のパラメーターを使用してステップ 2 を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用してカスタム CA 署名 CSR を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_csr_path=ca_signing.csr
pki_ca_signing_csr_path=ca_signing.csr
次のパラメーターを使用してカスタム CA 署名証明書を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_cert_path=ca_signing.crt
pki_ca_signing_cert_path=ca_signing.crt
CA 署名証明書が外部 CA によって発行されている場合は、次のパラメーターを使用して外部 CA 証明書チェーンを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_cert_chain_nickname=external pki_cert_chain_path=external.crt
pki_cert_chain_nickname=external pki_cert_chain_path=external.crt
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-step2.cfg -s CA
$ pkispawn -f ca-step2.cfg -s CA
7.4.1.6.4. システム証明書の検証
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
external CT,C,C
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
7.4.1.6.5. 管理者証明書の検証
外部 CA 証明書チェーンをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 client-cert-import --ca-cert external.crt
$ pki -c Secret.123 client-cert-import --ca-cert external.crt
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.7. ECC を使用する CA のインストール
ECC 自己署名 CA 署名証明書を使用して CA サブシステムをインストールするには、このプロセスに従います。
サポートされている ECC 曲線:
- nistp256
- nistp384
- nistp521
サポートされている ECC キーアルゴリズム:
- SHA256withEC
- SHA384withEC
- SHA512withEC
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.7.1. CA サブシステムのインストール
CA サブシステムをデプロイするには、ca-ecc.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
サンプルのデプロイメント設定は、/usr/share/pki/server/examples/installation/ca-ecc.cfg にあります。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca-ecc.cfg -s CA
$ pkispawn -f ca-ecc.cfg -s CA
7.4.1.7.2. CA システム証明書
インストール後、CA システム証明書とキーはサーバーの NSS データベース (/var/lib/pki/pki-tomcat/conf/alias
) に保存されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
必要に応じて、次のコマンドを使用して証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA の有効な証明書 ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.7.3. 管理者証明書
インストールした後に、管理者証明書とキーは ~/.dogtag/pki-tomcat/ca_admin_cert.p12
に保存されます。PKCS #12 パスワードは、pki_client_pkcs12_password
パラメーターで指定されます。
管理者証明書を使用するには、次の手順を実行します。
サーバーの NSS データベースから CA 署名証明書をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki-server cert-export ca_signing --cert-file ca_signing.crt
$ pki-server cert-export ca_signing --cert-file ca_signing.crt
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
管理者証明書を使用して CA サブシステムにアクセスできることを確認するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.8. HSM 内の既存キーを使用した CA のインストール
このプロセスに従って、HSM にキーが保存されている既存 CA からのシステムキー、CSR、証明書を使用して CA サブシステムをインストールします。
既存の CA サブシステムとの競合を避けるため、新しい CA サブシステムは新しい SSL サーバー証明書とサブシステム証明書を使用するため、それらはインストールプロセスには含まれません。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.8.1. CA サブシステムの起動
ステップ 1 のデプロイメント設定が含まれるファイル (例:
ca-step1.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem/pki.example.com pki_external=True pki_external_step_two=False
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem/pki.example.com pki_external=True pki_external_step_two=False
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-step1.cfg -s CA
$ pkispawn -f ca-step1.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
CSR パスパラメーターが指定されていないため、CA システムキーと管理者キーは生成されません。
7.4.1.8.2. 既存のシステム証明書と CSR のエクスポート
次のコマンドを使用して、既存の CA からシステム証明書をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_signing" -a > ca_signing.crt certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_ocsp_signing" -a > ca_ocsp_signing.crt certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_audit_signing" -a > ca_audit_signing.crt
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_signing" -a > ca_signing.crt $ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_ocsp_signing" -a > ca_ocsp_signing.crt $ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd -n "HSM:ca_audit_signing" -a > ca_audit_signing.crt
次のコマンドを使用して、既存の CA から CSR をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_signing.csr sed -n "/^ca.signing.certreq=/ s/^=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_ocsp_signing.csr $ sed -n "/^ca.ocsp_signing.certreq=/ s/[=]=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_ocsp_signing.csr echo "-----END CERTIFICATE REQUEST-----" >> ca_ocsp_signing.csr echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_audit_signing.csr sed -n "/^ca.audit_signing.certreq=/ s/[=]*=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_audit_signing.csr echo "-----END CERTIFICATE REQUEST-----" >> ca_audit_signing.csr
$ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_signing.csr $ sed -n "/^ca.signing.certreq=/ s/^=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_ocsp_signing.csr $ sed -n "/^ca.ocsp_signing.certreq=/ s/[=]=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_ocsp_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_ocsp_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_audit_signing.csr $ sed -n "/^ca.audit_signing.certreq=/ s/[=]*=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_audit_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_audit_signing.csr
7.4.1.8.3. CA サブシステムのインストールを完了する
ステップ 2 のデプロイメント設定が含まれる別のファイル (例: ca-step2.cfg
) を準備します。このファイルはステップ 1 の ca-step1.cfg
からコピーでき、以下の変更を追加できます。
次のパラメーターを使用してステップ 2 を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用して既存の証明書を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_cert_path=ca_signing.crt pki_ocsp_signing_cert_path=ca_ocsp_signing.crt pki_audit_signing_cert_path=ca_audit_signing.crt
pki_ca_signing_cert_path=ca_signing.crt pki_ocsp_signing_cert_path=ca_ocsp_signing.crt pki_audit_signing_cert_path=ca_audit_signing.crt
次のパラメーターを使用して既存の CSR を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr
pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-step2.cfg -s CA
$ pkispawn -f ca-step2.cfg -s CA
7.4.1.8.4. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C ca_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:ca_signing CTu,Cu,Cu HSM:ca_ocsp_signing u,u,u HSM:subsystem/pki.example.com u,u,u HSM:ca_audit_signing u,u,Pu HSM:sslserver/pki.example.com u,u,u
7.4.1.8.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.9. 内部トークン内の既存キーを使用した CA のインストール
このプロセスに従って、内部トークンにキーが保存されている既存 CA からのシステムキー、CSR、証明書を使用して CA サブシステムをインストールします。
既存の CA サブシステムとの競合を避けるため、新しい CA サブシステムは新しい SSL サーバー証明書とサブシステム証明書を使用するため、それらはインストールプロセスには含まれません。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.9.1. CA サブシステムのインストールを開始する
最初のデプロイメント設定が含まれるファイル (例: ca-existing-certs-step1.cfg
) を準備します。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca-existing-certs-step1.cfg にあります。
以下のコマンドを実行します。
pkispawn -f ca-existing-certs-step1.cfg -s CA
$ pkispawn -f ca-existing-certs-step1.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
CSR パスパラメーターが指定されていないため、CA システムキーと管理者キーは生成されません。
7.4.1.9.2. 既存のシステムキー、CSR、証明書のエクスポート
次のコマンドを使用して、既存の CA からシステムキーと証明書を PKCS #12 ファイルにエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -d /var/lib/pki/pki-tomcat/conf/alias -c Secret.123 pkcs12-export \ --pkcs12 ca-certs.p12 \ --password Secret.123 pki pkcs12-cert-del --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 sslserver pki pkcs12-cert-del --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 subsystem
$ pki -d /var/lib/pki/pki-tomcat/conf/alias -c Secret.123 pkcs12-export \ --pkcs12 ca-certs.p12 \ --password Secret.123 $ pki pkcs12-cert-del --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 sslserver $ pki pkcs12-cert-del --pkcs12-file ca-certs.p12 --pkcs12-password Secret.123 subsystem
次のコマンドを使用して、既存の CA から CSR をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_signing.csr sed -n "/^ca.signing.certreq=/ s/^=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_ocsp_signing.csr $ sed -n "/^ca.ocsp_signing.certreq=/ s/[=]=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_ocsp_signing.csr echo "-----END CERTIFICATE REQUEST-----" >> ca_ocsp_signing.csr echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_audit_signing.csr sed -n "/^ca.audit_signing.certreq=/ s/[=]*=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_audit_signing.csr echo "-----END CERTIFICATE REQUEST-----" >> ca_audit_signing.csr
$ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_signing.csr $ sed -n "/^ca.signing.certreq=/ s/^=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_ocsp_signing.csr $ sed -n "/^ca.ocsp_signing.certreq=/ s/[=]=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_ocsp_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_ocsp_signing.csr $ echo "-----BEGIN CERTIFICATE REQUEST-----" > ca_audit_signing.csr $ sed -n "/^ca.audit_signing.certreq=/ s/[=]*=// p" < /var/lib/pki/pki-tomcat/conf/ca/CS.cfg >> ca_audit_signing.csr $ echo "-----END CERTIFICATE REQUEST-----" >> ca_audit_signing.csr
7.4.1.9.3. CA サブシステムのインストールを完了する
2 つ目のデプロイメント設定が含まれる別のファイル (例:
ca-existing-certs-step2.cfg
) を準備します。このファイルは、最初のファイル (
ca-existing-certs-step1.cfg
) に次の変更を加えて作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用して、PKCS #12 ファイル内の既存のキーと証明書を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_pkcs12_path=ca-certs.p12 pki_pkcs12_password=Secret.123
pki_pkcs12_path=ca-certs.p12 pki_pkcs12_password=Secret.123
次のパラメーターを使用して既存の CSR を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr
pki_ca_signing_csr_path=ca_signing.csr pki_ocsp_signing_csr_path=ca_ocsp_signing.csr pki_audit_signing_csr_path=ca_audit_signing.csr
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca-existing-certs-step2.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-existing-certs-step2.cfg -s CA
$ pkispawn -f ca-existing-certs-step2.cfg -s CA
7.4.1.9.4. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
7.4.1.9.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.10. 外部 CA 署名証明書を使用した CA のインストール
外部 CA とは、インストールされる PKI サブシステムと同じセキュリティードメインに存在しない CA です。
外部 CA 署名証明書を使用して CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.10.1. CA サブシステムのインストールを開始する
最初のデプロイメント設定が含まれるファイル (例: ca-external-cert-step1.cfg
) を準備します。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca-external-cert-step1.cfg にあります。
以下のコマンドを実行します。
pkispawn -f ca-external-cert-step1.cfg -s CA
$ pkispawn -f ca-external-cert-step1.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
また、サーバー NSS データベースに CA 署名鍵を生成し、指定されたパスに CSR を生成します。
7.4.1.10.2. CA 署名証明書の生成
CSR を使用して CA 署名証明書を発行します。
- ルート CA をインストールする場合は、自己署名 CA 署名証明書を生成します。
- 下位 CA をインストールする場合は、CSR を外部 CA に送信して CA 署名証明書を発行します。
CA 署名証明書を ca_signing.crt
などのファイルに保存します。CA 署名証明書は、単一の証明書または PEM 形式の PKCS #7 証明書チェーンとして指定できます。
CA 署名証明書が外部 CA によって発行されている場合は、外部 CA 証明書チェーンを root-ca_signing.crt
などのファイルに保存します。
証明書チェーンは、単一の証明書または PEM 形式の PKCS #7 証明書チェーンとして指定できます。
証明書チェーンには、ルート CA から CA 署名証明書を発行した外部 CA までのすべての CA 証明書が含まれている必要がありますが、CA 署名証明書自体は除外してください。
7.4.1.10.3. CA サブシステムのインストールを完了する
2 つ目のデプロイメント設定が含まれる別のファイル (例:
ca-external-cert-step2.cfg
) を準備します。このファイルは、最初のファイル (ca-external-cert-step1.cfg
) に次の変更を加えて作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用してカスタム CA 署名証明書を指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ca_signing_cert_path=ca_signing.crt
pki_ca_signing_cert_path=ca_signing.crt
CA 署名証明書が外部 CA によって発行されている場合は、次のパラメーターを使用して外部 CA 証明書チェーンを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_cert_chain_nickname=root-ca_signing pki_cert_chain_path=root-ca_signing.crt
pki_cert_chain_nickname=root-ca_signing pki_cert_chain_path=root-ca_signing.crt
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca-external-cert-step2.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca-external-cert-step2.cfg -s CA
$ pkispawn -f ca-external-cert-step2.cfg -s CA
7.4.1.10.4. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
root-ca_signing CT,C,C
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
7.4.1.10.5. 管理者証明書の検証
外部 CA 証明書チェーンをインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 client-cert-import --ca-cert root-ca_signing.crt
$ pki -c Secret.123 client-cert-import --ca-cert root-ca_signing.crt
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.11. HSM を使用した CA のインストール
システム証明書とそのキーが HSM に保存されている自己署名 CA 署名証明書を使用して CA サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.11.1. CA サブシステムのインストール
デプロイメント設定を含むファイル (例:
ca.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [CA] pki_admin_email=caadmin@example.com pki_admin_name=caadmin pki_admin_nickname=caadmin pki_admin_password=Secret.123 pki_admin_uid=caadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ca,dc=pki,dc=example,dc=com pki_ds_database=ca pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_ca_signing_nickname=ca_signing pki_ocsp_signing_nickname=ca_ocsp_signing pki_audit_signing_nickname=ca_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ca.cfg -s CA
$ pkispawn -f ca.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
7.4.1.11.2. システム証明書の検証
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C ca_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:ca_signing CTu,Cu,Cu HSM:ca_ocsp_signing u,u,u HSM:subsystem u,u,u HSM:ca_audit_signing u,u,Pu HSM:sslserver/pki.example.com u,u,u
7.4.1.11.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ca-user-show caadmin
$ pki -c Secret.123 -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.12. LDAPS 接続を使用した CA のインストール
セキュアなデータベース接続を備えた CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.12.1. DS 設定
DS インスタンスの作成時に DS ブートストラップ証明書を使用することを選択した場合は、上記の前提条件を完了した後、次のようにブートストラップ自己署名証明書を ds_signing.crt
にエクスポートします。
certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.1.12.2. CA サブシステムのインストール
CA サブシステムをデプロイするには、ca-secure-ds.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ca-secure-ds.cfg にあります。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f ca-secure-ds.cfg -s CA
$ pkispawn -f ca-secure-ds.cfg -s CA
7.4.1.12.3. CA システム証明書
インストール後、CA システム証明書とそのキーが生成され、サーバー NSS データベース (/var/lib/pki/pki-tomcat/conf/alias
) に保存され、DS 署名証明書が同じ NSS データベースにインポートされます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ds_signing CT,C,C
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
必要に応じて、次のコマンドを使用して CA システム証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
CA システム証明書の有効な ID は次のとおりです。
-
ca_signing
-
ca_ocsp_signing
-
ca_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.1.12.4. CA データベースの設定
CA データベース設定は、次のコマンドで表示できます。
pki-server ca-db-config-show
$ pki-server ca-db-config-show
Hostname: pki.example.com
Port: 636
Secure: true
Authentication: BasicAuth
Bind DN: cn=Directory Manager
Bind Password Prompt: internaldb
Database: ca
Base DN: dc=ca,dc=pki,dc=example,dc=com
Multiple suffix: false
Maximum connections: 15
Minimum connections: 3
7.4.1.12.5. 管理者証明書
インストールした後に、管理者証明書とキーは ~/.dogtag/pki-tomcat/ca_admin_cert.p12
に保存されます。PKCS #12 パスワードは、pki_client_pkcs12_password
パラメーターで指定されます。
管理者証明書を使用するには、次の手順を実行します。
サーバーの NSS データベースから CA 署名証明書をエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki-server cert-export ca_signing --cert-file ca_signing.crt
$ pki-server cert-export ca_signing --cert-file ca_signing.crt
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
管理者証明書を使用して CA サブシステムにアクセスできることを確認するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.1.12.6. CA から実際の DS 証明書を取得する
必要に応じて、この手順 に従って、CA が発行した実際の DS 証明書を取得します。
7.4.1.13. 下位 CA のインストール
ルート CA が発行した署名証明書を使用して下位 CA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.1.13.1. 下位 CA サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
subca.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/subca.cfg にあります。
ルート CA が https://root.example.com:8443 ですでに実行されており、ルート CA 署名証明書が
root-ca_signing.crt
にエクスポートされていることを前提としています。以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f subca.cfg -s CA
$ pkispawn -f subca.cfg -s CA
Tomcat インスタンス (デフォルトは pki-tomcat) に CA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ca/alias
7.4.1.13.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CTu,Cu,Cu
ca_ocsp_signing u,u,u
subsystem u,u,u
ca_audit_signing u,u,Pu
sslserver u,u,u
7.4.1.13.3. 管理者証明書の検証
ルート CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 /root/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 /root/.dogtag/pki-tomcat/ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して下位 CA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin ca-user-show caadmin
$ pki -n caadmin ca-user-show caadmin -------------- User "caadmin" -------------- User ID: caadmin Full name: caadmin Email: caadmin@example.com Type: adminType State: 1
7.4.2. KRA サブシステムのインストール
7.4.2.1. KRA のインストール
KRA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.1.1. KRA サブシステムのインストール
-
デプロイメント設定が含まれるファイル (例:
kra.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra.cfg にあります。 以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra.cfg -s KRA
$ pkispawn -f kra.cfg -s KRA
Tomcat インスタンス (デフォルトは pki-tomcat) に KRA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
KRA が新しいシステムにインストールされており、他のサブシステムがない場合は、CA のルート証明書を提供する必要があります。pki_cert_chain_path
に CA PKCS#7 PEM ファイルへのパスを指定します。そうすることで、サーバーはセキュリティードメインに接続するときに CA の SSL サーバー証明書を検証できます。KRA をインストールする前に CA ルート証明書 (公開鍵のみ) をシステムに安全に転送するのは管理者の責任です。
7.4.2.1.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
kra_transport u,u,u
kra_storage u,u,u
subsystem u,u,u
kra_audit_signing u,u,Pu
sslserver u,u,u
7.4.2.1.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin kra-user-show kraadmin
$ pki -c Secret.123 -n caadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.1.4. KRA コネクターの検証
CA サブシステムで KRA コネクターが設定されていることを確認します。
pki -c Secret.123 -n caadmin ca-kraconnector-show
$ pki -c Secret.123 -n caadmin ca-kraconnector-show
Host: pki.example.com:8443
Enabled: true
Local: false
Timeout: 30
URI: /kra/agent/kra/connector
Transport Cert:
<base-64 certificate>
7.4.2.2. KRA クローンのインストール
既存 KRA サブシステムのクローンとして KRA サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.2.1. 既存の KRA システム証明書のエクスポート
既存システムで、次のコマンドを使用して KRA システム証明書をエクスポートします。
pki-server kra-clone-prepare \ --pkcs12-file kra-certs.p12 \ --pkcs12-password Secret.123
$ pki-server kra-clone-prepare \
--pkcs12-file kra-certs.p12 \
--pkcs12-password Secret.123
このコマンドは、次の証明書 (証明書チェーンを含む) とそのキーを PKCS #12 ファイルにエクスポートします。
- KRA ストレージ証明書
- KRA トランスポート証明書
- 監査署名証明書
- サブシステム証明書
既存の SSL サーバー証明書はエクスポートされないことに注意してください。
必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。
pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \ pkcs12-cert-import <nickname> \ --pkcs12-file kra-certs.p12 \ --pkcs12-password Secret.123 \ --append
$ pki -d /var/lib/pki/pki-tomcat/conf/alias -f /var/lib/pki/pki-tomcat/conf/password.conf \
pkcs12-cert-import <nickname> \
--pkcs12-file kra-certs.p12 \
--pkcs12-password Secret.123 \
--append
7.4.2.2.2. KRA サブシステムのインストール
KRA サブシステムのクローンをデプロイするには、kra-clone.cfg
などのデプロイメント設定を準備します。デフォルトで、サブシステムは pki-tomcat
と呼ばれる Tomcat インスタンスにデプロイされます。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra-clone.cfg にあります。
これは、次のことを前提としています。
- プライマリー CA および KRA サブシステムが https://primary.example.com:8443 で実行されている。
-
CA 署名証明書が
ca_signing.crt
にエクスポートされた。 -
管理者証明書とキーが
ca_admin_cert.p12
にエクスポートされた。 -
PKCS #12 パスワードが、
pki_client_pkcs12_password
パラメーターで指定された。
詳細は、CA のインストール を参照してください。
インストールを開始するには、次のコマンドを実行します。
pkispawn -f kra-clone.cfg -s KRA
$ pkispawn -f kra-clone.cfg -s KRA
7.4.2.2.3. CA システム証明書
インストール後、既存の KRA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (つまり /var/lib/pki/pki-tomcat/conf/alias
) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
kra_storage u,u,u
sslserver u,u,u
subsystem u,u,u
kra_audit_signing u,u,Pu
kra_transport u,u,u
必要に応じて、次のコマンドを使用して証明書を PEM ファイルにエクスポートできます。
pki-server cert-export <cert ID> --cert-file <filename>
$ pki-server cert-export <cert ID> --cert-file <filename>
KRA の有効な証明書 ID は次のとおりです。
-
kra_storage_signing
-
kra_transport_signing
-
kra_audit_signing
-
subsystem
-
sslserver
pki-server cert-export
コマンドはニックネームではなく証明書 ID を使用することに注意してください。わかりやすくするため、この例のニックネームは証明書 ID と同じになるように設定されています。
7.4.2.2.4. 管理者証明書
管理者証明書を使用するには、次の手順を実行します。
CA 署名証明書をクライアント NSS データベースにインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
管理者証明書を使用して KRA サブシステムクローンにアクセスできることを確認するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n caadmin kra-user-show kraadmin
$ pki -n caadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.3. HSM を使用した KRA クローンのインストール
システム証明書とそのキーが HSM に保存されている既存 KRA サブシステムのクローンとして KRA サブシステムをインストールするには、このプロセスを実行します。
証明書とキーはすでに HSM 上にあるため、クローンを作成するためにそれらを PKCS #12 ファイルにエクスポートする必要はありません。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.3.1. KRA サブシステムのインストール
注記: CA 署名証明書が ca_signing.crt
にエクスポートされていることを前提としています。
デプロイメント設定が含まれるファイル (例:
kra.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM pki_cert_chain_path=ca_signing.crt [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_hostname=pki.example.com pki_security_domain_https_port=8443 pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver/replica.example.com pki_subsystem_nickname=subsystem pki_storage_token=HSM pki_transport_token=HSM pki_audit_signing_token=HSM pki_sslserver_token=HSM pki_subsystem_token=HSM pki_clone=True pki_clone_replicate_schema=True pki_clone_uri=https://pki.example.com:8443
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM pki_cert_chain_path=ca_signing.crt [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_hostname=pki.example.com pki_security_domain_https_port=8443 pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver/replica.example.com pki_subsystem_nickname=subsystem pki_storage_token=HSM pki_transport_token=HSM pki_audit_signing_token=HSM pki_sslserver_token=HSM pki_subsystem_token=HSM pki_clone=True pki_clone_replicate_schema=True pki_clone_uri=https://pki.example.com:8443
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra.cfg -s KRA
$ pkispawn -f kra.cfg -s KRA
Tomcat インスタンス (デフォルトは pki-tomcat) に KRA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
7.4.2.3.2. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C sslserver/replica.example.com ,, kra_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:kra_transport u,u,u HSM:kra_storage u,u,u HSM:subsystem u,u,u HSM:kra_audit_signing u,u,Pu HSM:sslserver/replica.example.com u,u,u
7.4.2.3.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin kra-user-show kraadmin
$ pki -c Secret.123 -n caadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.3.4. KRA コネクターの検証
CA サブシステムで KRA コネクターが設定されていることを確認します。
pki -c Secret.123 -n caadmin ca-kraconnector-show
$ pki -c Secret.123 -n caadmin ca-kraconnector-show
Host: pki.example.com:8443
Enabled: true
Local: false
Timeout: 30
URI: /kra/agent/kra/connector
Transport Cert:
<base-64 certificate>
7.4.2.4. ECC を使用した KRA のインストール
ECC を使用して KRA サブシステムをインストールするには、このプロセスに従います。
サポートされている ECC 曲線:
- nistp256
- nistp384
- nistp521
サポートされている ECC キーアルゴリズム:
- SHA256withEC
- SHA384withEC
- SHA512withEC
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.4.1. KRA サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
kra.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_storage_key_type=rsa pki_storage_key_algorithm=SHA512withRSA pki_storage_key_size=2048 pki_storage_signing_algorithm=SHA512withRSA pki_transport_nickname=kra_transport pki_transport_key_type=rsa pki_transport_key_algorithm=SHA512withRSA pki_transport_key_size=2048 pki_transport_signing_algorithm=SHA512withRSA pki_audit_signing_nickname=kra_audit_signing pki_audit_signing_key_type=ecc pki_audit_signing_key_algorithm=SHA512withEC pki_audit_signing_key_size=nistp521 pki_audit_signing_signing_algorithm=SHA512withEC pki_sslserver_nickname=sslserver pki_sslserver_key_type=ecc pki_sslserver_key_algorithm=SHA512withEC pki_sslserver_key_size=nistp521 pki_subsystem_nickname=subsystem pki_subsystem_key_type=ecc pki_subsystem_key_algorithm=SHA512withEC pki_subsystem_key_size=nistp521
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_storage_key_type=rsa pki_storage_key_algorithm=SHA512withRSA pki_storage_key_size=2048 pki_storage_signing_algorithm=SHA512withRSA pki_transport_nickname=kra_transport pki_transport_key_type=rsa pki_transport_key_algorithm=SHA512withRSA pki_transport_key_size=2048 pki_transport_signing_algorithm=SHA512withRSA pki_audit_signing_nickname=kra_audit_signing pki_audit_signing_key_type=ecc pki_audit_signing_key_algorithm=SHA512withEC pki_audit_signing_key_size=nistp521 pki_audit_signing_signing_algorithm=SHA512withEC pki_sslserver_nickname=sslserver pki_sslserver_key_type=ecc pki_sslserver_key_algorithm=SHA512withEC pki_sslserver_key_size=nistp521 pki_subsystem_nickname=subsystem pki_subsystem_key_type=ecc pki_subsystem_key_algorithm=SHA512withEC pki_subsystem_key_size=nistp521
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra.cfg -s KRA
$ pkispawn -f kra.cfg -s KRA
Tomcat インスタンス (デフォルトは pki-tomcat) に KRA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
7.4.2.4.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
kra_transport u,u,u
kra_storage u,u,u
subsystem u,u,u
kra_audit_signing u,u,Pu
sslserver u,u,u
7.4.2.4.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin kra-user-show kraadmin
$ pki -c Secret.123 -n caadmin kra-user-show kraadmin -------------- User "kraadmin" -------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.5. HSM を使用した KRA のインストール
システム証明書とそのキーが HSM に保存されている KRA サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.5.1. KRA サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
kra.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra.cfg -s KRA
$ pkispawn -f kra.cfg -s KRA
Tomcat インスタンス (デフォルトは pki-tomcat) に KRA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
7.4.2.5.2. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C kra_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:kra_transport u,u,u HSM:kra_storage u,u,u HSM:subsystem u,u,u HSM:kra_audit_signing u,u,Pu HSM:sslserver/pki.example.com u,u,u
7.4.2.5.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin kra-user-show kraadmin
$ pki -c Secret.123 -n caadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.5.4. KRA コネクターの検証
CA サブシステムで KRA コネクターが設定されていることを確認します。
pki -c Secret.123 -n caadmin ca-kraconnector-show
$ pki -c Secret.123 -n caadmin ca-kraconnector-show
Host: pki.example.com:8443
Enabled: true
Local: false
Timeout: 30
URI: /kra/agent/kra/connector
Transport Cert:
<base-64 certificate>
7.4.2.6. LDAPS 接続を使用した KRA のインストール
セキュアなデータベース接続を使用して KRA サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.2.6.1. DS 設定
DS インスタンスの作成時に DS ブートストラップ証明書を使用することを選択した場合は、上記の前提条件を設定した後、次のようにブートストラップ自己署名証明書を ds_signing.crt
にエクスポートします。
certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.2.6.2. KRA サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
kra.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_server_database_password=Secret.123 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_server_database_password=Secret.123 [KRA] pki_admin_cert_file=ca_admin.cert pki_admin_email=kraadmin@example.com pki_admin_name=kraadmin pki_admin_nickname=kraadmin pki_admin_password=Secret.123 pki_admin_uid=kraadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=kra,dc=pki,dc=example,dc=com pki_ds_database=kra pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_storage_nickname=kra_storage pki_transport_nickname=kra_transport pki_audit_signing_nickname=kra_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra.cfg -s KRA
$ pkispawn -f kra.cfg -s KRA
Tomcat インスタンス (デフォルトは pki-tomcat) に KRA サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
7.4.2.6.3. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ds_signing CT,C,C
ca_signing CT,C,C
kra_transport u,u,u
kra_storage u,u,u
subsystem u,u,u
kra_audit_signing u,u,Pu
sslserver u,u,u
7.4.2.6.4. データベース設定の検証
KRA データベースがセキュアな接続で設定されていることを確認します。
pki-server kra-db-config-show
$ pki-server kra-db-config-show
Hostname: pki.example.com
Port: 636
Secure: true
Authentication: BasicAuth
Bind DN: cn=Directory Manager
Bind Password Prompt: internaldb
Database: kra
Base DN: dc=kra,dc=pki,dc=example,dc=com
Multiple suffix: false
Maximum connections: 15
Minimum connections: 3
7.4.2.6.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin kra-user-show kraadmin
$ pki -c Secret.123 -n caadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.2.6.6. KRA コネクターの検証
CA サブシステムで KRA コネクターが設定されていることを確認します。
pki -c Secret.123 -n caadmin ca-kraconnector-show
$ pki -c Secret.123 -n caadmin ca-kraconnector-show
Host: pki.example.com:8443
Enabled: true
Local: false
Timeout: 30
URI: /kra/agent/kra/connector
Transport Cert:
<base-64 certificate>
7.4.2.6.7. CA から実際の DS 証明書を取得する
必要に応じて、この手順 に従って、CA が発行した実際の DS 証明書を取得します。
7.4.2.7. スタンドアロン KRA のインストール
スタンドアロン KRA サブシステムをインストールするには、次のプロセスに従います。
通常の KRA インストール では、KRA 証明書は CA によって自動的に発行され、KRA は CA のセキュリティードメインに参加します。
スタンドアロン KRA のインストールでは、KRA 証明書は手動で発行され、KRA には独自のセキュリティードメインがあります。
インストールプロセスには複数のステップが含まれます。
- 証明書要求を生成する
- 証明書を発行する
- 証明書を使用してインストールを完了する
7.4.2.7.1. 証明書要求を生成する
最初のデプロイメント設定が含まれるファイル (例:
kra-standalone-step1.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra-standalone-step1.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra-standalone-step1.cfg -s KRA
$ pkispawn -f kra-standalone-step1.cfg -s KRA
/var/lib/pki/pki-tomcat/alias
に NSS データベースが作成され、指定されたパスに CSR が生成されます。
7.4.2.7.2. 証明書の発行
CSR を使用して KRA 証明書を取得するには、CSR を外部 CA に送信して KRA システム証明書を発行します。次のセクションでは、KRA システム証明書が次のファイルに保存されていることを前提としています。
- kra_storage.crt
- kra_transport.crt
- subsystem.crt
- sslserver.crt
- kra_audit_signing.crt
- kra_admin.crt
7.4.2.7.3. インストールの完了
2 つ目のデプロイメント設定が含まれる別のファイル (例:
kra-standalone-step2.cfg
) を準備します。このファイルは、最初のファイル (kra-standalone-step1.cfg
) に次の変更を加えて作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用して証明書ファイルを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_storage_cert_path=kra_storage.crt pki_transport_cert_path=kra_transport.crt pki_subsystem_cert_path=subsystem.crt pki_sslserver_cert_path=sslserver.crt pki_audit_signing_cert_path=kra_audit_signing.crt pki_admin_cert_path=kra_admin.crt
pki_storage_cert_path=kra_storage.crt pki_transport_cert_path=kra_transport.crt pki_subsystem_cert_path=subsystem.crt pki_sslserver_cert_path=sslserver.crt pki_audit_signing_cert_path=kra_audit_signing.crt pki_admin_cert_path=kra_admin.crt
各証明書ファイルには、単一の PEM 証明書または PKCS #7 証明書チェーンのいずれかを含めることができます。
次のパラメーターを使用して CA 証明書チェーンを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_cert_chain_nickname=ca_signing pki_cert_chain_path=ca_signing.crt
pki_cert_chain_nickname=ca_signing pki_cert_chain_path=ca_signing.crt
CA 証明書チェーンファイルには、単一の PEM 証明書または PKCS #7 証明書チェーンのいずれかを含めることができます。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra-standalone-step2.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f kra-standalone-step2.cfg -s KRA
$ pkispawn -f kra-standalone-step2.cfg -s KRA
7.4.2.7.4. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 kra_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 kra_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n kraadmin kra-user-show kraadmin
$ pki -n kraadmin kra-user-show kraadmin --------------- User "kraadmin" --------------- User ID: kraadmin Full name: kraadmin Email: kraadmin@example.com Type: adminType State: 1
7.4.3. OCSP サブシステムのインストール
7.4.3.1. OCSP のインストール
OCSP サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.3.1.1. OCSP サブシステムのインストール
-
デプロイメント設定が含まれるファイル (例:
ocsp.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ocsp.cfg にあります。 以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp.cfg -s OCSP
$ pkispawn -f ocsp.cfg -s OCSP
Tomcat インスタンス (デフォルトは pki-tomcat) に OCSP サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ocsp/alias
OCSP が新しいシステムにインストールされており、他のサブシステムがない場合は、CA のルート証明書を提供する必要があります。pki_cert_chain_path
に CA PKCS#7 PEM ファイルへのパスを指定します。そうすることで、サーバーはセキュリティードメインに接続するときに CA の SSL サーバー証明書を検証できます。OCSP をインストールする前に CA ルート証明書 (公開鍵のみ) をシステムに安全に転送するのは管理者の責任です。
7.4.3.1.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
ocsp_signing u,u,u
subsystem u,u,u
ocsp_audit_signing u,u,Pu
sslserver u,u,u
7.4.3.1.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin
$ pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin ---------------- User "ocspadmin" ---------------- User ID: ocspadmin Full name: ocspadmin Email: ocspadmin@example.com Type: adminType State: 1
7.4.3.1.4. OCSP クライアントの検証
以下を実行して、CA の CRL を Directory Server に公開します。
- CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
- Update Directory Server をクリックします。
- Update the certificate revocation list to the directory を選択します。
- Update Directory をクリックします。
OCSPClient を使用して証明書を検証できることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1
$ OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1 CertID.serialNumber=1 CertStatus=Good
7.4.3.2. ECC を使用した OCSP のインストール
ECC を使用して OCSP サブシステムをインストールするには、次のプロセスに従います。
サポートされている ECC 曲線:
- nistp256
- nistp384
- nistp521
サポートされている ECC キーアルゴリズム:
- SHA256withEC
- SHA384withEC
- SHA512withEC
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.3.2.1. OCSP サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
ocsp.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_ocsp_signing_key_type=ecc pki_ocsp_signing_key_algorithm=SHA512withEC pki_ocsp_signing_key_size=nistp521 pki_audit_signing_nickname=ocsp_audit_signing pki_audit_signing_key_type=ecc pki_audit_signing_key_algorithm=SHA512withEC pki_audit_signing_key_size=nistp521 pki_audit_signing_signing_algorithm=SHA512withEC pki_sslserver_nickname=sslserver pki_sslserver_key_type=ecc pki_sslserver_key_algorithm=SHA512withEC pki_sslserver_key_size=nistp521 pki_subsystem_nickname=subsystem pki_subsystem_key_type=ecc pki_subsystem_key_algorithm=SHA512withEC pki_subsystem_key_size=nistp521
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_ocsp_signing_key_type=ecc pki_ocsp_signing_key_algorithm=SHA512withEC pki_ocsp_signing_key_size=nistp521 pki_audit_signing_nickname=ocsp_audit_signing pki_audit_signing_key_type=ecc pki_audit_signing_key_algorithm=SHA512withEC pki_audit_signing_key_size=nistp521 pki_audit_signing_signing_algorithm=SHA512withEC pki_sslserver_nickname=sslserver pki_sslserver_key_type=ecc pki_sslserver_key_algorithm=SHA512withEC pki_sslserver_key_size=nistp521 pki_subsystem_nickname=subsystem pki_subsystem_key_type=ecc pki_subsystem_key_algorithm=SHA512withEC pki_subsystem_key_size=nistp521
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp.cfg -s OCSP
$ pkispawn -f ocsp.cfg -s OCSP
Tomcat インスタンス (デフォルトは pki-tomcat) に OCSP サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/kra/alias
7.4.3.2.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
subsystem u,u,u
ocsp_audit_signing u,u,Pu
ocsp_signing u,u,u
sslserver u,u,u
7.4.3.2.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin
$ pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin -------------- User "ocspadmin" -------------- User ID: ocspadmin Full name: ocspadmin Email: ocspadmin@example.com Type: adminType State: 1
7.4.3.3. HSM を使用した OCSP のインストール
システム証明書とそのキーが HSM に保存されている OCSP サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.3.3.1. OCSP サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
ocsp.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_audit_signing_nickname=ocsp_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_audit_signing_nickname=ocsp_audit_signing pki_sslserver_nickname=sslserver/pki.example.com pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp.cfg -s OCSP
$ pkispawn -f ocsp.cfg -s OCSP
Tomcat インスタンス (デフォルトは pki-tomcat) に OCSP サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ocsp/alias
7.4.3.3.2. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C ocsp_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:ocsp_signing u,u,u HSM:subsystem u,u,u HSM:ocsp_audit_signing u,u,Pu HSM:sslserver/pki.example.com u,u,u
7.4.3.3.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin
$ pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin ---------------- User "ocspadmin" ---------------- User ID: ocspadmin Full name: ocspadmin Email: ocspadmin@example.com Type: adminType State: 1
7.4.3.3.4. OCSP クライアントの検証
以下を実行して、CA の CRL を Directory Server に公開します。
- CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
- Update Directory Server をクリックします。
- Update the certificate revocation list to the directory を選択します。
- Update Directory をクリックします。
OCSPClient を使用して証明書を検証できることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1
$ OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1 CertID.serialNumber=1 CertStatus=Good
7.4.3.4. LDAPS 接続を使用した OCSP のインストール
セキュアなデータベース接続を使用して OCSP サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.3.4.1. DS 設定
DS インスタンスの作成時に DS ブートストラップ証明書を使用することを選択した場合は、上記の前提条件を完了した後、次のようにブートストラップ自己署名証明書を ds_signing.crt
にエクスポートします。
certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.3.4.2. OCSP サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
ocsp.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_audit_signing_nickname=ocsp_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [OCSP] pki_admin_cert_file=ca_admin.cert pki_admin_email=ocspadmin@example.com pki_admin_name=ocspadmin pki_admin_nickname=ocspadmin pki_admin_password=Secret.123 pki_admin_uid=ocspadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=ocsp,dc=pki,dc=example,dc=com pki_ds_database=ocsp pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_ocsp_signing_nickname=ocsp_signing pki_audit_signing_nickname=ocsp_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp.cfg -s OCSP
$ pkispawn -f ocsp.cfg -s OCSP
Tomcat インスタンス (デフォルトは pki-tomcat) に OCSP サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/ocsp/alias
7.4.3.4.3. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ds_signing CT,C,C
ca_signing CT,C,C
ocsp_signing u,u,u
subsystem u,u,u
ocsp_audit_signing u,u,Pu
sslserver u,u,u
7.4.3.4.4. データベース設定の検証
OCSP データベースがセキュアな接続で設定されていることを確認します。
pki-server ocsp-db-config-show
$ pki-server ocsp-db-config-show
Hostname: pki.example.com
Port: 636
Secure: true
Authentication: BasicAuth
Bind DN: cn=Directory Manager
Bind Password Prompt: internaldb
Database: ocsp
Base DN: dc=ocsp,dc=pki,dc=example,dc=com
Multiple suffix: false
Maximum connections: 15
Minimum connections: 3
7.4.3.4.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin
$ pki -c Secret.123 -n caadmin ocsp-user-show ocspadmin ---------------- User "ocspadmin" ---------------- User ID: ocspadmin Full name: ocspadmin Email: ocspadmin@example.com Type: adminType State: 1
7.4.3.4.6. OCSP クライアントの検証
以下を実行して、CA の CRL を Directory Server に公開します。
- CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
- Update Directory Server をクリックします。
- Update the certificate revocation list to the directory を選択します。
- Update Directory をクリックします。
OCSPClient を使用して証明書を検証できることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1
$ OCSPClient \ -d /var/lib/pki/pki-tomcat/conf/alias \ -h pki.example.com \ -p 8080 \ -t /ocsp/ee/ocsp \ -c ca_signing \ --serial 1 CertID.serialNumber=1 CertStatus=Good
7.4.3.4.7. CA から実際の DS 証明書を取得する
必要に応じて、この手順 に従って、CA が発行した実際の DS 証明書を取得します。
7.4.3.5. スタンドアロン OCSP のインストール
スタンドアロン OCSP サブシステムをインストールするには、次のプロセスに従います。
通常の OCSP インストール では、OCSP 証明書は CA によって自動的に発行され、OCSP は CA のセキュリティードメインに参加します。
スタンドアロン OCSP のインストールでは、OCSP 証明書は手動で発行され、OCSP には独自のセキュリティードメインがあります。
インストールプロセスには複数のステップが含まれます。
- 証明書要求を生成する
- 証明書を発行する
- 証明書を使用してインストールを完了する
7.4.3.5.1. 証明書要求を生成する
最初のデプロイメント設定が含まれるファイル (例:
ocsp-standalone-step1.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ocsp-standalone-step1.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp-standalone-step1.cfg -s OCSP
$ pkispawn -f ocsp-standalone-step1.cfg -s OCSP
/var/lib/pki/pki-tomcat/alias
に NSS データベースが作成され、指定されたパスに CSR が生成されます。
7.4.3.5.2. 証明書の発行
CSR を使用して OCSP 証明書を取得するには、CSR を外部 CA に送信して KRA システム証明書を発行します。次のセクションでは、KRA システム証明書が次のファイルに保存されていることを前提としています。
- ocsp_signing.crt
- subsystem.crt
- sslserver.crt
- ocsp_audit_signing.crt
- ocsp_admin.crt
7.4.3.5.3. インストールの完了
2 つ目のデプロイメント設定が含まれる別のファイル (例:
ocsp-standalone-step2.cfg
) を準備します。このファイルは、最初のファイル (ocsp-standalone-step1.cfg
) に次の変更を加えて作成できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_external_step_two=True
pki_external_step_two=True
次のパラメーターを使用して証明書ファイルを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_ocsp_signing_cert_path=ocsp_signing.crt pki_subsystem_cert_path=subsystem.crt pki_sslserver_cert_path=sslserver.crt pki_audit_signing_cert_path=ocsp_audit_signing.crt pki_admin_cert_path=ocsp_admin.crt
pki_ocsp_signing_cert_path=ocsp_signing.crt pki_subsystem_cert_path=subsystem.crt pki_sslserver_cert_path=sslserver.crt pki_audit_signing_cert_path=ocsp_audit_signing.crt pki_admin_cert_path=ocsp_admin.crt
各証明書ファイルには、単一の PEM 証明書または PKCS #7 証明書チェーンのいずれかを含めることができます。
次のパラメーターを使用して CA 証明書チェーンを指定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki_cert_chain_nickname=ca_signing pki_cert_chain_path=ca_signing.crt
pki_cert_chain_nickname=ca_signing pki_cert_chain_path=ca_signing.crt
CA 証明書チェーンファイルには、単一の PEM 証明書または PKCS #7 証明書チェーンのいずれかを含めることができます。
デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ocsp-standalone-step2.cfg にあります。
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f ocsp-standalone-step2.cfg -s OCSP
$ pkispawn -f ocsp-standalone-step2.cfg -s OCSP
7.4.3.5.4. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki pkcs12-import \ --pkcs12 ocsp_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki pkcs12-import \ --pkcs12 ocsp_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -n ocspadmin ocsp-user-show ocspadmin
$ pki -n ocspadmin ocsp-user-show ocspadmin ---------------- User "ocspadmin" ---------------- User ID: ocspadmin Full name: ocspadmin Email: ocspadmin@example.com Type: adminType State: 1
7.4.4. TKS サブシステムのインストール
7.4.4.1. TKS のインストール
TKS サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.4.1.1. TKS サブシステムのインストール
-
デプロイメント設定が含まれるファイル (例:
tks.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/tks.cfg にあります。 以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tks.cfg -s TKS
$ pkispawn -f tks.cfg -s TKS
Tomcat インスタンス (デフォルトは pki-tomcat) に TKS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tks/alias
TKS が新しいシステムにインストールされており、他のサブシステムがない場合は、CA のルート証明書を提供する必要があります。pki_cert_chain_path
に CA PKCS#7 PEM ファイルへのパスを指定します。そうすることで、サーバーはセキュリティードメインに接続するときに CA の SSL サーバー証明書を検証できます。TKS をインストールする前に CA ルート証明書 (公開鍵のみ) をシステムに安全に転送するのは管理者の責任です。
7.4.4.1.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
subsystem u,u,u
tks_audit_signing u,u,Pu
sslserver u,u,u
7.4.4.1.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tks-user-show tksadmin
$ pki -c Secret.123 -n caadmin tks-user-show tksadmin --------------- User "tksadmin" --------------- User ID: tksadmin Full name: tksadmin Email: tksadmin@example.com Type: adminType State: 1
7.4.4.2. HSM を使用した TKS のインストール
システム証明書とそのキーが HSM に保存されている TKS サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.4.2.1. TKS サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
tks.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TKS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tksadmin@example.com pki_admin_name=tksadmin pki_admin_nickname=tksadmin pki_admin_password=Secret.123 pki_admin_uid=tksadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=tks,dc=pki,dc=example,dc=com pki_ds_database=tks pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tks_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TKS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tksadmin@example.com pki_admin_name=tksadmin pki_admin_nickname=tksadmin pki_admin_password=Secret.123 pki_admin_uid=tksadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=tks,dc=pki,dc=example,dc=com pki_ds_database=tks pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tks_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tks.cfg -s TKS
$ pkispawn -f tks.cfg -s TKS
Tomcat インスタンス (デフォルトは pki-tomcat) に TKS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tks/alias
7.4.4.2.2. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C tks_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:subsystem u,u,u HSM:tks_audit_signing u,u,Pu HSM:sslserver u,u,u
7.4.4.2.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tks-user-show tksadmin
$ pki -c Secret.123 -n caadmin tks-user-show tksadmin --------------- User "tksadmin" --------------- User ID: tksadmin Full name: tksadmin Email: tksadmin@example.com Type: adminType State: 1
7.4.4.3. LDAPS 接続を使用した TKS のインストール
セキュアなデータベース接続を使用して TKS サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.4.3.1. DS 設定
DS インスタンスの作成時に DS ブートストラップ証明書を使用することを選択した場合は、上記の前提条件を完了した後、次のようにブートストラップ自己署名証明書を ds_signing.crt
にエクスポートします。
certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.4.3.2. TKS サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
tks.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TKS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tksadmin@example.com pki_admin_name=tksadmin pki_admin_nickname=tksadmin pki_admin_password=Secret.123 pki_admin_uid=tksadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=tks,dc=pki,dc=example,dc=com pki_ds_database=tks pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tks_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TKS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tksadmin@example.com pki_admin_name=tksadmin pki_admin_nickname=tksadmin pki_admin_password=Secret.123 pki_admin_uid=tksadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=tks,dc=pki,dc=example,dc=com pki_ds_database=tks pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tks_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tks.cfg -s TKS
$ pkispawn -f tks.cfg -s TKS
Tomcat インスタンス (デフォルトは pki-tomcat) に TKS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tks/alias
7.4.4.3.3. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ds_signing CT,C,C
ca_signing CT,C,C
subsystem u,u,u
tks_audit_signing u,u,Pu
sslserver u,u,u
7.4.4.3.4. データベース設定の検証
TKS データベースがセキュアな接続で設定されていることを確認します。
pki-server tks-db-config-show
$ pki-server tks-db-config-show
Hostname: pki.example.com
Port: 636
Secure: true
Authentication: BasicAuth
Bind DN: cn=Directory Manager
Bind Password Prompt: internaldb
Database: tks
Base DN: dc=tks,dc=pki,dc=example,dc=com
Multiple suffix: false
Maximum connections: 15
Minimum connections: 3
7.4.4.3.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tks-user-show tksadmin
$ pki -c Secret.123 -n caadmin tks-user-show tksadmin --------------- User "tksadmin" --------------- User ID: tksadmin Full name: tksadmin Email: tksadmin@example.com Type: adminType State: 1
7.4.4.3.6. CA から実際の DS 証明書を取得する
必要に応じて、この手順 に従って、CA が発行した実際の DS 証明書を取得します。
7.4.5. TPS サブシステムのインストール
7.4.5.1. TPS のインストール
TPS サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.5.1.1. TPS サブシステムのインストール
-
デプロイメント設定が含まれるファイル (例:
tps.cfg
) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/tps.cfg にあります。 以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tps.cfg -s TPS
$ pkispawn -f tps.cfg -s TPS
Tomcat インスタンス (デフォルトは pki-tomcat) に TPS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tps/alias
TPS が新しいシステムにインストールされており、他のサブシステムがない場合は、CA のルート証明書を提供する必要があります。pki_cert_chain_path
に CA PKCS#7 PEM ファイルへのパスを指定します。そうすることで、サーバーはセキュリティードメインに接続するときに CA の SSL サーバー証明書を検証できます。TPS をインストールする前に CA ルート証明書 (公開鍵のみ) をシステムに安全に転送するのは管理者の責任です。
7.4.5.1.2. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ca_signing CT,C,C
subsystem u,u,u
tps_audit_signing u,u,Pu
sslserver u,u,u
7.4.5.1.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tps-user-show tpsadmin
$ pki -c Secret.123 -n caadmin tps-user-show tpsadmin --------------- User "tpsadmin" --------------- User ID: tpsadmin Full name: tpsadmin Email: tpsadmin@example.com Type: adminType State: 1 TPS Profiles: All Profiles
7.4.5.2. HSM を使用した TPS のインストール
システム証明書とそのキーが HSM に保存されている TPS サブシステムをインストールするには、このプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.5.2.1. TPS サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
tps.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TPS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tpsadmin@example.com pki_admin_name=tpsadmin pki_admin_nickname=tpsadmin pki_admin_password=Secret.123 pki_admin_uid=tpsadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=tps,dc=pki,dc=example,dc=com pki_ds_database=tps pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tps_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 pki_hsm_enable=True pki_hsm_libfile=/usr/lib64/pkcs11/libsofthsm2.so pki_hsm_modulename=softhsm pki_token_name=HSM pki_token_password=Secret.HSM [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TPS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tpsadmin@example.com pki_admin_name=tpsadmin pki_admin_nickname=tpsadmin pki_admin_password=Secret.123 pki_admin_uid=tpsadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldap://localhost.localdomain:389 pki_ds_base_dn=dc=tps,dc=pki,dc=example,dc=com pki_ds_database=tps pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tps_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tps.cfg -s TPS
$ pkispawn -f tps.cfg -s TPS
Tomcat インスタンス (デフォルトは pki-tomcat) に TPS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tps/alias
7.4.5.2.2. システム証明書の確認
内部トークンに次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI ca_signing CT,C,C tps_audit_signing ,,P
HSM に次の証明書が含まれていることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias -h HSM -f HSM.pwd Certificate Nickname Trust Attributes SSL,S/MIME,JAR/XPI HSM:subsystem u,u,u HSM:tps_audit_signing u,u,Pu HSM:sslserver u,u,u
7.4.5.2.3. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tps-user-show tpsadmin
$ pki -c Secret.123 -n caadmin tps-user-show tpsadmin --------------- User "tpsadmin" --------------- User ID: tpsadmin Full name: tpsadmin Email: tpsadmin@example.com Type: adminType State: 1 TPS Profiles: All Profiles
7.4.5.3. LDAPS 接続を使用した TPS のインストール
セキュアなデータベース接続を使用して TPS サブシステムをインストールするには、次のプロセスに従います。
インストールの前に、インストールの前提条件 が設定されていることを確認してください。
7.4.5.3.1. DS 設定
DS インスタンスの作成時に DS ブートストラップ証明書を使用することを選択した場合は、上記の前提条件を完了した後、次のようにブートストラップ自己署名証明書を ds_signing.crt
にエクスポートします。
certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.5.3.2. TPS サブシステムのインストール
デプロイメント設定が含まれるファイル (例:
tps.cfg
) を準備します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow [DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TPS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tpsadmin@example.com pki_admin_name=tpsadmin pki_admin_nickname=tpsadmin pki_admin_password=Secret.123 pki_admin_uid=tpsadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=tps,dc=pki,dc=example,dc=com pki_ds_database=tps pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tps_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
[DEFAULT] pki_instance_name=pki-tomcat pki_https_port=8443 pki_http_port=8080 pki_server_database_password=Secret.123 [Tomcat] pki_ajp_port=8009 pki_tomcat_server_port=8005 [TPS] pki_admin_cert_file=ca_admin.cert pki_admin_email=tpsadmin@example.com pki_admin_name=tpsadmin pki_admin_nickname=tpsadmin pki_admin_password=Secret.123 pki_admin_uid=tpsadmin pki_client_pkcs12_password=Secret.123 pki_ds_url=ldaps://localhost.localdomain:636 pki_ds_secure_connection_ca_nickname=ds_signing pki_ds_secure_connection_ca_pem_file=ds_signing.crt pki_ds_base_dn=dc=tps,dc=pki,dc=example,dc=com pki_ds_database=tps pki_ds_password=Secret.123 pki_security_domain_name=EXAMPLE pki_security_domain_user=caadmin pki_security_domain_password=Secret.123 pki_audit_signing_nickname=tps_audit_signing pki_sslserver_nickname=sslserver pki_subsystem_nickname=subsystem
以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pkispawn -f tps.cfg -s TPS
$ pkispawn -f tps.cfg -s TPS
Tomcat インスタンス (デフォルトは pki-tomcat) に TPS サブシステムがインストールされ、次の NSS データベースが作成されます。
- サーバー NSS データベース: /var/lib/pki/pki-tomcat/conf/alias
- 管理者 NSS データベース: ~/.dogtag/pki-tomcat/tps/alias
7.4.5.3.3. システム証明書の確認
サーバー NSS データベースに次の証明書が含まれていることを確認します。
certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
$ certutil -L -d /var/lib/pki/pki-tomcat/conf/alias
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
ds_signing CT,C,C
ca_signing CT,C,C
subsystem u,u,u
tps_audit_signing u,u,Pu
sslserver u,u,u
7.4.5.3.4. データベース設定の検証
TPS データベースがセキュアな接続で設定されていることを確認します。
pki-server tps-db-config-show
$ pki-server tps-db-config-show
Hostname: pki.example.com
Port: 636
Secure: true
Authentication: BasicAuth
Bind DN: cn=Directory Manager
Bind Password Prompt: internaldb
Database: tps
Base DN: dc=tps,dc=pki,dc=example,dc=com
Multiple suffix: false
Maximum connections: 15
Minimum connections: 3
7.4.5.3.5. 管理者証明書の検証
CA 署名証明書をインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
$ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
$ pki -c Secret.123 pkcs12-import \ --pkcs12 ca_admin_cert.p12 \ --pkcs12-password Secret.123
次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pki -c Secret.123 -n caadmin tps-user-show tpsadmin
$ pki -c Secret.123 -n caadmin tps-user-show tpsadmin --------------- User "tpsadmin" --------------- User ID: tpsadmin Full name: tpsadmin Email: tpsadmin@example.com Type: adminType State: 1 TPS Profiles: All Profiles
7.4.5.3.6. CA から実際の DS 証明書を取得する
必要に応じて、この手順 に従って、CA が発行した実際の DS 証明書を取得します。
7.4.6. EST サブシステムのインストール
7.4.6.1. EST のインストール
EST サブシステム をインストールするには、次のプロセスに従います。
EST サブシステム には、インスタンスが実行されるサーバーに dogtag-pki-est
パッケージがインストールされている必要があります。
dnf install dogtag-pki-est
# dnf install dogtag-pki-est
7.4.6.1.1. 前提条件
CA 上に、EST RA アカウント (EST RA Agents) のユーザーグループと、EST RA アカウント (est-ra-1) を作成する。EST サブシステムはこのアカウントを使用して CA サブシステムに対して認証し、EST クライアントに代わって証明書を発行します。
注記: 以下のコマンドは、CA がデフォルトポートを使用して同じホスト上で実行されており、nssdb が ~/.dogtag/nssdb
にあることを前提としています。別のホストまたは別のポートの CA を指定するには、-h <hostname>
、-p <port_number>
、または -U <CA_uri
のオプションを使用します。別の nssdb を使用するには、-d <nssdb_path>
オプションを使用します。
pki -n caadmin ca-group-add "EST RA Agents" pki -n caadmin ca-user-add \ est-ra-1 --fullName "EST RA 1" --password password4ESTUser pki -n caadmin ca-group-member-add "EST RA Agents" est-ra-1
# pki -n caadmin ca-group-add "EST RA Agents"
---------------------------
Added group "EST RA Agents"
---------------------------
Group ID: EST RA Agents
# pki -n caadmin ca-user-add \
est-ra-1 --fullName "EST RA 1" --password password4ESTUser
---------------------
Added user "est-ra-1"
---------------------
User ID: est-ra-1
Full name: EST RA 1
# pki -n caadmin ca-group-member-add "EST RA Agents" est-ra-1
-----------------------------
Added group member "est-ra-1"
-----------------------------
User: est-ra-1
EST 登録プロファイル estServiceCert.cfg
を追加して有効にします。これは、dogtag-pki-ca パッケージがインストールされていれば /usr/share/pki/ca/プロファイル/ca
にあります。
pki -n caadmin ca-profile-add --raw /usr/share/pki/ca/profiles/ca/estServiceCert.cfg pki -n caadmin ca-profile-enable estServiceCert
# pki -n caadmin ca-profile-add --raw /usr/share/pki/ca/profiles/ca/estServiceCert.cfg
----------------------------
Added profile estServiceCert
----------------------------
# pki -n caadmin ca-profile-enable estServiceCert
--------------------------------
Enabled profile "estServiceCert"
--------------------------------
注記: プロファイルを有効にする前に、オプションがデプロイメント要件を満たしているか確認してください。
EST サブシステムには、別のユーザー DB を持つ独自のレルム認証があります。LDAP、PostreSQL、ファイルベースの DB がサポートされています。認証が機能するには、事前に DB を準備する必要があります。ユーザー DB の設定手順については、EST レルム DB の設定 を参照してください。
7.4.6.1.2. EST サブシステムのインストール
インストールには 2 つのオプションがあります。
-
pkispawn
を使用した基本的なインストール。EST pkispawn のインストール を参照してください。 -
pki-server
を使用した高度なインストール。EST pki-server のインストール を参照してください。より多くの手動設定が必要になりますが、各ステップを検証し、後でカスタマイズして繰り返すことができるため、インストールプロセスをより細かく制御できます。
7.4.6.1.3. EST の検証
証明書を登録する前に、EST ユーザーをユーザーデータベースに追加する必要があります。ユーザー管理は EST コマンドに含まれていないため、EST 外で実行する必要があります。各データベースプラットフォームにユーザーを追加する方法については、管理ガイドを参照してください。
curl
を使用して、EST サブシステム がデプロイされ、CA サブシステム と通信できることを確認します。
次のコマンドは、サーバーから取得した CA 署名証明書を出力します。
curl --cacert ./ca_signing.crt https://<EST_HOSTNAME>:<EST_PORT>/.well-known/est/cacerts | openssl base64 -d | openssl pkcs7 -inform der -print_certs | openssl x509 -text -noout
$ curl --cacert ./ca_signing.crt https://<EST_HOSTNAME>:<EST_PORT>/.well-known/est/cacerts | openssl base64 -d | openssl pkcs7 -inform der -print_certs | openssl x509 -text -noout
$EST_HOSTNAME
と $EST_PORT
は、それぞれ EST サブシステム のホスト名とポートに置き換えます。
成功すると、サーバーの CA 証明書チェーンが標準出力に出力され、コマンドはステータス 0 (成功) で終了します。
curl を使用して登録をテストするには、CSR を生成し、レルムに関連付けられた EST ユーザー DB のユーザーを使用して送信します。次のコマンドは、登録を実行し、最終証明書を出力します。
pki nss-cert-request --csr testServer.csr \ --ext /usr/share/pki/server/certs/sslserver.conf --subject 'CN=test.example.com' openssl req -in testServer.csr -outform der | openssl base64 -out testServer.p10 curl --cacert ./ca_signing.crt --anyauth -u est-test-user:Secret.123 \ --data-binary @testServer.p10 -H "Content-Type: application/pkcs10" \ -o newCert.p7 https://<EST_HOSTNAME>:<EST_PORT>/.well-known/est/simpleenroll openssl base64 -d -in newCert.p7 | openssl pkcs7 -inform der -print_certs | openssl x509 -text -noout
$ pki nss-cert-request --csr testServer.csr \
--ext /usr/share/pki/server/certs/sslserver.conf --subject 'CN=test.example.com'
$ openssl req -in testServer.csr -outform der | openssl base64 -out testServer.p10
$ curl --cacert ./ca_signing.crt --anyauth -u est-test-user:Secret.123 \
--data-binary @testServer.p10 -H "Content-Type: application/pkcs10" \
-o newCert.p7 https://<EST_HOSTNAME>:<EST_PORT>/.well-known/est/simpleenroll
$ openssl base64 -d -in newCert.p7 | openssl pkcs7 -inform der -print_certs | openssl x509 -text -noout
注記: testServer.p10
ファイルは、base64 でエンコードされた、ヘッダー/フッターがない pkcs10 DER です。
上記の curl
コマンドで相互 TLS 認証を使用して登録する場合は、次のように認証情報を証明書と関連するキーに置き換える必要があります。
curl --cacert ./ca_signing.crt --cert cert.pem --key key-x-x.pem \ --data-binary @testServer.p10 -H "Content-Type: application/pkcs10"
$ curl --cacert ./ca_signing.crt --cert cert.pem --key key-x-x.pem \
--data-binary @testServer.p10 -H "Content-Type: application/pkcs10"
-o newCert.p7 https://<EST_HOSTNAME>:<EST_PORT>/.well-known/est/simpleenroll
相互 TLS 認証を実行する場合、認可されるためには、CSR のサブジェクトと SAN が、認証に使用される証明書のサブジェクトと SAN と一致している必要があります。一方、Basic 認証を使用すると、CSR のサブジェクトと SAN はユーザーのフルネームまたはユーザー ID で検証されます。simpleenroll 操作では、このチェックを無効にできます。このチェックを無効にするには、/etc/pki/<instance_name>/est/authorizer.conf
ファイルに次のオプションを追加します。
enrollMatchTLSSubjSAN=false
enrollMatchTLSSubjSAN=false
7.4.6.2. pkispawn
を使用した EST のインストール
EST のインストール の前提条件が設定されると、EST をインストールできるようになります。
7.4.6.2.1. インストール
次の内容の pkispawn
インストール設定サンプルが /usr/share/pki/server/examples/installation/est.cfg
にあります。
[DEFAULT] pki_server_database_password=Secret.123 pki_admin_setup=False [EST] est_realm_type=ds est_realm_url=ldap://localhost.localdomain:389 est_realm_bind_password=Secret.123 est_ca_user_name=est-ra-1 est_ca_user_password=Secret.est pki_sslserver_nickname=sslserver
[DEFAULT]
pki_server_database_password=Secret.123
pki_admin_setup=False
[EST]
est_realm_type=ds
est_realm_url=ldap://localhost.localdomain:389
est_realm_bind_password=Secret.123
est_ca_user_name=est-ra-1
est_ca_user_password=Secret.est
pki_sslserver_nickname=sslserver
次のコマンドは、CA サブシステムがすでに含まれている PKI サーバーインスタンスに EST サブシステムをインストールします。デフォルトでは、PKI サーバーインスタンスは pki-tomcat
と呼ばれ、HTTP ポート 8080
と HTTPS ポート 8443
を使用します。別のインスタンス名やポート番号を使用する場合は、コマンドの man ページを参照してください。
CA の同じインスタンスと DS レルムに EST をインストールするには、次のコマンドを実行します。
pkispawn \ -f /usr/share/pki/server/examples/installation/est.cfg \ -s EST \ -D est_realm_url=ldap://estds.example.com:389 \ -v
# pkispawn \
-f /usr/share/pki/server/examples/installation/est.cfg \
-s EST \
-D est_realm_url=ldap://estds.example.com:389 \
-v
est_realm_url
は、ユーザー DB を指していることに注意してください。デプロイメントに応じて変更できるその他の設定は次のとおりです。
est_ca_profile=estServiceCert est_ca_user_name= est_ca_user_password= est_ca_user_password_file= est_ca_user_certificate= est_realm_type= est_realm_custom= est_realm_url= est_realm_auth_type=BasicAuth est_realm_bind_dn=cn=Directory Manager est_realm_bind_password= est_realm_nickname= est_realm_user= est_realm_username= est_realm_password= est_realm_users_dn=ou=people,dc=est,dc=pki,dc=example,dc=com est_realm_groups_dn=ou=groups,dc=est,dc=pki,dc=example,dc=com est_realm_statements=/usr/share/pki/est/conf/realm/postgresql/statements.conf est_authorizer_exec_path=/usr/share/pki/est/bin/estauthz
est_ca_profile=estServiceCert
est_ca_user_name=
est_ca_user_password=
est_ca_user_password_file=
est_ca_user_certificate=
est_realm_type=
est_realm_custom=
est_realm_url=
est_realm_auth_type=BasicAuth
est_realm_bind_dn=cn=Directory Manager
est_realm_bind_password=
est_realm_nickname=
est_realm_user=
est_realm_username=
est_realm_password=
est_realm_users_dn=ou=people,dc=est,dc=pki,dc=example,dc=com
est_realm_groups_dn=ou=groups,dc=est,dc=pki,dc=example,dc=com
est_realm_statements=/usr/share/pki/est/conf/realm/postgresql/statements.conf
est_authorizer_exec_path=/usr/share/pki/est/bin/estauthz
est_ca_*
は、EST サブシステムの CA で設定されたユーザーとプロファイルに関連する情報を提供します。
est_authorizer_exec_path
は、認可を検証する実行可能ファイルへのパスです。デフォルトスクリプトの estauthz
は、ユーザーが estclient ロールを持っているかどうかのみをチェックする単純な認可例です。
est_realm_*
オプションを使用すると、レルムをカスタマイズできます。使用可能なタイプは、ds、postgresql、in-memory です。
たとえば、PostgreSQL で EST をインストールするコマンドは次のようになります。
pkispawn \ -f /usr/share/pki/server/examples/installation/est.cfg \ -s EST \ -D est_realm_url="jdbc:postgresql://postgresql.example.com:5432/est?ssl=true&sslmode=require" \ -D est_realm_type=postgresql \ -D est_realm_user=est \ -D est_realm_password=mysecretpassword \ -v
# pkispawn \
-f /usr/share/pki/server/examples/installation/est.cfg \
-s EST \
-D est_realm_url="jdbc:postgresql://postgresql.example.com:5432/est?ssl=true&sslmode=require" \
-D est_realm_type=postgresql \
-D est_realm_user=est \
-D est_realm_password=mysecretpassword \
-v
est_realm_custom
は Tomcat のカスタムレルム設定へのパスで、これを指定すると他のすべてのレルム関連の設定が上書きされます。
7.4.6.2.1.1. 証明書を使用した別のインスタンスへのインストール
EST は、CA とは別の Tomcat インスタンスにインストールすることもできます。
別のインスタンスに EST をインストールするには、上記の設定に加えて、証明書を設定するための追加の手順がいくつか必要です。
注記: 以下のコマンドは、CA がデフォルトポートを使用して同じホスト上で実行されており、nssdb が ~/.dogtag/nssdb
にあることを前提としています。別のホストまたは別のポートの CA を指定するには、-h <hostname>
、-p <port_number>
、または -U <CA_uri
のオプションを使用します。別の nssdb を使用するには、-d <nssdb_path>
オプションを使用します。
以下に示すとおり、EST サーバー証明書 (および CA に接続するためのサブシステム証明書) を事前に発行し、pkispawn
コマンドラインの pki_server_pkcs12_*
パラメーターで提供される PKCS#12 バンドル内の完全なチェーンと併せて pkispawn
に提供する必要があります。
PKCS#12 内の証明書エイリアスが、EST で使用されるニックネームと一致することが重要です。SSL 証明書の場合、est.cfg
で設定されるニックネームは sslserver
です。ただし、これは変更できます。
証明書を使用して PKCS12 を作成するには、CA から EST のサーバー証明書 (および後で RA ユーザー証明書) を要求し、次のようにエクスポートします。
pki nss-cert-request --csr estSSLServer.csr \ --ext /usr/share/pki/server/certs/sslserver.conf --subject 'CN=est.example.com' pki -n caadmin \ ca-cert-issue \ --csr-file estSSLServer.csr \ --profile caServerCert \ --output-file estSSLServer.crt pki nss-cert-import --cert estSSLServer.crt sslserver pki pkcs12-cert-import sslserver --pkcs12-file $SHARED/est_server.p12 --pkcs12-password Secret.123
# pki nss-cert-request --csr estSSLServer.csr \
--ext /usr/share/pki/server/certs/sslserver.conf --subject 'CN=est.example.com'
# pki -n caadmin \
ca-cert-issue \
--csr-file estSSLServer.csr \
--profile caServerCert \
--output-file estSSLServer.crt
# pki nss-cert-import --cert estSSLServer.crt sslserver
# pki pkcs12-cert-import sslserver --pkcs12-file $SHARED/est_server.p12 --pkcs12-password Secret.123
同様に、EST のサブシステム証明書を生成するには、CA で以前に設定した EST RA ユーザー (est-ra-1) に関連付け、SSL サーバー証明書と同じ PKCS12 に追加します。
pki nss-cert-request --csr est-ra-1.csr \ --ext /usr/share/pki/server/certs/admin.conf \ --subject 'CN=EST Subsystem Certificate,OU=pki-tomcat,O=EXAMPLE' pki -n caadmin -cert-issue \ --csr-file est-ra-1.csr \ --profile caSubsystemCert \ --output-file est-ra-1.crt pki nss-cert-import --cert est-ra-1.crt "est-ra-1" pki -n caadmin ca-user-cert-add est-ra-1 --input est-ra-1.crt pki pkcs12-cert-import "est-ra-1" --pkcs12-file $SHARED/est_server.p12 --pkcs12-password Secret.123 --append
# pki nss-cert-request --csr est-ra-1.csr \
--ext /usr/share/pki/server/certs/admin.conf \
--subject 'CN=EST Subsystem Certificate,OU=pki-tomcat,O=EXAMPLE'
# pki -n caadmin -cert-issue \
--csr-file est-ra-1.csr \
--profile caSubsystemCert \
--output-file est-ra-1.crt
# pki nss-cert-import --cert est-ra-1.crt "est-ra-1"
# pki -n caadmin ca-user-cert-add est-ra-1 --input est-ra-1.crt
# pki pkcs12-cert-import "est-ra-1" --pkcs12-file $SHARED/est_server.p12 --pkcs12-password Secret.123 --append
生成された PKCS#12 バンドルを使用して EST をデプロイするコマンドは次のとおりです。
pkispawn \ -f /usr/share/pki/server/examples/installation/est.cfg \ -s EST \ -D est_realm_url=ldap://estds.example.com:389 \ -D pki_ca_uri=https://ca.example.com:8443 \ -D est_ca_user_password= \ -D est_ca_user_certificate=est-ra-1 \ -D pki_server_pkcs12_path=est_server.p12 \ -D pki_server_pkcs12_password=Secret.123 \ -v
# pkispawn \
-f /usr/share/pki/server/examples/installation/est.cfg \
-s EST \
-D est_realm_url=ldap://estds.example.com:389 \
-D pki_ca_uri=https://ca.example.com:8443 \
-D est_ca_user_password= \
-D est_ca_user_certificate=est-ra-1 \
-D pki_server_pkcs12_path=est_server.p12 \
-D pki_server_pkcs12_password=Secret.123 \
-v
7.4.6.2.1.2. 証明書なしで別のインスタンスにインストールする
インストール中に PKCS#12 バンドル証明書が pkispawn
に提供されない場合、EST 用に設定されたプロファイルを使用して EST サーバー証明書が自動的に発行されます。CA との接続には、設定ファイルで提供される認証情報 (ユーザー名/パスワード) が使用されます。このような場合、CA 署名証明書が必要になります。証明書の取得は、CA サーバーで次のコマンドを使用して実行できます。
pki-server cert-export ca_signing --cert-file ca_signing.crt
# pki-server cert-export ca_signing --cert-file ca_signing.crt
次のコマンドで EST をインストールできます。
pkispawn \ -f /usr/share/pki/server/examples/installation/est.cfg \ -s EST \ -D est_realm_url=ldap://estds.example.com:389 \ -D pki_ca_uri=https://ca.example.com:8443 \ -D pki_cert_chain_path=ca_signing.crt \ -D pki_cert_chain_nickname=caSigning \ -v
# pkispawn \
-f /usr/share/pki/server/examples/installation/est.cfg \
-s EST \
-D est_realm_url=ldap://estds.example.com:389 \
-D pki_ca_uri=https://ca.example.com:8443 \
-D pki_cert_chain_path=ca_signing.crt \
-D pki_cert_chain_nickname=caSigning \
-v
EST でリリースされた証明書がサーバー用でない場合は、インストール後、別のプロファイルを使用して EST サーバー証明書を新しい証明書に更新できます。さらに、TLS 認証用の証明書を EST nssdb に追加し、/var/lib/pki/pki-tomcat/conf/est/backend.conf
ファイルで設定することもできます。
7.4.6.2.2. EST の削除
EST サブシステムを削除するには、次のように pkidestroy
コマンドを使用できます。
pkidestroy -s EST -v
# pkidestroy -s EST -v
注記: 設定フォルダーとログフォルダーは削除されません。すべてを削除するには、--remove-conf
--remove-logs
オプションを追加します。
7.4.6.3. pki-server
を使用した EST のインストール
EST のインストール の前提条件が設定されると、EST をインストールできるようになります。
PKI Tomcat インスタンスがすでに利用可能になっている必要があります。存在しない場合は、pki-server create
を使用して新しいインスタンスを作成できます (詳細は、こちら を参照してください)。
pki サーバーインスタンス内に EST サブシステム を作成します。
pki-server est-create
# pki-server est-create
発行バックエンドを設定します。クラス org.dogtagpki.est.DogtagRABackend
は、EST インスタンスが CA と通信するために使用されます。これには以下の要件があります。
- CA サブシステムを指す url パラメーター。
設定された登録プロファイルを使用して証明書の発行を要求するアカウントを認可する、次のいずれかの方法を使用した EST RA アカウントの認証情報。
- EST RA アカウントの場合は ユーザー名 と パスワード。
- EST RA アカウントに属する TLS クライアント証明書。
- 登録 プロファイル。
cat >/var/lib/pki/pki-tomcat/conf/est/backend.conf <<EOF class=org.dogtagpki.est.DogtagRABackend url=https://$(hostname):8443 profile=estServiceCert username=est-ra-1 password=password4ESTUser EOF
# cat >/var/lib/pki/pki-tomcat/conf/est/backend.conf <<EOF
class=org.dogtagpki.est.DogtagRABackend
url=https://$(hostname):8443
profile=estServiceCert
username=est-ra-1
password=password4ESTUser
EOF
注記: ユーザー名/パスワード の代わりに TLS 相互認証を使用するには、以下を実行する必要があります。
- EST インスタンスの暗号トークンを使用してインスタンスエイリアスディレクトリーにキーと CSR を生成し、CA から TLS クライアント証明書の発行を取得します。
- 証明書を EST インスタンスの暗号トークンにインポートします。
- nickname パラメーターにニックネームを割り当てます (username と password は省略します)。
- 証明書を、CA の EST RA ユーザーアカウントに追加します。
証明書を取得して TLS 相互設定を使用して EST を設定する方法の例は、こちら の pkispawn
インストールガイドに記載されています。
要求の認可を設定します。クラス org.dogtagpki.est.ExternalProcessRequestAuthorizer
を使用すると、executable パラメーターで設定された外部プロセスに認可を移譲できます。
cat >/var/lib/pki/pki-tomcat/conf/est/authorizer.conf <<EOF class=org.dogtagpki.est.ExternalProcessRequestAuthorizer executable=/usr/share/pki/est/bin/estauthz EOF
# cat >/var/lib/pki/pki-tomcat/conf/est/authorizer.conf <<EOF
class=org.dogtagpki.est.ExternalProcessRequestAuthorizer
executable=/usr/share/pki/est/bin/estauthz
EOF
この例の実行可能スクリプトは、/usr/share/pki/est/bin/estauthz
にあり、ユーザーロールの簡単なチェックを実行します。より高度な認可フレームワークを導入する必要がある場合は、これを置き換えることができます。
EST アプリケーションをデプロイします。
pki-server est-deploy
# pki-server est-deploy
認証を設定します。認証により、Tomcat からのレルム、または dogtag 用に開発されたレルムを使用できるようになります。例として、メモリー内のレルムを使用します。
cat >/var/lib/pki/pki-tomcat/conf/est/realm.conf <<EOF class=com.netscape.cms.realm.PKIInMemoryRealm username=alice password=4me2Test roles=estclient EOF
# cat >/var/lib/pki/pki-tomcat/conf/est/realm.conf <<EOF
class=com.netscape.cms.realm.PKIInMemoryRealm
username=alice
password=4me2Test
roles=estclient
EOF
最後に、サーバーを再起動します。
pki-server restart --wait
# pki-server restart --wait
7.4.6.4. EST レルム DB の設定
7.4.6.4.1. DS DB の準備
ユーザー管理に LDAP インスタンスを使用することを選択した場合は、ユーザーを追加する前に、必ず Directory Server を設定して基本のエントリーを追加する必要があります。Directory Server のセットアップ手順については、インストールの前提条件 を参照してください。
ユーザー DB には、ユーザー用のグループノードとグループ用のグループノードが必要です。シンプルな ldif
ファイルは /usr/share/pki/est/conf/realm/ds/create.ldif
にあります。この場合のベース DN は dc=pki,dc=example,dc=com
ですが、次の EST インストール時に変更して新しい値を指定できます。ファイルは次のコマンドでインポートできます。
ldapadd -x -H ldap://<ds_server_hostname>:<ds_server_port> \ -D "cn=Directory Manager" -w Secret.123 \ -f /usr/share/pki/est/conf/realm/ds/create.ldif
ldapadd -x -H ldap://<ds_server_hostname>:<ds_server_port> \
-D "cn=Directory Manager" -w Secret.123 \
-f /usr/share/pki/est/conf/realm/ds/create.ldif
このコマンドを実行すると、ユーザーが EST にアクセスするためのデフォルトグループとして使用される EST Users グループも作成されます。別のグループを使用するには、認可スクリプト /usr/share/pki/est/bin/estauthz
を変更する必要があります。
7.4.6.4.2. PostgreSQL DB の準備
ユーザー管理に PostgreSQL を使用することを選択した場合は、まずデータベースにアクセスするためのデータベース (たとえば est
) を準備する必要があります。インストール手順については、こちら を参照してください。
インストール後、次のコマンドでデータベース接続を確認します。
psql -U est -d est
$ psql -U est -d est
PostreSQL DB を使用するには、/usr/share/pki/est/conf/realm/postgresql/create.sql
にある sql ファイルを使用してユーザーテーブルを作成し、ユーザー情報を入力する必要があります。テーブルは次のコマンドで作成できます。
psql -U est -t -A -f /usr/share/pki/est/conf/realm/postgresql/create.sql
$ psql -U est -t -A -f /usr/share/pki/est/conf/realm/postgresql/create.sql
このコマンドを実行すると、ユーザーが EST にアクセスするためのデフォルトグループとして使用される EST Users グループも作成されます。別のグループを使用するには、認可スクリプト /usr/share/pki/est/bin/estauthz
を変更する必要があります。
異なるスキーマを使用することは可能ですが、この場合は DB からユーザー情報を取得するために、カスタムの statement.conf
ファイル (同じフォルダーにあります) を提供する必要があります。
さらに、PostgreSQL 用の Java ドライバーを EST サーバーにインストールし、pki のライブラリーフォルダーにリンクする必要があります。
dnf install -y postgresql-jdbc ln -s /usr/share/java/postgresql-jdbc/postgresql.jar /usr/share/pki/server/common/lib ln -s /usr/share/java/ongres-scram/client.jar /usr/share/pki/server/common/lib ln -s /usr/share/java/ongres-scram/common.jar /usr/share/pki/server/common/lib ln -s /usr/share/java/ongres-stringprep/saslprep.jar /usr/share/pki/server/common/lib/ ln -s /usr/share/java/ongres-stringprep/stringprep.jar /usr/share/pki/server/common/lib/
# dnf install -y postgresql-jdbc
# ln -s /usr/share/java/postgresql-jdbc/postgresql.jar /usr/share/pki/server/common/lib
# ln -s /usr/share/java/ongres-scram/client.jar /usr/share/pki/server/common/lib
# ln -s /usr/share/java/ongres-scram/common.jar /usr/share/pki/server/common/lib
# ln -s /usr/share/java/ongres-stringprep/saslprep.jar /usr/share/pki/server/common/lib/
# ln -s /usr/share/java/ongres-stringprep/stringprep.jar /usr/share/pki/server/common/lib/