Java KeyStoreの秘密鍵/公開証明書ペアのインポート【重複】について
2023-11-07 15:11:32
質問
私は以下の手順で、Java(内部)サーバーがTLSで使用する秘密鍵/公開鍵のペアを持つ新しい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) 次のようなプログラムを使う キーストアエクスプローラ のようなプログラムを使用して、新しい 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
そこで質問ですが、Java KeyStoreを作成し、GUIを使わずに公開鍵付き証明書と秘密鍵の両方をインポートするにはどうしたらよいでしょうか?
どのように解決するのですか?
秘密鍵と公開証明書を使って、まずPKCS12キーストアを作成し、それをJKSに変換する必要があります。
# Create PKCS12 keystore from private key and public certificate.
openssl pkcs12 -export -name myservercert -in selfsigned.crt -inkey server.key -out keystore.p12
# Convert PKCS12 keystore into a JKS keystore
keytool -importkeystore -destkeystore mykeystore.jks -srckeystore keystore.p12 -srcstoretype pkcs12 -alias myservercert
JKSの内容を確認するには、このコマンドを使用します。
keytool -list -v -keystore mykeystore.jks
これが自己署名証明書でない場合、おそらくこのステップに続いて、信頼できる CA 証明書につながる証明書チェーンをインポートしたいと思うでしょう。
関連
-
型に解決できない エラー解決
-
ブートレイヤーの初期化中にエラーが発生しました java.lang.module.FindException: モジュールが見つかりません
-
-bash: java: コマンドが見つからない 解決方法
-
CertificateException: XXXに一致するサブジェクトの代替DNS名が見つかりません 解決策
-
JDK8 の Optional.of と Optional.ofNullable メソッドの違いと使い方を説明する。
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み】Javaクライアントでサーバーの自己署名入りssl証明書を受け入れる。
-
[解決済み】トラストストアとキーストアの比較 - keytoolで作成する場合
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
Uncaught ReferenceError: は定義されていません。
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
セミコロン期待値エラー解決
-
アノテーション「@Retention」の役割
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
Java基礎 - マッピングとQ/A
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.
-
[解決済み】Javaキーストアに既存のX.509証明書と秘密鍵をインポートして、SSLで使用するにはどうすればよいですか?