外部証明書の更新ガイドライン

データ・ストアが使用する外部証明書が期限切れになるか、有効でなくなった場合は、SSLキーおよび証明書の置換が必要になることがあります。この項では、このタスクを完了するための手順について説明します。

次の2つの方法のいずれかを使用して、外部証明書を更新できます:
  • plan update-tls-credentialsコマンドを使用します
  • 各SNで手動プロセスを使用して証明書を作成し、トラストストア・エントリをマージし、store.keysファイルをセキュリティ・ディレクトリにコピーし、必要に応じてローリング再起動の一環として各ストレージ・ノードを順番に停止および起動します。SNを再起動する必要があるのは、データ・ストアがまだOracle NoSQL Database 24.4以降に完全にアップグレードされていない場合のみです。すべてのSNがアップグレードされると、再起動しなくてもキーおよび証明書の変更が認識されます。

planコマンドの使用

plan update-tls-credentialsコマンドは、データ・ストア内のストレージ・ノード・エージェント(SNA)で使用される共有TLS (Transport Layer Security、旧SSL)資格証明のセットに対する資格証明の更新を取得してインストールします。このプランは、すべてのSNAが同じ資格証明を共有するデータ・ストアでのみ使用し、ホスト固有の資格証明を持つデータ・ストアでは使用しないでください。
plan update-tls-credentials  [-retrieve-only|-install-only] [-force]
planコマンドは、要件に応じて様々な方法で使用できます。
  • 新しい資格証明を手動でコピーし、plan update-tls-credentialsコマンドを-install-onlyフラグとともに使用できます。これは、デフォルトで使用できる最良の選択肢です。

  • SSL資格証明およびキーの更新プロセス全体を自動化する必要がある場合は、オプションまたはフラグを指定せずにplan update-tls-credentialsコマンドを使用できます。そうすると、planコマンドによって資格証明が取得され、インストールされます。
  • 資格証明を取得し、後でインストールする予定の場合は、plan update-tls-credentialsコマンドを-retrieve-onlyフラグとともに使用できます。
このplanコマンドを使用してSSLキーおよび証明書を自動的に更新する方法の詳細は、plan update-tls-credentialsを参照してください。

外部証明書の更新の手動プロセス

外部証明書をすでに使用しているセキュアなインストール用の外部証明書を更新するには、次のステップを実行します。

ノート:

この手順では、更新済の外部証明書を含むJavaのキーストアおよびトラストストアの設定がすでに存在することを前提としています。詳細は、Javaキーストアの準備を参照してください。

  1. 外部証明書を使用する新しいセキュリティ構成を作成します。

    security-> config create -root $NEW_KVROOT \
    -pwdmgr wallet -kspwd password \
    -param "client:serverIdentityAllowed=dnmatch
    (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown,
    ST=California, C=US)" \
    -param "internal:serverIdentityAllowed=dnmatch
    (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown,
    ST=California, C=US)" \
    -param "internal:clientIdentityAllowed=dnmatch
    (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown,
    ST=California, C=US)" \
    -param "ha:serverIdentityAllowed=dnmatch
    (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown,
    ST=California, C=US)" \
    -param "ha:clientIdentityAllowed=dnmatch
    (CN=myhost, OU=TeamA, O=MyCompany, L=Unknown,
    ST=California, C=US)" 
  2. キーストアおよびサーバー・トラストストアを独自のものに置き換えます。

    copy store.keys store.trust $NEW_KVROOT/security/ 
  3. 構成ホストで、トラストストア・エントリを$NEW_KVROOTディレクトリにマージします。すべてのレプリケーション・ノードがオンラインであることを確認してから、次のコマンドを使用して、各ストレージ・ノードを1つずつ再起動します。更新された外部証明書で異なる識別名が使用されている場合は、既存のデフォルト・セキュア・インストール用の外部証明書の構成ガイドラインに示されている手順を使用して、セキュリティ構成のdnmatch値を互換性のあるものに更新します。

    ノート:

    SNAを開始する前に、環境変数MALLOC_ARENA_MAX1に設定します。MALLOC_ARENA_MAX1に設定すると、メモリー使用量が指定されたヒープ・サイズに制限されます。

    java -Xmx64m -Xms64m \
    -jar $KVHOME/lib/kvstore.jar securityconfig \
    config merge-trust -root $KVROOT \
    -source-root $NEW_KVROOT
    
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop -root $KVROOT
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar start -root $KVROOT& 

    ノート:

    新しい証明書が同じ認証局(CA)によって署名されている場合は、クライアント・トラストストアを更新する必要はありません。

    SNを再起動する必要があるのは、データ・ストアがまだOracle NoSQL Database 24.4以降に完全にアップグレードされていない場合のみです。すべてのSNがアップグレードされると、再起動しなくてもキーおよび証明書の変更が認識されます。

  4. 更新されたstore.keysファイルを各ホストのセキュリティ・ディレクトリにコピーします。次に、すべてのレプリケーション・ノードがオンラインであることを確認し、次のコマンドを使用して、各ストレージ・ノードを1つずつ再起動します。

    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar stop -root $KVROOT
    java -Xmx64m -Xms64m -jar $KVHOME/lib/kvstore.jar start -root $KVROOT& 

    ノート:

    SNを再起動する必要があるのは、データ・ストアがまだOracle NoSQL Database 24.4以降に完全にアップグレードされていない場合のみです。すべてのSNがアップグレードされると、再起動しなくてもキーおよび証明書の変更が認識されます。
  5. すべてのストレージ・ノードについて、廃止された証明書mykeyをstore.trustから削除します。また、次のコマンドを使用して、新しい証明書mykey_2の名前をmykeyに変更します。

    keytool -delete -keystore $KVROOT/security/store.trust \
    -alias mykey 
    keytool -changealias -keystore \
    $KVROOT/security/store.trust -alias mykey_2 -destalias mykey