2016-07-11 4 views
1

作成した証明書に基づいてjksキーストアを作成するように求められました。私はその話題について少しは読んだことがありますが、私はまだいくつかの項目について混乱しています。.jksキーストアの目的は何ですか?

証明書の秘密鍵は.jksキーストーンに保存されるはずですか?

はいの場合 - これはどこに入力されますか? keytoolを使用すると、jksファイルを作成するためのツールは必要ありません。

もしそうでなければ、jksファイルの目的は何ですか?私のアプリケーションは、証明書を直接読み込むのではなく、なぜそれを必要としますか?そして、なぜ公開鍵を含んでいれば、keytoolはパスワードを要求してjksを作成するのですか?

答えて

2

証明書の秘密鍵は.jksキーストーンに保存されるはずですか?

はい、あなたが証明書を所有し、そこに保存されている場合はあります。

「はい」の場合 - これはどこに入力されますか? keytoolを使用すると、jksファイルを作成するためのツールは必要ありません。

これは信頼できる証明書だけを含むトラストストアとしても使用できるからです。

秘密鍵を取得するには、thisなどの多数の質問に答えて、秘密鍵をopensslを使用してPKCS#12ファイルに変換する必要があります。

jksファイルの目的は何ですか?私のアプリケーションは、証明書を直接読み込むのではなく、なぜそれを必要としますか?

アプリケーションにも証明書の秘密鍵が必要なためです。

なぜ、公開鍵だけが含まれている場合は、keytoolにパスワードが必要ですか?

セキュリティ関連のエンティティであるため、キーストアにはパスワードがあります。

0

キーストアの目的は、パスワードベースのアルゴリズムを使用して暗号鍵のプライバシーと完全性を保護することです。プライバシーとは、キーが秘密に保たれていることを意味します。パスワードを知っている人だけが使用できます。これは秘密鍵と秘密鍵に便利です。整合性とは、パスワードを知っている人が鍵の変更を検出できることを意味します。これは公開鍵と秘密鍵に便利です。

秘密鍵を含めるべきかどうかは、何をしようとしているかによって異なります。たとえば、自分自身をクライアントに対して認証できるようにサーバーのキーストアを作成する場合は、プライベートキーが含まれている必要があります。自己署名証明書を作成し、クライアントにサービスを認証できるように鍵ストアを提供する場合は、ではなく、に秘密鍵が含まれている必要があります。

既存のキーペアがあり、それをJKS形式のキーストアにインポートする場合、最も簡単な方法はuse OpenSSL to create a PKCS #12 format key store, then use keytool to convert that to a JKS key store.です。通常、keytoolは鍵ペアの生成自体を行うことが予想されるため、秘密鍵は最初からそこに保管しておいてください。

メッセージの暗号化または署名の検証に使用する前に、公開鍵または証明書の整合性を検証する必要があります。さもなければ、攻撃者は彼が所有するものと鍵を置き換えて、真ん中の人間として行動することができます。単純にファイルから公開鍵を読み取った場合、それは実際にあなたの意図された受信者に属しているかどうかはわかりません。しかし、公開鍵を使ってパスワードベースのメッセージ認証コードを保管すると、改ざんされていないことを保証することができます。

+0

公開鍵を確認することはできませんが、公開鍵を含む証明書を検証できます。 SSLは自動的にそれを行います。ファイルではなく公開鍵を単独で格納することはありません。証明書を格納すると、認証と改ざん証拠が提供されます。 – EJP

+0

@EJPあなたの意見はあまりよく言われていませんが、あなたが話していることを知っていることを知っています。しかし、わかっていない人にはなぜ、証明書をプレーンなファイルではなくパスワードで保護されたキーストアに格納する必要があるのか​​を説明しています。 – erickson

+0

私の言葉遣いは私にはっきりと分かり、答えに間違った言い回しがはっきりと現れているようです。 – EJP

関連する問題