0

私は Bouncy Castle を初めて使用し、次の手順に従ってインストールしました。

http://www.itcsolutions.eu/2011/08/22/how-to-use-bouncy-castle-cryptographic-api-in-netbeans-or-eclipse-for-java-jse-projects/

http://www.developer.com/java/other/article.php/3778011/Unlocking-the-Secrets-of-Java-Cryptography-Extensions-The-Basics.htm

どちらのリンクも、ステップ 1 のステップを説明しています。Bouncy Castle プロバイダーを
ダウンロードします
ステップ 2. プロバイダーの .jar ファイルを Java ランタイム (JRE) 拡張サブフォルダーにコピーします
ステップ 3. Bouncy Castle プロバイダーを java.security ファイルに追加します

最初の一連の指示に従って、このコードを実行すると、「利用可能です」という応答が正しく返されます。

import java.security.Security;
public class Main {
    public static void main(String[] args) {
        //BC is the ID for the Bouncy Castle provider;
        if (Security.getProvider("BC") == null){
            System.out.println("Bouncy Castle provider is NOT available");
        }
        else{
            System.out.println("Bouncy Castle provider is available");
        }
    }
}

問題は、たとえば次の行のように、コードに何か他のものを追加すると、

KeyGenerator keygen = KeyGenerator.getInstance("DES/ECB/PKCS5Padding");

またはこの行でさえ

KeyGenerator keygen;

その後クラッシュします。デバッグ モードでは、「ソースが見つかりません」と表示されます。「ソース ルックアップ パスの編集...」ボタンでエラーが発生しました。エラー メッセージを含むタブには、「CEStreamExhausted(Throwable).() line 249」と表示されます。

誰が私が間違っているのか教えてもらえますか? この問題は何日も私を夢中にさせてきました!

4

1 に答える 1

0

この質問に答える必要はもうありません。この記事を書いたとき、インストールした Java の最新バージョン (JRE と JDK 7 の両方) の指示に従っていただけでした。それ以来、インストールはしたものの使用していなかった JRE 6 の指示にも従うことにしました。また、ラップトップを必ず再起動しました。それは今動作します。時々それは単純なことです...ため息

于 2012-10-27T15:38:00.170 に答える