7.11. TPS インスタンスの作成と設定


このセクションでは、SubCA に対する TPS インスタンスのインストールと設定を説明します。
TPS システム証明書は SubCA によって発行され、TPS は SubCA セキュリティードメインに参加します。
この例では、TPS は rhcs10.example.com にインストールされ、その内部ディレクトリーサーバーは rhds11.example.com にあります。

注記

/opt/pki_rsa/ca-chain.pem ファイルに完全な CA 証明書チェーン (SubCA 証明書と RootCA 証明書) が含まれていることを確認します。

# ls -l /opt/pki_rsa/ca-chain.pem

# cat /opt/pki_rsa/ca-chain.pem

7.11.1. 一時 DS 証明書を置き換える (TPS)

TPS をインストールする前に、TPS の Directory Server の公式 SSL サーバー証明書を発行します。これは一時的なブートストラップ証明書を置き換えるためのものです。そのためには、まず Directory Server 証明書の証明書署名要求 (CSR) を作成し、次にこの要求を CA に送信します。

注記

必ず DS サーバーの FQDN (例: cn=rhds11.example.com / host=rhds11.example.com) を使用してください。

実際の DS 証明書の CSR を生成する

rhds11.example.com で、実際の DS 証明書の PKCS10 証明書署名要求を生成します。

  1. DS を停止します。

    # dsctl slapd-CC-RSA-TPS-LDAP stop
  2. certutil ツールを使用して CSR を生成します。

    # certutil -R -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP -s "CN=rhds11.example.com" -g 2048 -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -a -o /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/Server-Cert-tps.csr -z /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/noise.txt
    重要

    上記で取得した Server-Cert-tps.csr 出力ファイルを編集して、"Begin Certificate Request" の前の数行を削除します。以下に例を示します。

    # vi /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/Server-Cert-tps.csr

    CSR ファイルは、"-----BEGIN CERTIFICATE REQUEST-----" の行で始まり、"-----END CERTIFICATE REQUEST-----" の行で終わる必要があります。

  3. Server-Cert-tps.csr ファイルを CA が存在するシステムにリモートコピーします。以下に例を示します。

    # scp /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/Server-Cert-tps.csr root@rhcs10.example.com:/root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps.csr

実際の DS 証明書を発行する

