C Javaキーストアの準備
次の例では、keytool
を使用して、キーストアおよびトラストストアを外部証明書で準備する方法を示します。外部ツールによって生成された既存の秘密/公開キーのペアをインポートする場合は、Javaキーストアへのキー・ペアのインポートを参照してください。
-
キー・ペアを生成して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.keys
はOracle NoSQL Databaseキーストアのデフォルト名で、shared
はOracle NoSQL Database証明書のデフォルトの別名です。makebootconfigコマンドまたはsecurityconfigユーティリティでセキュリティ・パラメータを指定して、名前をカスタマイズできます。また、アルゴリズムおよびキーのサイズと有効性を指定できます。 -
証明書リクエストを生成してCAに送信します。
keytool -certreq -keystore store.keys -alias shared -file myhost.csr Enter keystore password:
-
通常、公開された信頼できるCAは、csrファイルを受け取った後、証明書に署名します。pemファイル(myhost.cert.pem)が生成されます。
-
証明書チェーンに含まれている証明書を順番にインポートします。複数の中間証明書が存在する場合は、それらも順番にインポートする必要があります。
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
-
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)と一致する必要があります。
-
サーバー・トラストストア(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
-
クライアント・トラストストア(client.trust)を作成します。この場合、クライアント・トラストストアにルート証明書と中間証明書をインポートします。
keytool -import -keystore client.trust -file ca.cert.pem -alias root keytool -import -keystore client.trust -file intermediate.cert.pem -alias intermediate