質問

て構築する際に、キーストアのJava Keytoolユどのようにキーを保護できますか?を読んで、文書をそれぞれ鍵には、鍵のパスワードの店舗は、店舗のパスワードになります。

その機構を使用していますので、データはもらえますか?での暗号化暗号?その場合は、どういうアルゴリズム?私は着具体的にはどのようkeytoolの保護ときにビオトゥアタウア遺跡などの見所もファイルです。

役に立ちましたか?

解決

SunのデフォルトJKSキーストアには、標準的なアルゴリズムの制限をエクスポートを回避するために、主に、独自のアルゴリズムを使用しています。アルゴリズムは、このクラスで実装されて、

  sun.security.provider.KeyProtector

のアルゴリズムの説明である、

これは、保護(または平文バージョン回復)に敏感な鍵をエクスポートするとき、アルゴリズムが使用することを意図し、Sunの独自の実装です。このアルゴリズムは、汎用暗号として意図されていません。これは、アルゴリズムは、キーの保護のためにどのように動作するかです:P - ユーザーパスワードの - ランダム塩のX - XORキーP - に被保護キーY - 保護されたキーR - キーストアの手順1で保存されます何を:ユーザのパスワードを取り、 APPENDランダムそれに(固定サイズの)塩、およびハッシュそれ:D1 =ダイジェスト(P、S)X.ステップ2で保管さd1:それをユーザのパスワードを取り、追記前のステップからの結果をダイジェスト、およびハッシュ: DN =ダイジェスト(P、DN-1)。 XでのストアのDN(以前に格納されたダイジェストに追加します)。 Xの長さは、秘密鍵P.ステップ3の長さが一致するまでこの手順を繰り返し:XOR XとPを、そしてYに結果を格納する:Y = X XOR P.ステップ4:店舗S、Y、及び消化(P結果バッファのRで、P)のR = S + Y +ダイジェスト(P、P)、 "+" は連結を表します。 (注:ダイジェスト(P、P)キーが回復されたときにキーが実際にオリジナルキーと一致回復した場合、我々は確認することができるように、結果バッファに格納されている。)Rは、キーストアに格納されています。ステップ1とステップ2は、塩がランダムに生成されていないことを除いて、上記と同様であるが、ステップ4(最初の長さ(S)はバイト)の結果Rから採取した:保護されたキーは、以下のように回収されます。ステップ3(XOR演算)平文のキーを生成します。これらが一致した場合、キーを回収とパスワードを連結し、そして最終長さと比較する(消化(P、P))はRのバイト、キーが実際にオリジナルキーと同じキーである回収

他のヒント

アルゴリズムの使用により、キーストアのご使用になることのできるスマートカードなど)を行います。

デフォルトのキーストアが日船舶には、JDKにやわらかなトークン(ディスクにファイル) 三暗号化のオプション:

  1. デフォルト:"オトゥアタウア遺跡などの見所も、独自のキーストアタイプ(形式)になります。いいアルゴリズムです。

  2. "jceks"、独自の形式を使用し、3-DES

  3. "pkcs12"は、標準的なフォーマット(OpenSSLで読んで、複数のオプションで通常3-DESのための非公開鍵およびRC2-40ます。

すべての場合において、個人データの暗号(対称的に、個人パスワードの完全性全体のキーストアによって保護されて暗号化のダイジェストを使用してキーストアのパスワード)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top