ファイル内のキーの保護

私は次のコードから秘密鍵を生成しました:

    KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA","BC");
    kpg.initialize(512);
    KeyPair          pair = kpg.genKeyPair();

私は秘密鍵をファイルに保存したいと思っています。私はそれを保護するためにファイルのパスワードを入れたいと思います。

私はそれが鍵を生成し、それを暗号化し、ファイルに入れ、そのファイルのパスワードを保持するopensslコマンドを見ました。しかし、ファイルがどこに格納されているのか分かりませんか? とにかく、私はjavaprogramによってパスワードを入れたいです...

0

2 答え

これを行う標準的な方法は、キーをキーストアに保存することです。キーストアにはさまざまなフォーマットがあり、JavaはJKS(Java Key Store)にデフォルト設定されています。これらのファイルは証明書と秘密鍵を保持でき、通常はパスワードで保護され、コンテンツを暗号化するための鍵を派生させるために使用されます。

How to do this programmaticlly is documetned well in the javadoc for the Keystore class, where you can also find links to related classes you may need to use. Here is the link: http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html

1
追加された

潜在的な解決策がたくさんあります。ただし、既存の標準を再利用することで最も効果的です。

例えば。 X.509証明書が含まれていなくても、パスワードで保護されたPKCS#12ファイル内に鍵ペアを保存することができます。それはあなたの鍵ペアを保護し、別のシステムや別の言語でそれを再利用する必要がある場合には、将来の証明になります。

0
追加された