.keystoreファイルと.jksファイルの違い


227

.keystoreファイルと.jksファイルの違いを見つけようとしましたが、見つかりませんでした。私が知っているのjksは「Javaキーストア」で、どちらもキーと値のペアを保存する方法です。

他のものと比べて違いや好みはありますか?

回答:


197

最終的に、.keystoreそして.jks単にファイルの拡張子です:それは賢明に自分のファイルに名前を付けるためにあなた次第です。一部のアプリケーションでは、次の場所に格納されたキーストアファイルを使用します。JKSはSun / Oracle Javaセキュリティプロバイダのデフォルトのキーストアタイプである$HOME/.keystoreため、通常はJKSファイルであることを意味します.jksJKSファイルの拡張子はデフォルトとして暗黙に含まれているため、誰もがその拡張子を使用するわけではありません。(必要な場合)指定するタイプを覚えておくために、拡張機能を使用することをお勧めします。

Javaでは、「キーストア」という単語は、コンテキストに応じて、次のいずれかの意味になります。

ファイルとストレージについて話すとき、これは実際にはキーと値のペアのストレージ機能ではありません(これには多くの形式または他の形式があります)。むしろ、それは暗号化キーと証明書を格納するコンテナです(それらのいくつかはパスワードも格納できると思います)。通常、これらのファイルは暗号化され、パスワードで保護されているため、このデータを不正なユーザーが利用することはできません。

Javaは、そのKeyStoreクラスと関連するAPIを使用して、キーストアを利用します(ファイルベースかどうかに関係なく)。JKSはJava固有のファイル形式ですが、APIは他のファイルタイプ(通常はPKCS#12)でも使用できます。キーストアをロードする場合は、キーストアのタイプを指定する必要があります。従来の拡張は次のようになります。

  • .jksタイプの"JKS"場合、
  • .p12または.pfxタイプ"PKCS12"(仕様名はPKCS#12ですが#、Javaキーストアのタイプ名では使用されません)。

さらに、BouncyCastleはその実装、特にAndroidアプリケーションで頻繁に使用されるBKS(通常は.bks拡張機能を使用)も提供します。


拡張子を.jksから.keystoreに変更しても機能することを確認できます。実行する前にバックアップしてください!!
BMaximus

77

これで混乱しています。

A keystoreは証明書、秘密鍵などのコンテナです。

このキーストアのフォーマットの仕様があり、主なものは#PKCS12です。

JKSはJavaのキーストア実装です。BKSなどもあります。

これらはすべてキーストアタイプです。

だからあなたの質問に答えるには:

.keystoreファイルと.jksファイルの違い

なにもない。JKSはキーストアファイルです。ただし、キーストアのタイプには違いがあります。例えばJKS#PKCS12


2
「キーストア」という言葉がJava用語の一部であり、Javaのコンテキスト外ではほとんど使用されないため、主なキーストアタイプはPKCS#12ではなくJKSです。.pfxつまり、PKCS#12ファイルは非常に一般的です(通常、または.p12)。
ブルーノ

@Bruno:Javaアプリケーションの主な型を意味します。
Cratylus 2012年

10
いいえ、「キーストア」という言葉はほとんどJavaの言葉です。他のアプリケーション/プラットフォームは、キーと証明書が格納される場所/ファイルを「キーストア」と呼ぶことはめったにありません。たとえば、MSはPKCS#12ファイルを「Personal Information Exchange」ファイルと呼びます。他のユーザーは、実際には「キーストア」ではなく、キーと証明書を保存する場所に「キーチェーン」(OSX)、「証明書データベース」(NSS)、「証明書ストア」、「キーリング」などの名前を付けます。
ブルーノ

3
@Bruno:私はあなたが何を意味するかを理解しています。良い点。私はこれまでこのようにそれを考えていませんでした。ありがとう
Cratylus

3

.jksではなく.keystoreを選択する1つの理由は、キーストアファイル(Unity 2017.3、macOS)を選択するために移動するときに、Unityは前者を認識しますが、後者は認識しないためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.