次の手順を使用して、TLS を使用する Java (内部) サーバーによって使用される秘密鍵と公開鍵のペアを持つ新しい Java キーストアを作成しました。証明書が自己署名されていることに注意してください。
1) AES256 でキーを生成する
openssl genrsa -aes256 -out server.key 1024
2) CA の証明書要求を生成する
openssl req -x509 -sha256 -new -key server.key -out server.csr
3) 自己署名の有効期限 10 年を生成する
openssl x509 -sha256 -days 3652 -in server.csr -signkey server.key -out selfsigned.crt
4) KeyStoreExplorerなどのプログラムを使用して、ペア (秘密鍵と自己署名証明書) を新しい JKS にインポートします。
これは機能しますが、GUI を使用せずに最後のステップを実装したいと思います。
自己署名証明書のみをインポートする方法を知っています:
// create the keystore and import the public key. THIS WILL NOT IMPORT THE PRIVATE KEY SO THE KEYSTORE CAN'T BE USED ON THE SERVER TO MAKE THE TLS CONNECTION
/usr/java/jdk1.6.0_45/bin/keytool -import -alias myservercert -file server.crt -keystore mykeystore.jks
問題は、GUI を使用せずに Java KeyStore を作成し、公開鍵と秘密鍵を含む証明書の両方をインポートするにはどうすればよいかということです。