C Javaキーストアの準備

次の例では、keytoolを使用して、キーストアおよびトラストストアを外部証明書で準備する方法を示します。外部ツールによって生成された既存の秘密/公開キーのペアをインポートする場合は、Javaキーストアへのキー・ペアのインポートを参照してください。

  1. キー・ペアを生成してstore.keysに格納します

    keytool -genkeypair -keystore store.keys \
    -alias shared -keyAlg RSA -keySize 2048 \
    -validity 365 -dname <xxx> \
    -storepass <sslPwd>
    ...
    Enter key password for <shared>
    (RETURN if same as keystore password): 

    注意:

    Store.keysOracle NoSQL Databaseキーストアのデフォルト名で、sharedOracle NoSQL Database証明書のデフォルトの別名です。makebootconfigコマンドまたはsecurityconfigユーティリティでセキュリティ・パラメータを指定して、名前をカスタマイズできます。また、アルゴリズムおよびキーのサイズと有効性を指定できます。

  2. 証明書リクエストを生成してCAに送信します。

    keytool -certreq -keystore store.keys -alias
    shared -file myhost.csr
    Enter keystore password: 
  3. 通常、公開された信頼できるCAは、csrファイルを受け取った後、証明書に署名します。pemファイル(myhost.cert.pem)が生成されます。

  4. 証明書チェーンに含まれている証明書を順番にインポートします。複数の中間証明書が存在する場合は、それらも順番にインポートする必要があります。

    keytool -import -file ca.cert.pem
    -keystore store.keys -alias root
    keytool -import -file intermediate.cert.pem -keystore store.keys
    -alias intermediate
    # After importing the root and intermediate certificates,
    # install the signed certificate for this server. The alias name
    # must be specified.
    keytool -import -file myhost.cert.pem -keystore store.keys
    -alias shared
    Certificate reply was installed in keystore 
  5. store.keysの証明書コンテンツを確認して、インストールを検証します。

    keytool -list -v -keystore store.keys -alias shared
    Certificate chain length: 3
    Certificate[1]:
    Owner: CN=myhost, OU=TeamA, O=MyCompany, L=Unknown, 
    ST=California, C=US
    Issuer: CN=intermediate CA, OU=CA, O=MyCompany, 
    ST=California, C=US 

    証明書チェーンの長さは、インポートされたチェーン内の証明書の数(この場合は3)と一致する必要があります。

  6. サーバー・トラストストア(store.trust)を作成します。サーバー・トラストストアには、署名付き証明書、ルート証明書および中間証明書が含まれている必要があります。サーバー・トラストストアおよびクライアント・トラストストアでは、キーストアと同じパスワードを使用する必要があることに注意してください。

    keytool -export -file store.tmp
    -keystore store.keys -alias shared
    keytool -import -keystore store.trust -file store.tmp
    keytool -import -keystore store.trust -file ca.cert.pem
    -alias root
    keytool -import -keystore store.trust -file intermediate.cert.pem
    -alias intermediate 
  7. クライアント・トラストストア(client.trust)を作成します。この場合、クライアント・トラストストアにルート証明書と中間証明書をインポートします。

    keytool -import -keystore client.trust
    -file ca.cert.pem -alias root
    keytool -import -keystore client.trust -file intermediate.cert.pem
    -alias intermediate