rhcs10.example.com で、実際の SSL サーバー証明書を発行します。

  1. CMC 要求を生成します。

    1. CMCRequest 設定ファイルを作成します。以下に例を示します。

      # vim /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.cfg
      ### numRequests: Total number of PKCS10 requests or CRMF requests.
      numRequests=1
      
      ### input: full path for the PKCS10 request or CRMF request,
      ### The content must be in Base-64 encoded format.
      ### Multiple files are supported. They must be separated by a space.
      ### For input on a different host, specify where to find the CSR.
      input=/root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps.csr
      
      ### output: full path for the CMC request in binary format
      ### For output on a different host, specify the destination.
      output=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.req
      
      ### tokenname: name of the token where the agent signing cert can be found (default is internal)
      tokenname=internal
      
      ### nickname: nickname for the agent certificate that will be used to sign the CMC full request.
      nickname=PKI Bootstrap Administrator for RSA-SubCA
      
      ### dbdir: directory for cert8.db, key3.db and secmod.db
      dbdir=/root/.dogtag/pki_rsa_bootstrap/certs_db
      
      ### password: password for cert8.db that stores the agent certificate
      password=SECret.123
      
      ### format: request format, either pkcs10 or crmf
      format=pkcs10
    2. CMCRequest コマンドを使用してリクエストを生成します。

      # CMCRequest /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.cfg
      
      cert/key prefix =
      path = /root/.dogtag/pki_rsa_bootstrap/certs_db
      CryptoManger initialized
      token internal logged in...
      got signerCert: PKI Bootstrap Administrator for RSA-SubCA
      createPKIData: begins
      k=0
      createPKIData:  format: pkcs10
      useSharedSecret is false...
      signData: begins:
      getPrivateKey: got signing cert
      signData:  got signer privKey
      createSignedData: begins
      getSigningAlgFromPrivate: begins.
      getSigningAlgFromPrivate: found signingKeyType=RSA
      getSigningAlgFromPrivate: using SignatureAlgorithm: RSASignatureWithSHA256Digest
      createSignedData: digest created for pkidata
      createSignedData: digest algorithm =RSASignatureWithSHA256Digest
      createSignedData: building cert chain
      signData: signed request generated.
      getCMCBlob: begins
      getCMCBlob: generating signed data
      
      The CMC enrollment request in base-64 encoded format:
      
      . . . Output omitted . . .
      
      The CMC enrollment request in binary format is stored in
      /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.req
  2. CMC 要求を送信します。

    1. HttpClient 設定ファイルを作成します。以下に例を示します。

      # vim /root/.dogtag/pki_rsa_bootstrap/certs_db/HttpClient_dirsrv-tps.cfg
      ### host: host name for the http server
      host=rhcs10.example.com
      
      ### port: port number
      port=31443
      
      ### secure: true for secure connection, false for nonsecure connection
      secure=true
      
      ### input: full path for the enrollment request, the content must be in binary format
      input=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.req
      
      ### output: full path for the response in binary format
      output=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.resp
      
      ### tokenname: name of the token where the SSL client authentication cert can be found (default is internal)
      ### This parameter will be ignored if secure=false
      tokenname=internal
      
      ### dbdir: directory for cert8.db, key3.db and secmod.db
      ### This parameter will be ignored if secure=false
      dbdir=/root/.dogtag/pki_rsa_bootstrap/certs_db
      
      ### clientmode: true for client authentication, false for no client authentication
      ### This parameter will be ignored if secure=false
      clientmode=true
      
      ### password: password for cert8.db
      ### This parameter will be ignored if secure=false and clientauth=false
      password=SECret.123
      
      ### nickname: nickname for client certificate
      ### This parameter will be ignored if clientmode=false
      nickname=PKI Bootstrap Administrator for RSA-SubCA
      
      ### servlet: servlet name
      servlet=/ca/ee/ca/profileSubmitCMCFull?profileId=caCMCserverCert
    2. HttpClient コマンドを使用して要求を送信します。

      # HttpClient /root/.dogtag/pki_rsa_bootstrap/certs_db/HttpClient_dirsrv-tps.cfg
      
      Total number of bytes read = 3096
      after SSLSocket created, thread token is NSS FIPS 140-2 User Private Key
      client cert is not null
      handshake happened
      writing to socket
      
      ##Response Headers begin##
      HTTP/1.1 200
      Content-Type: application/pkcs7-mime
      Content-Length: 2492
      Date: Tue, 29 Sep 2020 15:20:21 GMT
      Connection: close
      ##end##
      
      . . . Output omitted . . .
      
      The response in binary format is stored in
      /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.resp
  3. CMC 応答を処理します。

    1. CMCResponse を使用して応答を処理し、チェーン内のすべての証明書を PEM 形式で個別に表示します。

      重要

      "-v" オプションを指定して CMCResponse を実行すると、チェーン内の各証明書の PEM が Cert:0、Cert:1 などとして返されます。この出力では、すべての PEM の下に、チェーン内の各証明書も整った出力形式で表示されます。証明書は決まった順序で表示されないため、チェーン内での位置を確認するには、各 "Certificate" の下にある "Subject:" を確認する必要があります。対応する PEM が上と同じ位置に表示されます。

      # CMCResponse -d /root/.dogtag/pki_rsa_bootstrap/certs_db -i /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps_pkcs10.resp -v
      
      Cert:0
      ...
      ===
      Cert:1
      ...
      ===
      Cert:2
      ...
      ===
      Certificates:
      
        Certificate:
            Data:
                Version:  v3
                Serial Number: 0xA383694
                Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-TPS,O=Example-rhcs10-RSA-TPS
                Validity:
                    Not Before: Tuesday, April 5, 2022 8:41:36 AM EDT America/New_York
                    Not  After: Monday, March 25, 2024 8:41:36 AM EDT America/New_York
                Subject: CN=rhds11.example.com
      
      . . . Output omitted . . .
      
          Certificate:
              Data:
                  Version:  v3
                  Serial Number: 0x5C8FAD4
                  Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                  Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-RootCA
                  Validity:
                      Not Before: Tuesday, April 5, 2022 8:36:21 AM EDT America/New_York
                      Not  After: Saturday, April 5, 2042 8:36:21 AM EDT America/New_York
                  Subject: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-RootCA
      
      . . . Output omitted . . .
      
          Certificate:
              Data:
                  Version:  v3
                  Serial Number: 0x80296C3
                  Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                  Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-TPS
                  Validity:
                      Not Before: Tuesday, April 5, 2022 8:39:43 AM EDT America/New_York
                      Not  After: Friday, April 5, 2041 8:39:43 AM EDT America/New_York
                  Subject: CN=CA Signing Certificate,OU=rhcs10-RSA-TPS,O=Example-rhcs10-RSA-RootCA
      
      . . . Output omitted . . .
      
      Number of controls is 1
      Control #0: CMCStatusInfoV2
      OID: {1 3 6 1 5 5 7 7 25}
      BodyList: 1
      Status: SUCCESS
      CMC Full Response.
    2. 新しい Server-Cert DS 証明書を、適切な名前でブートストラップ証明書ディレクトリー (例: /root/.dogtag/pki_rsa_bootstrap/certs_db/) 内のファイルに保存します。.pem ファイルは、ヘッダー -----BEGIN CERTIFICATE----- で開始し、フッター -----END CERTIFICATE----- で終了する必要があります。以下に例を示します。

      # vi /root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps.pem

      この場合の Server-Cert-tps.pem は、TPS の内部データベースとして機能する Directory Server インスタンスの新しい Server-Cert 証明書です。

      注記

      RootCA の署名証明書は、次のコマンドからの出力と一致する必要があります。

      # certutil -L -d /var/lib/pki/rhcs10-RSA-RootCA/alias/ -n "CA Signing Cert - rhcs10-RSA-RootCA" -a
  4. 新しい Server-Cert 証明書を rhds11.example.com にリモートコピーします。以下に例を示します。

    # scp /root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps.pem root@rhds11.example.com:/etc/dirsrv/slapd-CC-RSA-TPS-LDAP/

一時 DS 証明書を置き換える

rhds11.example.com で、一時的な DS 証明書を実際の DS 証明書に置き換えます。

  1. dirsrv ディレクトリーの内容をバックアップディレクトリーに保存します。

    # cp -r /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ /etc/dirsrv/save-rsa/slapd-CC-RSA-TPS-LDAP/
  2. 古い DS 証明書を削除します。

    # certutil -D -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -n "Server-Cert"
    # certutil -D -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -n "Self-Signed-CA"
  3. 新しく作成した DS 証明書とそのチェーン内の CA 証明書を 1 つずつインポートします。以下に例を示します。

    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -A -t "CT,C,C" -n "CA Signing Cert - rhcs10-RSA-RootCA" -i /opt/pki_rsa/rootCA.pem
    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -A -t "CT,C,C" -n "CA Signing Cert - rhcs10-RSA-SubCA" -i /opt/pki_rsa/subCA.pem
    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/ -f /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/pwdfile.txt -A -t "u,u,u" -n "Server-Cert" -i /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/Server-Cert-tps.pem
  4. 証明書をリスト表示します。

    # certutil -L -d /etc/dirsrv/slapd-CC-RSA-TPS-LDAP/
    
    Certificate Nickname                         Trust Attributes
                                                 SSL,S/MIME,JAR/XPI
    CA Signing Cert - rhcs10-RSA-RootCA          CT,C,C
    CA Signing Cert - rhcs10-RSA-SubCA           CT,C,C
    Server-Cert                                  u,u,u
  5. DS を起動します。

    # dsctl slapd-CC-RSA-TPS-LDAP start
  6. LDAP サーバーが稼働していることをテストして確認します (別のシステムの場合は、CA ホストでもテストします)。

    # ldapsearch -x -D "cn=Directory Manager" -H ldaps://rhds11.example.com:17636 -b "dc=example,dc=com" -w SECret.123

    別のシステムでテストする場合は、次のように CA 証明書チェーンを ldapsearch コマンドの前に追加します。

    # LDAPTLS_CACERT=/opt/pki_rsa/ca-chain.pem ldapsearch -x -D "cn=Directory Manager" -H ldaps://rhds11.example.com:17636 -b "dc=example,dc=com" -w SECret.123

