11

ECDSA (Elliptic Curve Digital Signature Algorithm) を実装しようとしていますが、Bouncy Castle を使用する Java の例が見つかりませんでした。キーを作成しましたが、署名を作成して検証するためにどのような関数を使用すればよいか本当にわかりません。

public static KeyPair GenerateKeys()
    throws NoSuchAlgorithmException, NoSuchProviderException, InvalidAlgorithmParameterException
{
    ECParameterSpec ecSpec = ECNamedCurveTable.getParameterSpec("B-571");
    KeyPairGenerator g = KeyPairGenerator.getInstance("ECDSA", "BC");
    g.initialize(ecSpec, new SecureRandom());
    return g.generateKeyPair();
}
4

3 に答える 3

7

BouncyCastle はプロバイダーです: Java に付属の汎用 API を介してアプリケーションが使用することになっているいくつかの暗号化機能を提供する一連のクラスです。署名を生成または検証する方法については、Java 暗号化アーキテクチャ、特に署名に関するセクションを参照してください。基本的に、java.security.Signature(静的メソッドを使用して) インスタンスを取得し、それを秘密鍵 ( 、署名を生成するため) または公開鍵 ( 、署名を検証するため)getInstance()で初期化します。次に、1 回または複数回の呼び出しでメッセージ データを入力し、最後にまたはを呼び出して、署名を生成または検証します。initSign()initVerify()update()sign()verify()

于 2013-08-15T01:39:00.803 に答える