2017-05-04 9 views
0

通常、cacertはトラストストアとして使用されます。これは、他のサーバの証明書を置いて認証するためのベースです(これらのサーバからの接続は、トラストストア)。キーストアの目的

キーストアは通常、キーを格納するために使用されます(キーストアはサーバーとして動作するときに使用されます)。

しかし、問題は、キーストア内に証明書を追加するためのインターネットコマンドがあり、キーストアに秘密キーを追加するためのkeytoolの基本機能がないことです。

私はキーストアの目的とその役割を誤解していたのか疑問に思います。私が間違っていると誰でも教えてくれますか?

答えて

1

技術的には、KeyStoreとTrustStoreは同じタイプです。彼らは、それが含まれているものに基づいて異なる目的を果たすだけです。

KeyStoreは、単なるデータベースまたはリポジトリ、または証明書または秘密鍵またはキーペアの集合です。 KeyStoreに証明書のみが含まれている場合、その証明書をTrustStoreと呼びます。

プライベートキーも対応する証明書チェーン(キーペアまたは非対称キー)に関連付けられている場合、キーストアと呼ばれます。

JCEプロバイダがサポートしているキーストアのさまざまな種類があります。

  • JKS(Javaのキーストア) - あなただけcertifcatesを持っている場合>は、それがトラストストアです。証明書チェーンに関連付けられた秘密鍵も持っている場合、それはKeyStoreです。
  • JCEKS(Java拡張キーストア) - >これは、JKSが保存できるものとさらに秘密鍵(対称キー)を保存できます。 JKSタイプのKeyStoreでは秘密鍵を格納できません。
  • PKCS12 - >これはKeyStoreに似ていますが、PKCS12という別のタイプです。これらは秘密鍵と証明書チェーンを格納できます。しかし、標準では、1つのエントリ、すなわち、1つの秘密鍵およびそれに関連する証明書チェーンを有することである。

彼らの目的は広範であるが、一般的にこれらの目的のために使用することができます

  • JKS - Webサーバーを保護します。
  • JCEKS - 暗号化キー(対称)を格納し、Webサーバーを保護するためにも使用できます。
  • PKCS12 - Webサーバーが双方向SSL用にセットアップされている場合、クライアントはサーバーに対して認証を受ける必要があります。このような場合、クライアントはKeyPairを生成し、そこからCSR(PKCS10)を生成し、認証局(CA)によって署名します。クライアントには証明書チェーンが与えられ、クライアントはそれをPKCS12 KeyStoreのPrivateKeyに関連付けます。これを使用してSSL接続を確立することができます。
+0

クライアントにPKCS12を発行しません。クライアントは自分自身を構築するだろう。コードではないテキストにはコード書式を使用しないでください。 – EJP

+0

@EJPあなたは正しいです。それを修正しました。 –