7.11.2. TPS 認証データベースの設定

TPS は、スマートカードトークンの認証に認証データベースを使用します。
詳細は 「トークンデータベース」 を参照してください。

7.11.2.1. TPS 認証データベース用の LDAP サーバーの設定

TPS をインストールする前に、TPS AuthDB をホストする Directory Server インスタンスをインストールします。

注記

このセクションで説明する TPS 認証データベースは、デモンストレーションのみを目的として簡略化された手順で作成されています。

rhds11.example.com で root として以下を実行します。

  1. CA がトークンの認証に使用する Directory Server インスタンスをインストールします。Red Hat Directory Server は、LDAP/LDAPS ポート (それぞれ 9389 および 9636) をリッスンしています。

    1. 選択した場所 (例: /root/pki_rsa) に TPS AuthDB Directory Server インストールファイルを作成します。

      # vim /root/pki_rsa/tps-auth-db-ldap.cfg
    2. 前の手順で作成した .cfg ファイルを編集します。以下のパラメーターのコメントを解除し、インストールをカスタマイズするように設定します。

      [general]
      full_machine_name = rhds11.example.com
      
      [slapd]
      port = 9389
      secure_port = 9636
      instance_name = CC-RSA-TPS-AUTH-DB
      root_password = SECret.123
      self_sign_cert = True
      
      [backend-userroot]
      suffix = dc=example,dc=com
      create_suffix_entry = True
    3. Directory Server インスタンスをインストールします。

      # dscreate from-file /root/pki_rsa/tps-auth-db-ldap.cfg
      
      Starting installation...
      
      Completed installation for CC-RSA-TPS-AUTH-DB
  2. ACI(アクセス制御命令) ルールを追加して、匿名のバインドアクセスを許可します。デフォルトでは、これは無効になっています。

    1. 選択した場所 (例: /root/pki_rsa/dirsrv/) に次の内容の ldapaci.ldif ファイルを作成します。

      dn: dc=example,dc=com
      changetype: modify
      add: aci
      aci: (targetattr!="userPassword || aci")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare) userdn="ldap:///anyone";)
    2. ldapmodify コマンドを実行して、ACI を追加します。

      # ldapmodify -x -h rhds11.example.com -p 9389 -D 'cn=Directory Manager' -W -f /root/pki_rsa/dirsrv/ldapaci.ldif

7.11.2.2. 一時 DS 証明書 (TPS AuthDB) を置き換える

TPS をインストールする前に、TPS 認証データベースの公式 SSL サーバー証明書を発行します。これは一時的なブートストラップ証明書を置き換えるためのものです。そのためには、まず Directory Server 証明書の証明書署名要求 (CSR) を作成し、次にこの要求を CA に送信します。

注記

必ず DS サーバーの FQDN (例: cn=rhds11.example.com / host=rhds11.example.com) を使用してください。

実際の DS 証明書の CSR を生成する

rhds11.example.com で、実際の DS 証明書の PKCS10 証明書署名要求を生成します。

  1. DS を停止します。

    # dsctl slapd-CC-RSA-TPS-AUTH-DB stop
  2. certutil ツールを使用して CSR を生成します。

    # certutil -R -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB -s "CN=rhds11.example.com" -g 2048 -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -a -o /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/Server-Cert-tps-auth.csr -z /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/noise.txt
    重要

    上記で取得した Server-Cert-tps-auth.csr 出力ファイルを編集して、"Begin Certificate Request" の前の数行を削除します。以下に例を示します。

    # vi /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/Server-Cert-tps-auth.csr

    CSR ファイルは、"-----BEGIN CERTIFICATE REQUEST-----" の行で始まり、"-----END CERTIFICATE REQUEST-----" の行で終わる必要があります。

  3. Server-Cert-tps-auth.csr ファイルを CA が存在するシステムにリモートコピーします。以下に例を示します。

    # scp /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/Server-Cert-tps-auth.csr root@rhcs10.example.com:/root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps-auth.csr

実際の DS 証明書を発行する

