|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.i2p.crypto.DSAEngine
public class DSAEngine
Sign and verify using DSA-SHA1 and other signature algorithms. Also contains methods to sign and verify using a SHA-256 Hash. The primary implementation is code from TheCryto. As of 0.8.7, also included is an alternate implementation using java.security libraries, which is slightly slower. This implementation could in the future be easily modified to use a new signing algorithm from java.security when we change the signing algorithm. Params and rv's changed from Hash to SHA1Hash for version 0.8.1 Hash variants of sign() and verifySignature() restored in 0.8.3, required by Syndie. As of 0.9.9, certain methods support RSA and ECDSA keys and signatures, i.e. all types specified in SigType. The type is specified by the getType() method in Signature, SigningPublicKey, and SigningPrivateKey. See Javadocs for individual methods for the supported types. Methods encountering an unsupported type will throw an IllegalArgumentException. EdDSA support added in 0.9.15
Constructor Summary | |
---|---|
DSAEngine(I2PAppContext context)
|
Method Summary | |
---|---|
static SHA1Hash |
calculateHash(byte[] source,
int offset,
int len)
|
SHA1Hash |
calculateHash(InputStream in)
Deprecated. unused |
static DSAEngine |
getInstance()
|
Signature |
sign(byte[] data,
int offset,
int length,
SigningPrivateKey signingKey)
Sign using any key type as of 0.9.12 (DSA-SHA1 only prior to that) |
Signature |
sign(byte[] data,
SigningPrivateKey signingKey)
Sign using any key type. |
Signature |
sign(Hash hash,
SigningPrivateKey signingKey)
Nonstandard. |
Signature |
sign(InputStream in,
SigningPrivateKey signingKey)
Sign using DSA-SHA1 ONLY. |
Signature |
sign(SHA1Hash hash,
SigningPrivateKey signingKey)
Sign using DSA-SHA1 ONLY. |
Signature |
sign(SimpleDataStructure hash,
PrivateKey privKey,
SigType type)
Generic signature type. |
Signature |
sign(SimpleDataStructure hash,
SigningPrivateKey signingKey)
Generic signature type. |
boolean |
verifySignature(Signature signature,
byte[] signedData,
int offset,
int size,
SigningPublicKey verifyingKey)
Verify using any sig type as of 0.9.12 (DSA only prior to that) |
boolean |
verifySignature(Signature signature,
byte[] signedData,
SigningPublicKey verifyingKey)
Verify using any sig type. |
boolean |
verifySignature(Signature signature,
Hash hash,
SigningPublicKey verifyingKey)
Nonstandard. |
boolean |
verifySignature(Signature signature,
InputStream in,
SigningPublicKey verifyingKey)
Verify using DSA-SHA1 ONLY |
boolean |
verifySignature(Signature signature,
SHA1Hash hash,
SigningPublicKey verifyingKey)
Verify using DSA-SHA1 ONLY |
boolean |
verifySignature(Signature signature,
SimpleDataStructure hash,
PublicKey pubKey)
Generic signature type. |
boolean |
verifySignature(Signature signature,
SimpleDataStructure hash,
SigningPublicKey verifyingKey)
Generic signature type. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DSAEngine(I2PAppContext context)
Method Detail |
---|
public static DSAEngine getInstance()
public boolean verifySignature(Signature signature, byte[] signedData, SigningPublicKey verifyingKey)
public boolean verifySignature(Signature signature, byte[] signedData, int offset, int size, SigningPublicKey verifyingKey)
public boolean verifySignature(Signature signature, InputStream in, SigningPublicKey verifyingKey)
public boolean verifySignature(Signature signature, SHA1Hash hash, SigningPublicKey verifyingKey)
hash
- SHA-1 hash, NOT a SHA-256 hashpublic boolean verifySignature(Signature signature, Hash hash, SigningPublicKey verifyingKey)
public boolean verifySignature(Signature signature, SimpleDataStructure hash, SigningPublicKey verifyingKey)
hash
- SHA1Hash, Hash, Hash384, or Hash512public boolean verifySignature(Signature signature, SimpleDataStructure hash, PublicKey pubKey)
hash
- SHA1Hash, Hash, Hash384, or Hash512pubKey
- Java keypublic Signature sign(byte[] data, SigningPrivateKey signingKey)
public Signature sign(byte[] data, int offset, int length, SigningPrivateKey signingKey)
public Signature sign(InputStream in, SigningPrivateKey signingKey)
public Signature sign(SHA1Hash hash, SigningPrivateKey signingKey)
hash
- SHA-1 hash, NOT a SHA-256 hash
public Signature sign(Hash hash, SigningPrivateKey signingKey)
public Signature sign(SimpleDataStructure hash, SigningPrivateKey signingKey)
hash
- SHA1Hash, Hash, Hash384, or Hash512
public Signature sign(SimpleDataStructure hash, PrivateKey privKey, SigType type)
hash
- SHA1Hash, Hash, Hash384, or Hash512privKey
- Java keytype
- returns a Signature of this type
public SHA1Hash calculateHash(InputStream in)
public static SHA1Hash calculateHash(byte[] source, int offset, int len)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |