3

私は SpongyCastle (Android 用の BouncyCastle の暗号関数の完全な実装) を使用しており、サイズ 384 のキーを含む bks を持っています。 KeyStore.getKey(alias, password) メソッドを使用してそのキーを抽出しようとしています。キーストア内の任意のキー。しかし、私が遭遇しているのはエラーです

java.security.UnrecoverableKeyException: no match.

少し調べてみると、キーのサイズが大きすぎて Android が処理できないことが原因である可能性があることがわかりました。これは、私のプログラムがサイズ 128 と 256 の他のキーを問題なく取得できるためです。通常、Java では、これは「Unlimited Strength」JCE を Java セキュリティ フォルダにインポートすることで解決されますが、Android ではどうでしょうか。無制限の強度の JCE を Android にインポートできますか (私の本能ではありません) そうでない場合、キーを抽出する方法について何か提案はありますか? SpongyCastle は私の他の多くの問題を解決しました。ここにも SpongyCastle ソリューションがあることを願っています。

ありがとう!

4

1 に答える 1

8

それで、それと多くの格闘をした後、私は問題を理解しました。

プロバイダーを指定していなかったので、私のプログラムはデフォルトの Android BouncyCastle にデフォルト設定されました。私がした分

KeyStore ks = new KeyStore("BKS","SC");

とは対照的に

KeyStore ks = new KeyStore("BKS");

それはうまく機能し、文句を言いませんでした。

于 2011-09-06T14:43:42.337 に答える