rhcs10.example.com で、実際の SSL サーバー証明書を発行します。

  1. CMC 要求を生成します。

    1. CMCRequest 設定ファイルを作成します。以下に例を示します。

      # vim /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.cfg
      ### numRequests: Total number of PKCS10 requests or CRMF requests.
      numRequests=1
      
      ### input: full path for the PKCS10 request or CRMF request,
      ### The content must be in Base-64 encoded format.
      ### Multiple files are supported. They must be separated by a space.
      ### For input on a different host, specify where to find the CSR.
      input=/root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps-auth.csr
      
      ### output: full path for the CMC request in binary format
      ### For output on a different host, specify the destination.
      output=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.req
      
      ### tokenname: name of the token where the agent signing cert can be found (default is internal)
      tokenname=internal
      
      ### nickname: nickname for the agent certificate that will be used to sign the CMC full request.
      nickname=PKI Bootstrap Administrator for RSA-SubCA
      
      ### dbdir: directory for cert8.db, key3.db and secmod.db
      dbdir=/root/.dogtag/pki_rsa_bootstrap/certs_db
      
      ### password: password for cert8.db that stores the agent certificate
      password=SECret.123
      
      ### format: request format, either pkcs10 or crmf
      format=pkcs10
    2. CMCRequest コマンドを使用してリクエストを生成します。

      # CMCRequest /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.cfg
      
      cert/key prefix =
      path = /root/.dogtag/pki_rsa_bootstrap/certs_db
      CryptoManger initialized
      token internal logged in...
      got signerCert: PKI Bootstrap Administrator for RSA-SubCA
      createPKIData: begins
      k=0
      createPKIData:  format: pkcs10
      useSharedSecret is false...
      signData: begins:
      getPrivateKey: got signing cert
      signData:  got signer privKey
      createSignedData: begins
      getSigningAlgFromPrivate: begins.
      getSigningAlgFromPrivate: found signingKeyType=RSA
      getSigningAlgFromPrivate: using SignatureAlgorithm: RSASignatureWithSHA256Digest
      createSignedData: digest created for pkidata
      createSignedData: digest algorithm =RSASignatureWithSHA256Digest
      createSignedData: building cert chain
      signData: signed request generated.
      getCMCBlob: begins
      getCMCBlob: generating signed data
      
      The CMC enrollment request in base-64 encoded format:
      
      . . . Output omitted . . .
      
      The CMC enrollment request in binary format is stored in
      /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.req
  2. CMC 要求を送信します。

    1. HttpClient 設定ファイルを作成します。以下に例を示します。

      # vim /root/.dogtag/pki_rsa_bootstrap/certs_db/HttpClient_dirsrv-tps-auth.cfg
      ### host: host name for the http server
      host=rhcs10.example.com
      
      ### port: port number
      port=31443
      
      ### secure: true for secure connection, false for nonsecure connection
      secure=true
      
      ### input: full path for the enrollment request, the content must be in binary format
      input=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.req
      
      ### output: full path for the response in binary format
      output=/root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.resp
      
      ### tokenname: name of the token where the SSL client authentication cert can be found (default is internal)
      ### This parameter will be ignored if secure=false
      tokenname=internal
      
      ### dbdir: directory for cert8.db, key3.db and secmod.db
      ### This parameter will be ignored if secure=false
      dbdir=/root/.dogtag/pki_rsa_bootstrap/certs_db
      
      ### clientmode: true for client authentication, false for no client authentication
      ### This parameter will be ignored if secure=false
      clientmode=true
      
      ### password: password for cert8.db
      ### This parameter will be ignored if secure=false and clientauth=false
      password=SECret.123
      
      ### nickname: nickname for client certificate
      ### This parameter will be ignored if clientmode=false
      nickname=PKI Bootstrap Administrator for RSA-SubCA
      
      ### servlet: servlet name
      servlet=/ca/ee/ca/profileSubmitCMCFull?profileId=caCMCserverCert
    2. HttpClient コマンドを使用して要求を送信します。

      # HttpClient /root/.dogtag/pki_rsa_bootstrap/certs_db/HttpClient_dirsrv-tps-auth.cfg
      
      Total number of bytes read = 3096
      after SSLSocket created, thread token is NSS FIPS 140-2 User Private Key
      client cert is not null
      handshake happened
      writing to socket
      
      ##Response Headers begin##
      HTTP/1.1 200
      Content-Type: application/pkcs7-mime
      Content-Length: 2492
      Date: Tue, 29 Sep 2020 15:20:21 GMT
      Connection: close
      ##end##
      
      . . . Output omitted . . .
      
      The response in binary format is stored in
      /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.resp
  3. CMC 応答を処理します。

    1. CMCResponse を使用して応答を処理し、チェーン内のすべての証明書を PEM 形式で個別に表示します。

      重要

      "-v" オプションを指定して CMCResponse を実行すると、チェーン内の各証明書の PEM が Cert:0、Cert:1 などとして返されます。この出力では、すべての PEM の下に、チェーン内の各証明書も整った出力形式で表示されます。証明書は決まった順序で表示されないため、チェーン内での位置を確認するには、各 "Certificate" の下にある "Subject:" を確認する必要があります。対応する PEM が上と同じ位置に表示されます。

      # CMCResponse -d /root/.dogtag/pki_rsa_bootstrap/certs_db -i /root/.dogtag/pki_rsa_bootstrap/certs_db/cmc.dirsrv-tps-auth_pkcs10.resp -v
      
      Cert:0
      ...
      ===
      Cert:1
      ...
      ===
      Cert:2
      ...
      ===
      Certificates:
      
        Certificate:
            Data:
                Version:  v3
                Serial Number: 0xA383694
                Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-TPS,O=Example-rhcs10-RSA-TPS
                Validity:
                    Not Before: Tuesday, April 5, 2022 8:41:36 AM EDT America/New_York
                    Not  After: Monday, March 25, 2024 8:41:36 AM EDT America/New_York
                Subject: CN=rhds11.example.com
      
      . . . Output omitted . . .
      
          Certificate:
              Data:
                  Version:  v3
                  Serial Number: 0x5C8FAD4
                  Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                  Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-RootCA
                  Validity:
                      Not Before: Tuesday, April 5, 2022 8:36:21 AM EDT America/New_York
                      Not  After: Saturday, April 5, 2042 8:36:21 AM EDT America/New_York
                  Subject: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-RootCA
      
      . . . Output omitted . . .
      
          Certificate:
              Data:
                  Version:  v3
                  Serial Number: 0x80296C3
                  Signature Algorithm: SHA256withRSA - 1.2.840.113549.1.1.11
                  Issuer: CN=CA Signing Certificate,OU=rhcs10-RSA-RootCA,O=Example-rhcs10-RSA-TPS
                  Validity:
                      Not Before: Tuesday, April 5, 2022 8:39:43 AM EDT America/New_York
                      Not  After: Friday, April 5, 2041 8:39:43 AM EDT America/New_York
                  Subject: CN=CA Signing Certificate,OU=rhcs10-RSA-TPS,O=Example-rhcs10-RSA-RootCA
      
      . . . Output omitted . . .
      
      Number of controls is 1
      Control #0: CMCStatusInfoV2
      OID: {1 3 6 1 5 5 7 7 25}
      BodyList: 1
      Status: SUCCESS
      CMC Full Response.
    2. 新しい Server-Cert DS 証明書を、適切な名前でブートストラップ証明書ディレクトリー (例: /root/.dogtag/pki_rsa_bootstrap/certs_db/) 内のファイルに保存します。.pem ファイルは、ヘッダー -----BEGIN CERTIFICATE----- で開始し、フッター -----END CERTIFICATE----- で終了する必要があります。以下に例を示します。

      # vi /root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps-auth.pem

      この場合の Server-Cert-tps-auth.pem は、TPS の認証データベースとして機能する Directory Server インスタンスの新しい Server-Cert 証明書です。

      注記

      RootCA の署名証明書は、次のコマンドからの出力と一致する必要があります。

      # certutil -L -d /var/lib/pki/rhcs10-RSA-RootCA/alias/ -n "CA Signing Cert - rhcs10-RSA-RootCA" -a
  4. 新しい Server-Cert 証明書を rhds11.example.com にリモートコピーします。以下に例を示します。

    # scp /root/.dogtag/pki_rsa_bootstrap/certs_db/Server-Cert-tps-auth.pem root@rhds11.example.com:/etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/

