7.4. PKI サブシステムのインストール


Red Hat Certificate System は、個別にインストールできるさまざまなサブシステムを提供します。たとえば、複数のサブシステムインスタンスを 1 つのサーバーにインストールすることも、異なるホストで個別に実行することもできます。これにより、インストールを環境に合わせて適応させることができ、より高い可用性、スケーラビリティー、フェイルオーバーのサポートを提供することができます。

インストールのガイダンスについては、以下の必要な RHCS サブシステムガイドを参照してください。

pkispawn についての理解が十分ではない場合は、各サブシステムのインストールで提示される選択肢をよりよく理解するために pkispawn ユーティリティーを使用して RHCS をインストールする」 を参照してください。

重要

完了したら 「インストール後のタスク」 を参照し、インストールするサブシステムに関連するセクションの内容に従ってください。

7.4.1. 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 にあります。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ pkispawn -f ca.cfg -s CA
7.4.1.1.2. CA システム証明書

インストール後、CA システム証明書とキーはサーバーの NSS データベース (/var/lib/pki/pki-tomcat/conf/alias) に保存されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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 パラメーターで指定されます。

管理者証明書を使用するには、次の手順を実行します。

  1. サーバーの NSS データベースから CA 署名証明書をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ pki-server cert-export ca_signing --cert-file ca_signing.crt
  2. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  3. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  4. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 システム証明書をエクスポートします。

Copy to Clipboard Toggle word wrap
$ pki-server ca-clone-prepare \
    --pkcs12-file ca-certs.p12 \
    --pkcs12-password Secret.123

このコマンドは、次の証明書 (証明書チェーンを含む) とそのキーを PKCS #12 ファイルにエクスポートします。

  • CA 署名証明書
  • OCSP 署名証明書
  • 監査署名証明書
  • サブシステム証明書

既存の SSL サーバー証明書はエクスポートされないことに注意してください。

必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。

Copy to Clipboard Toggle word wrap
$ 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 もエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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 ルールが追加されていることを確認します。

Copy to Clipboard Toggle word wrap
$ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12
$ restorecon -R -v ca-certs.p12

ca-certs.p12 ファイルが pkiuser によって所有されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 が利用可能な場合は、次のパラメーターを使用して指定できます。

Copy to Clipboard Toggle word wrap
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 Toggle word wrap
$ pkispawn -f ca-clone.cfg -s CA
7.4.1.2.4. CA システム証明書

インストール後、既存の CA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (つまり /var/lib/pki/pki-tomcat/conf/alias) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書

管理者証明書を使用するには、次の手順を実行します。

  1. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認するには、次のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 に保存されます。

