回答:
最終的に、.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拡張機能を使用)も提供します。
これで混乱しています。
A keystoreは証明書、秘密鍵などのコンテナです。
このキーストアのフォーマットの仕様があり、主なものは#PKCS12です。
JKSはJavaのキーストア実装です。BKSなどもあります。
これらはすべてキーストアタイプです。
だからあなたの質問に答えるには:
.keystoreファイルと.jksファイルの違い
なにもない。JKSはキーストアファイルです。ただし、キーストアのタイプには違いがあります。例えばJKS対#PKCS12
.pfxつまり、PKCS#12ファイルは非常に一般的です(通常、または.p12)。