forked from I2P_Developers/i2p.i2p
EdDSAEngine: one-shot mode tests
This commit is contained in:
@ -108,7 +108,6 @@ public class EdDSAEngineTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testVerifyResetsForReuse() throws Exception {
|
public void testVerifyResetsForReuse() throws Exception {
|
||||||
//Signature sgr = Signature.getInstance("EdDSA", "I2P");
|
|
||||||
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
|
||||||
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK,
|
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK,
|
||||||
@ -124,4 +123,92 @@ public class EdDSAEngineTest {
|
|||||||
sgr.update(TEST_MSG);
|
sgr.update(TEST_MSG);
|
||||||
assertThat("Second verify failed", sgr.verify(TEST_MSG_SIG), is(true));
|
assertThat("Second verify failed", sgr.verify(TEST_MSG_SIG), is(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSignOneShotMode() throws Exception {
|
||||||
|
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("ed25519-sha-512");
|
||||||
|
|
||||||
|
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
|
||||||
|
PrivateKey sKey = new EdDSAPrivateKey(privKey);
|
||||||
|
sgr.initSign(sKey);
|
||||||
|
sgr.setParameter(EdDSAEngine.ONE_SHOT_MODE);
|
||||||
|
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
|
||||||
|
assertThat("One-shot mode sign failed", sgr.sign(), is(equalTo(TEST_MSG_SIG)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testVerifyOneShotMode() throws Exception {
|
||||||
|
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
|
||||||
|
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK,
|
||||||
|
EdDSANamedCurveTable.getByName("ed25519-sha-512"));
|
||||||
|
PublicKey vKey = new EdDSAPublicKey(pubKey);
|
||||||
|
sgr.initVerify(vKey);
|
||||||
|
sgr.setParameter(EdDSAEngine.ONE_SHOT_MODE);
|
||||||
|
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
|
||||||
|
assertThat("One-shot mode verify failed", sgr.verify(TEST_MSG_SIG), is(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSignOneShotModeMultipleUpdates() throws Exception {
|
||||||
|
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("ed25519-sha-512");
|
||||||
|
|
||||||
|
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
|
||||||
|
PrivateKey sKey = new EdDSAPrivateKey(privKey);
|
||||||
|
sgr.initSign(sKey);
|
||||||
|
sgr.setParameter(EdDSAEngine.ONE_SHOT_MODE);
|
||||||
|
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
|
||||||
|
exception.expect(SignatureException.class);
|
||||||
|
exception.expectMessage("update() already called");
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testVerifyOneShotModeMultipleUpdates() throws Exception {
|
||||||
|
Signature sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
|
||||||
|
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK,
|
||||||
|
EdDSANamedCurveTable.getByName("ed25519-sha-512"));
|
||||||
|
PublicKey vKey = new EdDSAPublicKey(pubKey);
|
||||||
|
sgr.initVerify(vKey);
|
||||||
|
sgr.setParameter(EdDSAEngine.ONE_SHOT_MODE);
|
||||||
|
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
|
||||||
|
exception.expect(SignatureException.class);
|
||||||
|
exception.expectMessage("update() already called");
|
||||||
|
sgr.update(TEST_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testSignOneShot() throws Exception {
|
||||||
|
EdDSAEngine sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
EdDSAParameterSpec spec = EdDSANamedCurveTable.getByName("ed25519-sha-512");
|
||||||
|
|
||||||
|
EdDSAPrivateKeySpec privKey = new EdDSAPrivateKeySpec(TEST_SEED, spec);
|
||||||
|
PrivateKey sKey = new EdDSAPrivateKey(privKey);
|
||||||
|
sgr.initSign(sKey);
|
||||||
|
|
||||||
|
assertThat("signOneShot() failed", sgr.signOneShot(TEST_MSG), is(equalTo(TEST_MSG_SIG)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testVerifyOneShot() throws Exception {
|
||||||
|
EdDSAEngine sgr = new EdDSAEngine(MessageDigest.getInstance("SHA-512"));
|
||||||
|
|
||||||
|
EdDSAPublicKeySpec pubKey = new EdDSAPublicKeySpec(TEST_PK,
|
||||||
|
EdDSANamedCurveTable.getByName("ed25519-sha-512"));
|
||||||
|
PublicKey vKey = new EdDSAPublicKey(pubKey);
|
||||||
|
sgr.initVerify(vKey);
|
||||||
|
|
||||||
|
assertThat("verifyOneShot() failed", sgr.verifyOneShot(TEST_MSG, TEST_MSG_SIG), is(true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user