オプションで、次のコマンドを使用してエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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 にエクスポートされていることを前提としています。

  1. デプロイメント設定を含むファイル (例: ca.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. CSR が利用可能な場合は、次のパラメーターを使用して指定できます。

    Copy to Clipboard Toggle word wrap
    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
  3. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. マスターの管理者キーと証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA クローンにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 システム証明書をエクスポートし、クローンシステムにコピーします。

Copy to Clipboard Toggle word wrap
$ 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 Toggle word wrap
$ 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 ルールが追加されていることを確認します。

Copy to Clipboard Toggle word wrap
$ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12
$ restorecon -R -v ca-certs.p12

ca-certs.p12 ファイルが pkiuser によって所有されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 にコピーします。

Copy to Clipboard Toggle word wrap
$ 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 パラメーターで指定されます。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ 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 サーバー証明書が作成されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書

管理者証明書を使用するには、次の手順を実行します。

  1. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 設定
  1. クローンシステムで上記の前提条件を完了したら、既存システムに移動して DS 署名証明書を ds_signing.p12 にエクスポートし、次のコマンドを使用して証明書をクローンシステムにコピーします。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. 次のコマンドを使用して、ds_signing.p12 をクローン DS インスタンスにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -d /etc/dirsrv/slapd-localhost \
    -C /etc/dirsrv/slapd-localhost/pwdfile.txt \
    pkcs12-import --pkcs12-file ds_signing.p12 \
    --pkcs12-password Secret.123
  3. DS クローン上で、DS サーバー証明書の作成 の説明に従って、ブートストラップ DS サーバー証明書を作成します。

    証明書のサブジェクト DN はクローンのホスト名 (--subject "CN=secondary.example.com") と一致する必要があることに注意してください。

  4. SSL 接続の有効化 の説明に従って SSL 接続を有効にします。
  5. DS の再起動が正常に完了したら、次のように DS 署名証明書を 'ds_signing.crt' にエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ 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 システム証明書のエクスポート
  1. 既存のシステムで、次のコマンドを使用して CA システム証明書をエクスポートし、クローンシステムにコピーします。

    Copy to Clipboard Toggle word wrap
    $ 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 サーバー証明書はエクスポートされないことに注意してください。

  2. 必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。

    Copy to Clipboard Toggle word wrap
    $ 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 権限
  1. ca-certs.p12 をクローンマシンにコピーした後、適切な SELinux ルールが追加されていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ semanage fcontext -a -t pki_tomcat_cert_t ca-certs.p12
    $ restorecon -R -v ca-certs.p12
  2. ca-certs.p12 ファイルが pkiuser によって所有されていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 パラメーターで指定されます。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ 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 サーバー証明書が作成されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書

管理者証明書を使用するには、次の手順を実行します。

  1. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムクローンにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. ステップ 1 のデプロイメント設定が含まれるファイル (例: ca-step1.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 からコピーでき、以下の変更を追加できます。

  1. 次のパラメーターを使用してステップ 2 を指定します。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用してカスタム CA 署名 CSR を指定します。

    Copy to Clipboard Toggle word wrap
    pki_ca_signing_csr_path=ca_signing.csr
  3. 次のパラメーターを使用してカスタム CA 署名証明書を指定します。

    Copy to Clipboard Toggle word wrap
    pki_ca_signing_cert_path=ca_signing.crt
  4. CA 署名証明書が外部 CA によって発行されている場合は、次のパラメーターを使用して外部 CA 証明書チェーンを指定します。

    Copy to Clipboard Toggle word wrap
    pki_cert_chain_nickname=external
    pki_cert_chain_path=external.crt
  5. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f ca-step2.cfg -s CA
7.4.1.6.4. システム証明書の検証

サーバー NSS データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. 外部 CA 証明書チェーンをインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 client-cert-import --ca-cert external.crt
  2. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  3. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  4. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にあります。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ pkispawn -f ca-ecc.cfg -s CA
7.4.1.7.2. CA システム証明書

インストール後、CA システム証明書とキーはサーバーの NSS データベース (/var/lib/pki/pki-tomcat/conf/alias) に保存されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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 パラメーターで指定されます。

管理者証明書を使用するには、次の手順を実行します。

  1. サーバーの NSS データベースから CA 署名証明書をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ pki-server cert-export ca_signing --cert-file ca_signing.crt
  2. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  3. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  4. 管理者証明書を使用して CA サブシステムにアクセスできることを確認するには、次のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. ステップ 1 のデプロイメント設定が含まれるファイル (例: ca-step1.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 のエクスポート
  1. 次のコマンドを使用して、既存の CA からシステム証明書をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. 次のコマンドを使用して、既存の CA から CSR をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ 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 からコピーでき、以下の変更を追加できます。

  1. 次のパラメーターを使用してステップ 2 を指定します。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用して既存の証明書を指定します。

    Copy to Clipboard Toggle word wrap
    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
  3. 次のパラメーターを使用して既存の CSR を指定します。

    Copy to Clipboard Toggle word wrap
    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
  4. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f ca-step2.cfg -s CA
7.4.1.8.4. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にあります。

以下のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ 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、証明書のエクスポート
  1. 次のコマンドを使用して、既存の CA からシステムキーと証明書を PKCS #12 ファイルにエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. 次のコマンドを使用して、既存の CA から CSR をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストールを完了する
  1. 2 つ目のデプロイメント設定が含まれる別のファイル (例: ca-existing-certs-step2.cfg) を準備します。

    このファイルは、最初のファイル (ca-existing-certs-step1.cfg) に次の変更を加えて作成できます。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用して、PKCS #12 ファイル内の既存のキーと証明書を指定します。

    Copy to Clipboard Toggle word wrap
    pki_pkcs12_path=ca-certs.p12
    pki_pkcs12_password=Secret.123
  3. 次のパラメーターを使用して既存の CSR を指定します。

    Copy to Clipboard Toggle word wrap
    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 にあります。

  4. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f ca-existing-certs-step2.cfg -s CA
7.4.1.9.4. システム証明書の確認

サーバー NSS データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にあります。

以下のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ 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 サブシステムのインストールを完了する
  1. 2 つ目のデプロイメント設定が含まれる別のファイル (例: ca-external-cert-step2.cfg) を準備します。このファイルは、最初のファイル (ca-external-cert-step1.cfg) に次の変更を加えて作成できます。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用してカスタム CA 署名証明書を指定します。

    Copy to Clipboard Toggle word wrap
    pki_ca_signing_cert_path=ca_signing.crt
  3. CA 署名証明書が外部 CA によって発行されている場合は、次のパラメーターを使用して外部 CA 証明書チェーンを指定します。

    Copy to Clipboard Toggle word wrap
    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 にあります。

  4. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f ca-external-cert-step2.cfg -s CA
7.4.1.10.4. システム証明書の確認

サーバー NSS データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. 外部 CA 証明書チェーンをインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 client-cert-import --ca-cert root-ca_signing.crt
  2. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  3. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  4. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定を含むファイル (例: ca.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の検証
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にエクスポートします。

Copy to Clipboard Toggle word wrap
$ 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 にあります。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ 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 データベースにインポートされます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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 データベース設定は、次のコマンドで表示できます。

Copy to Clipboard Toggle word wrap
$ 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 パラメーターで指定されます。

管理者証明書を使用するには、次の手順を実行します。

  1. サーバーの NSS データベースから CA 署名証明書をエクスポートします。

    Copy to Clipboard Toggle word wrap
    $ pki-server cert-export ca_signing --cert-file ca_signing.crt
  2. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  3. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ~/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  4. 管理者証明書を使用して CA サブシステムにアクセスできることを確認するには、次のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: subca.cfg) を準備します。

    デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/subca.cfg にあります。

    ルート CA が https://root.example.com:8443 ですでに実行されており、ルート CA 署名証明書が root-ca_signing.crt にエクスポートされていることを前提としています。

  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. ルート CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 /root/.dogtag/pki-tomcat/ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して下位 CA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: kra.cfg) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra.cfg にあります。
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 コネクターが設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 システム証明書をエクスポートします。

Copy to Clipboard Toggle word wrap
$ pki-server kra-clone-prepare \
    --pkcs12-file kra-certs.p12 \
    --pkcs12-password Secret.123

このコマンドは、次の証明書 (証明書チェーンを含む) とそのキーを PKCS #12 ファイルにエクスポートします。

  • KRA ストレージ証明書
  • KRA トランスポート証明書
  • 監査署名証明書
  • サブシステム証明書

既存の SSL サーバー証明書はエクスポートされないことに注意してください。

必要に応じて、次のコマンドを使用して、トラストアンカーなどのサードパーティーの証明書を同じ PKCS #12 ファイルに追加できます。

Copy to Clipboard Toggle word wrap
$ 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 のインストール を参照してください。

インストールを開始するには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
$ pkispawn -f kra-clone.cfg -s KRA
7.4.2.2.3. CA システム証明書

インストール後、既存の KRA システム証明書 (証明書チェーンを含む) とそのキーがサーバーの NSS データベース (つまり /var/lib/pki/pki-tomcat/conf/alias) に保存され、新しいインスタンス用に新しい SSL サーバー証明書が作成されます。

Copy to Clipboard Toggle word wrap
$ 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 ファイルにエクスポートできます。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書

管理者証明書を使用するには、次の手順を実行します。

  1. CA 署名証明書をクライアント NSS データベースにインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 管理者証明書を使用して KRA サブシステムクローンにアクセスできることを確認するには、次のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 にエクスポートされていることを前提としています。

  1. デプロイメント設定が含まれるファイル (例: kra.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 コネクターが設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: kra.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: kra.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 コネクターが設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 にエクスポートします。

Copy to Clipboard Toggle word wrap
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.2.6.2. KRA サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: kra.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 データベースがセキュアな接続で設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 コネクターが設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 証明書要求を生成する
  1. 最初のデプロイメント設定が含まれるファイル (例: kra-standalone-step1.cfg) を準備します。

    デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/kra-standalone-step1.cfg にあります。

  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. インストールの完了
  1. 2 つ目のデプロイメント設定が含まれる別のファイル (例: kra-standalone-step2.cfg) を準備します。このファイルは、最初のファイル (kra-standalone-step1.cfg) に次の変更を加えて作成できます。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用して証明書ファイルを指定します。

    Copy to Clipboard Toggle word wrap
    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 証明書チェーンのいずれかを含めることができます。

  3. 次のパラメーターを使用して CA 証明書チェーンを指定します。

    Copy to Clipboard Toggle word wrap
    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 にあります。

  4. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f kra-standalone-step2.cfg -s KRA
7.4.2.7.4. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 kra_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して KRA サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: ocsp.cfg) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ocsp.cfg にあります。
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 クライアントの検証
  1. 以下を実行して、CA の CRL を Directory Server に公開します。

    1. CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
    2. Update Directory Server をクリックします。
    3. Update the certificate revocation list to the directory を選択します。
    4. Update Directory をクリックします。
  2. OCSPClient を使用して証明書を検証できることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: ocsp.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: ocsp.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 クライアントの検証
  1. 以下を実行して、CA の CRL を Directory Server に公開します。

    1. CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
    2. Update Directory Server をクリックします。
    3. Update the certificate revocation list to the directory を選択します。
    4. Update Directory をクリックします。
  2. OCSPClient を使用して証明書を検証できることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にエクスポートします。

Copy to Clipboard Toggle word wrap
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.3.4.2. OCSP サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: ocsp.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 データベースがセキュアな接続で設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 クライアントの検証
  1. 以下を実行して、CA の CRL を Directory Server に公開します。

    1. CA Agent UI (https://pki.example.com:8443/ca/agent/ca/) に移動します。
    2. Update Directory Server をクリックします。
    3. Update the certificate revocation list to the directory を選択します。
    4. Update Directory をクリックします。
  2. OCSPClient を使用して証明書を検証できることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 証明書要求を生成する
  1. 最初のデプロイメント設定が含まれるファイル (例: ocsp-standalone-step1.cfg) を準備します。

    デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/ocsp-standalone-step1.cfg にあります。

  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. インストールの完了
  1. 2 つ目のデプロイメント設定が含まれる別のファイル (例: ocsp-standalone-step2.cfg) を準備します。このファイルは、最初のファイル (ocsp-standalone-step1.cfg) に次の変更を加えて作成できます。

    Copy to Clipboard Toggle word wrap
    pki_external_step_two=True
  2. 次のパラメーターを使用して証明書ファイルを指定します。

    Copy to Clipboard Toggle word wrap
    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 証明書チェーンのいずれかを含めることができます。

  3. 次のパラメーターを使用して CA 証明書チェーンを指定します。

    Copy to Clipboard Toggle word wrap
    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 にあります。

  4. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ pkispawn -f ocsp-standalone-step2.cfg -s OCSP
7.4.3.5.4. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki pkcs12-import \
        --pkcs12 ocsp_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して OCSP サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tks.cfg) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/tks.cfg にあります。
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tks.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にエクスポートします。

Copy to Clipboard Toggle word wrap
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.4.3.2. TKS サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tks.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 データベースがセキュアな接続で設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TKS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tps.cfg) を準備します。デプロイメント設定のサンプルは、/usr/share/pki/server/examples/installation/tps.cfg にあります。
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tps.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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. システム証明書の確認
  1. 内部トークンに次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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
  2. HSM に次の証明書が含まれていることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 にエクスポートします。

Copy to Clipboard Toggle word wrap
$ certutil -L -d /etc/dirsrv/slapd-localhost -n Self-Signed-CA -a > ds_signing.crt
7.4.5.3.2. TPS サブシステムのインストール
  1. デプロイメント設定が含まれるファイル (例: tps.cfg) を準備します。

    Copy to Clipboard Toggle word wrap
    [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
  2. 以下のコマンドを実行します。

    Copy to Clipboard Toggle word wrap
    $ 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 データベースに次の証明書が含まれていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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 データベースがセキュアな接続で設定されていることを確認します。

Copy to Clipboard Toggle word wrap
$ 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. 管理者証明書の検証
  1. CA 署名証明書をインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki nss-cert-import --cert ca_signing.crt --trust CT,C,C ca_signing
  2. 次のコマンドを使用して、管理者証明書とキーをクライアント NSS データベース (デフォルトでは ~/.dogtag/nssdb) にインポートします。

    Copy to Clipboard Toggle word wrap
    $ pki -c Secret.123 pkcs12-import \
        --pkcs12 ca_admin_cert.p12 \
        --pkcs12-password Secret.123
  3. 次のコマンドを実行して、管理者証明書を使用して TPS サブシステムにアクセスできることを確認します。

    Copy to Clipboard Toggle word wrap
    $ 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 パッケージがインストールされている必要があります。

Copy to Clipboard Toggle word wrap
# 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> オプションを使用します。

Copy to Clipboard Toggle word wrap
# 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 にあります。

Copy to Clipboard Toggle word wrap
# 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 を持つ独自のレルム認証があります。LDAPPostreSQL、ファイルベースの 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 署名証明書を出力します。

Copy to Clipboard Toggle word wrap
$ 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 のユーザーを使用して送信します。次のコマンドは、登録を実行し、最終証明書を出力します。

Copy to Clipboard Toggle word wrap
$ 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 認証を使用して登録する場合は、次のように認証情報を証明書と関連するキーに置き換える必要があります。

Copy to Clipboard Toggle word wrap
$ 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 ファイルに次のオプションを追加します。

Copy to Clipboard Toggle word wrap
enrollMatchTLSSubjSAN=false

7.4.6.2. pkispawn を使用した EST のインストール

EST のインストール の前提条件が設定されると、EST をインストールできるようになります。

7.4.6.2.1. インストール

次の内容の pkispawn インストール設定サンプルが /usr/share/pki/server/examples/installation/est.cfg にあります。

Copy to Clipboard Toggle word wrap
[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 をインストールするには、次のコマンドを実行します。

Copy to Clipboard Toggle word wrap
# 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 を指していることに注意してください。デプロイメントに応じて変更できるその他の設定は次のとおりです。

Copy to Clipboard Toggle word wrap
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 をインストールするコマンドは次のようになります。

Copy to Clipboard Toggle word wrap
# 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 ユーザー証明書) を要求し、次のようにエクスポートします。

Copy to Clipboard Toggle word wrap
# 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 に追加します。

Copy to Clipboard Toggle word wrap
# 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 をデプロイするコマンドは次のとおりです。

Copy to Clipboard Toggle word wrap
# 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 サーバーで次のコマンドを使用して実行できます。

Copy to Clipboard Toggle word wrap
# pki-server cert-export ca_signing --cert-file ca_signing.crt

次のコマンドで EST をインストールできます。

Copy to Clipboard Toggle word wrap
# 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 コマンドを使用できます。

Copy to Clipboard Toggle word wrap
# pkidestroy -s EST -v

注記: 設定フォルダーとログフォルダーは削除されません。すべてを削除するには、--remove-conf --remove-logs オプションを追加します。

7.4.6.3. pki-server を使用した EST のインストール

EST のインストール の前提条件が設定されると、EST をインストールできるようになります。

PKI Tomcat インスタンスがすでに利用可能になっている必要があります。存在しない場合は、pki-server create を使用して新しいインスタンスを作成できます (詳細は、こちら を参照してください)。

pki サーバーインスタンス内に EST サブシステム を作成します。

Copy to Clipboard Toggle word wrap
# pki-server est-create

発行バックエンドを設定します。クラス org.dogtagpki.est.DogtagRABackend は、EST インスタンスが CA と通信するために使用されます。これには以下の要件があります。

  • CA サブシステムを指す url パラメーター。
  • 設定された登録プロファイルを使用して証明書の発行を要求するアカウントを認可する、次のいずれかの方法を使用した EST RA アカウントの認証情報。

    • EST RA アカウントの場合は ユーザー名パスワード
    • EST RA アカウントに属する TLS クライアント証明書
  • 登録 プロファイル
Copy to Clipboard Toggle word wrap
# 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 パラメーターにニックネームを割り当てます (usernamepassword は省略します)。
  • 証明書を、CA の EST RA ユーザーアカウントに追加します。

証明書を取得して TLS 相互設定を使用して EST を設定する方法の例は、こちらpkispawn インストールガイドに記載されています。

要求の認可を設定します。クラス org.dogtagpki.est.ExternalProcessRequestAuthorizer を使用すると、executable パラメーターで設定された外部プロセスに認可を移譲できます。

Copy to Clipboard Toggle word wrap
# 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 アプリケーションをデプロイします。

Copy to Clipboard Toggle word wrap
# pki-server est-deploy

認証を設定します。認証により、Tomcat からのレルム、または dogtag 用に開発されたレルムを使用できるようになります。例として、メモリー内のレルムを使用します。

Copy to Clipboard Toggle word wrap
# cat >/var/lib/pki/pki-tomcat/conf/est/realm.conf <<EOF
class=com.netscape.cms.realm.PKIInMemoryRealm
username=alice
password=4me2Test
roles=estclient
EOF

最後に、サーバーを再起動します。

Copy to Clipboard Toggle word wrap
# 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 インストール時に変更して新しい値を指定できます。ファイルは次のコマンドでインポートできます。

Copy to Clipboard Toggle word wrap
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) を準備する必要があります。インストール手順については、こちら を参照してください。

インストール後、次のコマンドでデータベース接続を確認します。

Copy to Clipboard Toggle word wrap
$ psql -U est -d est

PostreSQL DB を使用するには、/usr/share/pki/est/conf/realm/postgresql/create.sql にある sql ファイルを使用してユーザーテーブルを作成し、ユーザー情報を入力する必要があります。テーブルは次のコマンドで作成できます。

Copy to Clipboard Toggle word wrap
$ 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 のライブラリーフォルダーにリンクする必要があります。

Copy to Clipboard Toggle word wrap
# 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/
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.