一時 DS 証明書を置き換える

rhds11.example.com で、一時的な DS 証明書を実際の DS 証明書に置き換えます。

  1. dirsrv ディレクトリーの内容をバックアップディレクトリーに保存します。

    # cp -r /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ /etc/dirsrv/save-rsa/slapd-CC-RSA-TPS-AUTH-DB/
  2. 古い DS 証明書を削除します。

    # certutil -D -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -n "Server-Cert"
    # certutil -D -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -n "Self-Signed-CA"
  3. 新しく作成した DS 証明書とそのチェーン内の CA 証明書を 1 つずつインポートします。以下に例を示します。

    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -A -t "CT,C,C" -n "CA Signing Cert - rhcs10-RSA-RootCA" -i /opt/pki_rsa/rootCA.pem
    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -A -t "CT,C,C" -n "CA Signing Cert - rhcs10-RSA-SubCA" -i /opt/pki_rsa/subCA.pem
    # certutil -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/ -f /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/pwdfile.txt -A -t "u,u,u" -n "Server-Cert" -i /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/Server-Cert-tps-auth.pem
  4. 証明書をリスト表示します。

    # certutil -L -d /etc/dirsrv/slapd-CC-RSA-TPS-AUTH-DB/
    
    Certificate Nickname                        Trust Attributes
                                                SSL,S/MIME,JAR/XPI
    CA Signing Cert - rhcs10-RSA-RootCA         CT,C,C
    CA Signing Cert - rhcs10-RSA-SubCA          CT,C,C
    Server-Cert                                 u,u,u
  5. DS を起動します。

    # dsctl slapd-CC-RSA-TPS-AUTH-DB start
  6. LDAP サーバーが稼働していることをテストして確認します (別のシステムの場合は、CA ホストでもテストします)。

    # ldapsearch -x -D "cn=Directory Manager" -H ldaps://rhds11.example.com:9636 -b "dc=example,dc=com" -w SECret.123

    別のシステムでテストする場合は、次のように CA 証明書チェーンを ldapsearch コマンドの前に追加します。

    # LDAPTLS_CACERT=/opt/pki_rsa/ca-chain.pem ldapsearch -x -D "cn=Directory Manager" -H ldaps://rhds11.example.com:9636 -b "dc=example,dc=com" -w SECret.123

7.11.3. TPS インスタンスのインストール

