311

キーストアとトラストストアの違いは何ですか?

4

7 に答える 7

295

キーストアには、秘密鍵と、対応する公開鍵を含む証明書が含まれています。

トラストストアには、通信することが期待される他の当事者からの証明書、または他の当事者を識別するために信頼する認証局からの証明書が含まれています。

于 2008-11-25T18:42:07.543 に答える
90
  1. キーストアには秘密鍵が含まれています。これは、サーバーの場合、またはサーバーがクライアント認証を必要とする場合にのみ必要です。

  2. トラストストアには、信頼する CA 証明書が含まれています。サーバーの証明書が認識された CA によって署名されている場合、JRE に同梱されているデフォルトのトラストストアはすでにそれを信頼しています (信頼できる CA を既に信頼しているため)。そのため、独自に作成したり、何かを追加したりする必要はありませんJREから。

ソース

于 2009-09-18T16:35:57.040 に答える
80

SSL ハンドシェークでは、trustStore の目的は資格情報を検証することであり、keyStoreの目的は資格情報を提供することです。

キーストア

Java の keyStore は、公開鍵に対応する秘密鍵と証明書を格納し、SSL サーバーまたは SSL がクライアント認証を必要とする場合に必要とします。

トラストストア

TrustStore は、第三者からの証明書、Java アプリケーションの通信、または CA (Verisign、Thawte、Geotrust、GoDaddy などの認証機関) によって署名された証明書を格納し、第三者の識別に使用できます。

トラストマネージャー

TrustManager は、リモート接続を信頼するかどうかを決定します。つまり、リモート パーティが誰であるかを決定し、KeyManager は、SSL ハンドシェイク中に認証のためにリモート ホストに送信する必要がある認証資格情報を決定します。

SSL サーバーの場合、鍵交換アルゴリズムで秘密鍵を使用し、公開鍵に対応する証明書をクライアントに送信します。この証明書は keyStore から取得されます。SSL クライアント側では、Java で記述されている場合、trustStore に格納されている証明書を使用してサーバーの ID を確認します。SSL 証明書は、ほとんどの場合、 keytoolなどのキー管理ユーティリティを使用して keyStore または trustStore に追加される.cerファイルとして提供されます。

ソース: http://javarevisited.blogspot.ch

于 2013-09-20T08:44:48.910 に答える
31

標準の JSSE ドキュメントの一部として、Sun からの記事にも興味があるかもしれません。

http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#Stores

通常、トラスト ストアは、X.509 認証などの検証目的で、公開キーのみを格納するために使用されます。管理を容易にするために、管理者または開発者が単純に 2 つのストアを 1 つのストアに統合することは非常に一般的です。

于 2010-01-03T00:01:21.130 に答える
12

Java では、キーストアとトラストストアの違いは何ですか?

Java Secure Socket Extension (JSSE) Reference Guideの Java ドキュメントの説明を次に示します。他の人が言っていることと違うことを言っているとは思いません。しかし、それは公式の参照を提供します。

キーストア/トラストストア

キーストアは、キー マテリアルのデータベースです。キー マテリアルは、認証やデータの整合性など、さまざまな目的で使用されます。PKCS12 や Oracle の JKS など、さまざまなタイプのキーストアが利用可能です。

一般に、キーストア情報は、キー エントリと信頼できる証明書エントリの 2 つのカテゴリに分類できます。キー エントリは、エンティティの ID とその秘密キーで構成され、さまざまな暗号化の目的で使用できます。対照的に、信頼された証明書のエントリには、エンティティの ID に加えて公開鍵のみが含まれます。したがって、信頼できる証明書エントリは、javax.net.ssl.KeyManager などの秘密鍵が必要な場所では使用できません。JKS の JDK 実装では、キーストアにキー エントリと信頼できる証明書エントリの両方が含まれる場合があります。

トラストストアは、何を信頼するかを決定する際に使用されるキーストアです。すでに信頼しているエンティティからデータを受け取り、そのエンティティが主張するとおりのものであることを確認できれば、そのデータは実際にそのエンティティからのものであると見なすことができます。

ユーザーがそのエンティティを信頼する場合にのみ、エントリをトラストストアに追加する必要があります。キー ペアを生成するか、証明書をインポートすることにより、ユーザーはそのエントリに信頼を与えます。トラストストア内のすべてのエントリは、信頼できるエントリと見なされます。

2 つの異なるキーストア ファイルがあると便利な場合があります。1 つはキー エントリのみを含み、もう 1 つは CA 証明書を含む信頼できる証明書エントリを含みます。前者には個人情報が含まれますが、後者には含まれません。1 つのキーストア ファイルの代わりに 2 つのファイルを使用すると、自分の証明書 (および対応する秘密鍵) と他の証明書との間の論理的な区別が明確に分離されます。秘密鍵の保護を強化するには、秘密鍵をアクセスが制限されたキーストアに格納し、必要に応じて、より公的にアクセス可能なキーストアで信頼できる証明書を提供します。

于 2014-03-24T21:23:22.167 に答える