8

BouncyCastleProvider.java から、 bouncycastleアルゴリズムを使用して小さなアプリケーションを作成しようとしています。次のコードで実行時にプロバイダーをインポートして追加する必要があると書かれています

import org.bouncycastle.jce.provider.BouncyCastleProvider; Security.addProvider(new BouncyCastleProvider());

エラー - インポート org.bouncycastle を解決できません。インポート エラー中 - BouncyCastleProvider を型に解決できません。addProvider を呼び出すとき

bouncycastle は Android 1.6 SDK で提供されていないので、個別にインストールすることを考えました。どうすればいいですか?Bouncycastle が SDK に同梱されている場合、これらのエラーを回避するにはどうすればよいですか? winXP で Android 1.6、eclipse-V3.4.0 を使用しています。前もって感謝します

4

5 に答える 5

7

または、Android に同梱されている BC は機能がなく古いため、SpongyCastleを引き続き使用することをお勧めします。

于 2012-05-03T21:15:46.223 に答える
5

BouncyCastle をプロバイダーとして明示的に追加する必要はありません。おっしゃる通り、Androidには既に搭載されています。

BouncyCastle AES 暗号を取得するために私が行うことは次のとおりです。

SecretKeyFactory keyFac = SecretKeyFactory.getInstance("PBEWithSHA256And256BitAES-CBC-BC");

BouncyCastleProvider.javaを見ると、PBEWithSHA256And256BitAES-CBC-BC への参照と、BouncyCastle が提供する他のいくつかの暗号が表示されます。

于 2010-04-06T11:41:06.697 に答える
2

私はこの特定のライブラリに精通していません。ただし、「jar」ファイルとして提供されるライブラリを Android プロジェクトに含める方法の一般的な手順を次に示します。

jar ファイルをダウンロードして、ワークステーションのどこかに置きます。インストール先のプロジェクトのルート ディレクトリに配置するか、ルートの「lib」ディレクトリに配置することをお勧めします。

Eclipse で、[プロジェクト] -> [プロパティ] を選択し、[Java ビルド パス] を選択します。次に、Add External Jars をクリックし、.jar ファイルを配置した場所に移動して選択し、Open をクリックします。

ここで、jar 内のクラスを使用しようとするコードを入力するか、貼り付けます。運が良ければ、電球のアイコンが左の余白に表示されます。これをクリックすると、正しい Import ステートメントを .java ファイルの先頭に追加するよう求められます。

この時点でまだうまくいかないことがあります。ライブラリは、Android によって提供されていない java.* または javax.* コンテンツを使用する場合があります (これらのライブラリのサブセットのみが含まれています)。また、独自の追加のライブラリ依存関係がある場合もあります。.jar が Android プラットフォームと互換性がない理由は他にもあります。

また、新しいコンテンツに対応するために .apk のサイズが大きくなることにも注意してください。

于 2010-04-06T11:40:30.113 に答える
1

Android に既に組み込まれている BC と競合するため、別の名前で BC ライブラリをコンパイルする必要があります。再コンパイルして、BC2 または org.BouncyCastle2.x として参照します。

于 2010-12-09T15:33:13.550 に答える