TPS をインストールするには、シングルステップメソッドまたはツーステップメソッドの いずれか 1 つ を使用します。次の手順では、シングルステップ方式を説明します。ツーステップ方式を使用してインストールする場合は、] および xref:_rootca_two_step[ を参照してください。

重要

AIA 拡張が CA の内部 OCSP ではなく外部 OCSP インスタンスを指すようにする場合は、TPS をインストールする前に 「この OCSP を指すようにデフォルトの AIA 拡張機能を設定します」 の手順に従ってください。

前提条件

手順

  1. 選択した場所 (例: /root/pki_rsa) に TPS インストールファイルを作成します。

    # cd /root/pki_rsa
    # vi tps_inst.cfg
    注記

    明示的に指定されていない限り、システム証明書のニックネームは、pki_instance_name に指定された値を使用して自動的に名前が付けられます。共有 HSM での証明書のニックネームの競合を回避するには、インスタンスを作成するたびに一意のインスタンス名を使用します。

    以下のインストールファイルでは、例となる値を指定しています。HSM パスワードの変更に加えて、たとえばポート、ディレクトリー、ニックネーム、ドメインなどの値を適宜変更します。

    [DEFAULT]
    pki_instance_name=rhcs10-RSA-TPS
    pki_https_port=25443
    pki_http_port=25080
    
    ### Crypto Token
    pki_hsm_enable=True
    pki_hsm_libfile=/opt/nfast/toolkits/pkcs11/libcknfast.so
    pki_hsm_modulename=nfast
    pki_token_name=NHSM-CONN-XC
    pki_token_password=<YourHSMpassword>
    
    pki_audit_signing_token=NHSM-CONN-XC
    pki_audit_signing_key_algorithm=SHA256withRSA
    pki_audit_signing_key_size=2048
    pki_audit_signing_key_type=rsa
    pki_audit_signing_signing_algorithm=SHA256withRSA
    
    pki_subsystem_token=NHSM-CONN-XC
    pki_subsystem_key_algorithm=SHA256withRSA
    pki_subsystem_signing_algorithm=SHA256withRSA
    pki_subsystem_key_size=2048
    pki_subsystem_key_type=rsa
    
    pki_sslserver_token=NHSM-CONN-XC
    pki_sslserver_key_algorithm=SHA256withRSA
    pki_sslserver_signing_algorithm=SHA256withRSA
    pki_sslserver_key_size=2048
    pki_sslserver_key_type=rsa
    
    ### CA cert chain concatenated in PEM format
    pki_cert_chain_path=/opt/pki_rsa/ca-chain.pem
    
    ### Bootstrap Admin
    pki_admin_password=SECret.123
    pki_admin_key_type=rsa
    pki_admin_key_size=2048
    pki_admin_key_algorithm=SHA256withRSA
    
    ### Bootstrap Admin client dir
    pki_client_admin_cert_p12=/opt/pki_rsa/rhcs10-RSA-TPS/tps_admin_cert.p12
    pki_client_database_dir=/opt/pki_rsa/rhcs10-RSA-TPS/certs_db
    pki_client_database_password=SECret.123
    pki_client_database_purge=False
    pki_client_dir=/opt/pki_rsa/rhcs10-RSA-TPS
    pki_client_pkcs12_password=SECret.123
    
    ### Internal LDAP
    pki_ds_bind_dn=cn=Directory Manager
    pki_ds_ldap_port=17389
    pki_ds_ldaps_port=17636
    pki_ds_password=SECret.123
    pki_ds_remove_data=True
    pki_ds_secure_connection=True
    pki_ds_secure_connection_ca_pem_file=/opt/pki_rsa/ca-chain.pem
    pki_ds_secure_connection_ca_nickname=CA Signing Cert - rhcs10-RSA-SubCA
    
    ### Security Domain
    pki_security_domain_hostname=rhcs10.example.com
    pki_security_domain_https_port=31443
    pki_security_domain_password=SECret.123
    pki_security_domain_user=caadmin
    
    
    [Tomcat]
    pki_ajp_port=14019
    pki_tomcat_server_port=14015
    
    [TPS]
    pki_import_admin_cert=False
    
    pki_admin_nickname=PKI Bootstrap Administrator for RSA-TPS
    pki_admin_name=tpsadmin
    pki_admin_uid=tpsadmin
    pki_admin_email=tpsadmin@example.com
    
    pki_ds_hostname=rhds11.example.com
    pki_ds_base_dn=dc=RSA-TPS
    pki_ds_database=CC-RSA-TPS-LDAP
    pki_share_db=False
    
    ### basedn of the TPS token authentication database
    pki_authdb_basedn = dc=example,dc=com
    pki_authdb_hostname=rhds11.example.com
    pki_authdb_port=9636
    pki_authdb_secure_conn=True
    pki_ca_uri=https://rhcs10.example.com:31443
    pki_tks_uri=https://rhcs10.example.com:24443
    pki_kra_uri=https://rhcs10.example.com:28443
    pki_enable_server_side_keygen=True
    
    pki_import_shared_secret=True
  2. pkispawn ツールを実行して、TPS サブシステムをインストールします。

    # pkispawn -s TPS -f tps_inst.cfg --debug

    これにより、TPS インスタンスが /var/lib/pki/rhcs10-RSA-TPS に作成されます。

注記

この TPS をツーステップ方法を使用してインストールする場合は以下を実行します。

  1. まず、--skip-configuration オプションを指定して pkispawn ツールを実行し、RHCS TPS インスタンスをインストールします。

    # pkispawn -s TPS -f tps_inst.cfg --skip-configuration --debug
  2. 2 つのインストールステップの間に設定ファイルをカスタマイズします。
  3. TPS を設定するには、pkispawn ツールを実行します。

    # pkispawn -s TPS -f tps_inst.cfg --skip-installation --debug

検証

  1. インストールされている TPS インスタンスのステータスを表示します。

    # pki-server status rhcs10-RSA-TPS

    Secure Agent、Admin、および pkiconsole の URL を書き留めます。

  2. TPS エージェントの Web ページにアクセスできることを確認します。
  3. TPS ブートストラップ管理者証明書を nssdb にインポートします。

    # pki -d /root/.dogtag/pki_rsa_bootstrap/certs_db client-cert-import --pkcs12 /opt/pki_rsa/rhcs10-RSA-TPS/tps_admin_cert.p12 --pkcs12-password SECret.123
    
    ----------------------------------------
    Imported certificates from PKCS #12 file
    ----------------------------------------
注記

実際のスマートカードトークン登録テストは、次のサブセクションで説明するセットアップ手順を完了した後にのみ実行できます。

7.11.4. トークン側のキー生成のテスト

このセクションでは、トークン側 のキー生成 (サーバー側 のキー生成ではない) を使用したトークンキー登録の簡単なデモンストレーションを示します。トークン側のキー生成をテストするために、新しいテストユーザーを作成し、tpsclient ツールを使用してこのユーザーのトークンをフォーマットして登録します。

トークン側のキー生成のテスト準備

  1. 署名証明書のみを生成するように、userKey プロファイルを一時的に更新します。

    1. TPS を停止します。

      # pki-server stop rhcs10-RSA-TPS
    2. /var/lib/pki/rhcs10-RSA-TPS/tps/conf/CS.cfg 設定ファイルを編集し、op.enroll.userKey.keyGen.keyType.num パラメーターを 2 から 1 に変更します。例:

      op.enroll.userKey.keyGen.keyType.num=1
    3. TPS を開始します。

      # pki-server start rhcs10-RSA-TPS
  2. トークン登録をテストするための新しいユーザー (例: jdoe を作成します)。

    1. まず、TPS WebUI が起動しているか確認します。

      # pki -U https://rhcs10.example.com:25443 -d /root/.dogtag/pki_rsa_bootstrap/certs_db/ -n "PKI Bootstrap Administrator for RSA-TPS" -c SECret.123 tps-user-show tpsadmin
      
      ---------------
      User "tpsadmin"
      ---------------
        User ID: tpsadmin
        Full name: tpsadmin
        Email: tpsadmin@example.com
        Type: adminType
        State: 1
        TPS Profiles:
      	All Profiles
    2. 次のとおり、POSIX ユーザーの .cfg ファイルを作成します。

      # vi ldap_user1_add.cfg
      • 次の内容をファイルに追加して保存します。

        dn: uid=jdoe,dc=example,dc=com
        objectClass: extensibleobject
        objectclass: inetorgperson
        objectclass: organizationalPerson
        objectClass: person
        objectClass: posixAccount
        objectClass: top
        homeDirectory: /var/empty
        gidNumber: 99997
        uidNumber: 99996
        sn: jdoe
        uid: jdoe
        cn: TPS jdoe
        mail: user3@redhat.com
        givenName: jdoe
        userPassword: SECret.123
        shrTok:
    3. 匿名バインドアクセスを設定します。

      1. 以下を含む ldif ファイルを作成します。

        dn: ou=People,dc=example,dc=com
        changetype: modify
        add: aci
        aci: (targetattr!="userPassword || aci")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare) userdn="ldap:///anyon
        e";)
      2. 次のコマンドを実行して、匿名バインドアクセスを有効にします。

        ldapadd -h rhds11-5.example.com -p 389 -c -D "cn=Directory Manager" -w SECret.123 -f ldapci.ldif
    4. 以前に作成した .cfg ファイルを指定して ldapadd コマンドを実行し、jdoe ユーザーを追加します。

      # LDAPTLS_CACERT=/opt/pki_rsa/ca-chain.pem ldapadd -x -D 'cn=directory manager' -H ldaps://rhds11.example.com:9636 -w SECret.123 -f ldap_user1_add.cfg

トークン側のキー生成をテストします

tpsclient ツールを使用してトークン側のキー生成をテストし、トークンをフォーマットして登録します。

  1. FIPS 非対応 の別のシステムに、tpsclient パッケージをインストールします。以下に例を示します。

    # dnf install -y redhat-pki-tps
    注記

    Fedora システムでテストしている場合、tpsclient ツールを提供する対応パッケージは dogtag-pki-tools になります。

  2. TPS サーバーのホスト名と IP アドレスを /etc/hosts ファイルに追加します。

    # echo "<TPS server IP> rhcs10.example.com" >> /etc/hosts
  3. 新しく作成されたユーザーのフォーマットと登録をテストします。

    1. jdoe のトークンをフォーマットする準備をします。.txt ファイルを作成します。

      # vi token_format.txt

      以下の内容を追加します。ホストとポートの値は実際のものと一致しなければならず、ポートは非 SSL ポートである必要があります。

      op=var_set name=ra_host value=rhcs10.example.com
      op=var_set name=ra_port value=25080
      op=var_set name=ra_uri value=/tps/tps
      op=token_set cuid=40906145C76224192D2B msn=01020304 app_ver=6FBBC105 key_info=0101 major_ver=0 minor_ver=0
      op=token_set auth_key=404142434445464748494a4b4c4d4e4f
      op=token_set mac_key=404142434445464748494a4b4c4d4e4f
      op=token_set kek_key=404142434445464748494a4b4c4d4e4f
      op=ra_format uid=jdoe pwd=SECret.123 num_threads=1 extensions=tokenType=userKey
    2. jdoe のトークンを登録する準備をします。.txt ファイルを作成します。

      # vi token_enroll.txt

      以下の内容を追加します。ホストとポートの値は実際のものと一致しなければならず、ポートは非 SSL ポートである必要があります。

      op=var_set name=ra_host value=rhcs10.example.com
      op=var_set name=ra_port value=25080
      op=var_set name=ra_uri value=/tps/tps
      op=token_set cuid=40906145C76224192D2B msn=01020304 app_ver=6FBBC105 key_info=0101 major_ver=0 minor_ver=0
      op=token_set auth_key=404142434445464748494a4b4c4d4e4f
      op=token_set mac_key=404142434445464748494a4b4c4d4e4f
      op=token_set kek_key=404142434445464748494a4b4c4d4e4f
      op=ra_enroll uid=jdoe pwd=SECret.123 num_threads=1 extensions=tokenType=userKey
      op=exit
    3. jdoe のトークンをフォーマットします。操作は成功するはずです。

      # tpsclient < token_format.txt
    4. jdoe のトークンを登録します。操作は成功するはずです。

      # tpsclient < token_enroll.txt

テスト後に変更を元に戻す

  1. 検証後に追加されたテストトークンを削除するには、以下を実行します。

    1. https://rhcs10.example.com:25443/tps/ui/ で TPS WebUI にログインします。
    2. Tokens をクリックし、チェックボックスでトークンを選択します。
    3. Remove をクリックして確認します。
  2. あるいは、CLI コマンドを使用してテストトークンを削除することもできます。以下に例を示します。

    # pki -d /root/.dogtag/pki_rsa_bootstrap/certs_db/ -n "PKI Bootstrap Administrator for RSA-TPS" -c SECret.123 -p 25443 tps-token-find
    -----------------
    1 entries matched
    -----------------
      Token ID: 40906145C76224192D2B
      User ID: jdoe
      Type: userKey
      Status: ACTIVE
      Next States: DAMAGED, PERM_LOST, SUSPENDED, TERMINATED
      Applet ID: 1.4.58768072
      Key Info: 0101
      Policy: RE_ENROLL=YES;RENEW=NO;FORCE_FORMAT=NO;PIN_RESET=NO;RESET_PIN_RESET_TO_NO=NO
      Date Created: Tue Dec 19 13:17:46 EST 2023
      Date Modified: Tue Dec 19 13:17:50 EST 2023
    ----------------------------
    Number of entries returned 1
    ----------------------------
    # pki -d /root/.dogtag/pki_rsa_bootstrap/certs_db/ -n "PKI Bootstrap Administrator for RSA-TPS" -c SECret.123 -p 25443 tps-token-del 40906145C76224192D2B
    ------------------------------------
    Deleted token "40906145C76224192D2B"
    ------------------------------------
  3. op.enroll.userKey.keyGen.keyType.num を 2 に戻します。

    1. TPS を停止します。

      # pki-server stop rhcs10-RSA-TPS
    2. /var/lib/pki/rhcs10-RSA-TPS/tps/conf/CS.cfg 設定ファイルを編集し、op.enroll.userKey.keyGen.keyType.num パラメーターを 1 から 2 に戻します。以下はその例です。

      op.enroll.userKey.keyGen.keyType.num=2
    3. TPS を開始します。

      # pki-server start rhcs10-RSA-TPS

7.11.5. TPS の OAEP サポートを設定する

OAEP (Optimal Asymmetric Encryption Padding) キー転送アルゴリズムを使用するように TPS を設定するには、TPS の CS.cfg 設定ファイルを編集します。

注記

このセクションは、ファームウェア v12.72.1 を備えた Entrust nShield Connect XC ユニットなど、AES キーのラッピング/アンラッピングをサポートする HSM を対象としています。

前提条件

  • root ユーザーとして rhcs10.example.com にログインしている。

手順

  1. TPS を停止します。

    # pki-server stop rhcs10-RSA-TPS
  2. /var/lib/pki/rhcs10-RSA-TPS/tps/conf/CS.cfg 設定ファイルを編集し、次の行を追加します。

keyWrap.useOAEP=true

  1. TPS を開始します。

    # pki-server start rhcs10-RSA-TPS

7.11.6. TMS サーバー側キー生成の AES サポートの設定

このバージョンの Red Hat Certificate System (トークン管理システムと JAVA アプレット) は、Global Platform Secure Channel Protocol 3 (SCP03) スマートカードトークンで動作する最新の HSM をサポートするように強化されています。具体的には、主に TMS サーバー側のキー生成機能で使用されるキーインジェクションを処理するための AES Key Wrap With Padding (KWP) モードが追加されました。

注記

新しい JAVA アプレットは /usr/share/pki/tps/applets/1.5.64260792.ijc にあります。

TPS CS.cfg

このアプレットを使用するには、TPS CS.cfg 設定ファイルを次のように設定する必要があります。

  • 登録:

    op.enroll.<tps profile>.update.applet.requiredVersion.prot.3=1.5.64260792
  • フォーマット:

    op.format.<tps profile>.update.applet.requiredVersion.prot.3=1.5.64260792

このアプレットを使用するには、他のプロファイル (外部登録を含む) も設定する必要があることに注意してください。

以下に例を示します。

op.enroll.userKey.update.applet.directory=/usr/share/pki/tps/applets
op.enroll.userKey.update.applet.emptyToken.enable=true
op.enroll.userKey.update.applet.enable=true
op.enroll.userKey.update.applet.encryption=true
op.enroll.userKey.update.applet.requiredVersion=1.4.58768072
op.enroll.userKey.update.applet.requiredVersion.prot.3=1.5.64260792

TPS server.xml

KWP 実装では、以前よりも秘密鍵をトークンにアンラップするのに少し時間がかかります。したがって、server.xml ファイルの接続タイムアウト値を増やす必要があります。たとえば、/var/lib/pki/rhcs10-RSA-TPS/conf/server.xml の Secure Connector に次の connectionTimeout 値を設定します。

connectionTimeout="300000”

試すべき推奨値は、注入される秘密鍵のサイズによって異なります。幅広いキーサイズがサポートされるようにするには、その値の 2 倍から始めるといいでしょう。

待機時間よりも登録の成功を重視する場合は、connectionTimeout“-1” を割り当てることでタイムアウトを回避できます。

connectionTimeout="-1”

TKS CS.cfg

tks.defKeySet.prot3.devKeyType=AES
tks.defKeySet.prot3.divers=gpkmc
tks.defKeySet.prot3.diversVer1Keys=none
tks.defKeySet.prot3.masterKeyType=AES

7.11.7. キーサイズの設定

すべてのキーサイズを 2048 以上に設定することが重要です。例:

op.enroll.userKey.keyGen.encryption.keySize=2048
op.enroll.userKey.keyGen.signing.keySize=2048

7.11.8. TPS phoneHome の設定

  1. phoneHome.xml 設定ファイルを編集します。以下に例を示します。

    # vi /var/lib/pki/rhcs10-RSA-TPS/tps/conf/phoneHome.xml
  2. TPS に正しい http ポートを設定します。以下に例を示します。

    <Operation>http://rhcs10.example.com:25080/tps/tps</Operation>

    次のようになります。

    # cat phoneHome.xml
    
    <ServiceInfo>
    <IssuerName>Example Corp</IssuerName>
    <Services>
    <Operation>http://rhcs10.example.com:25080/tps/tps</Operation>
    <UI></UI>
    <EnrolledTokenBrowserURL>http://fedoraproject.org</EnrolledTokenBrowserURL>
    <EnrolledTokenURL></EnrolledTokenURL>
    <TokenType>userKey</TokenType>
    </Services>
    </ServiceInfo>
  3. TPS を保存して再起動します。

7.11.9. TPS ロールユーザーの作成

7.11.10. インストール後の設定

追加の RHCS インスタンスをインストールする場合は、次のセクションに進んでください。必要なすべての RHCS インスタンスのインストールが完了したら、「インストール後の設定」 にアクセスして追加セットアップを完了します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.