1515import static org .junit .Assert .*;
1616import net .i2p .crypto .eddsa .Utils ;
1717
18+ import org .junit .Rule ;
1819import org .junit .Test ;
20+ import org .junit .rules .ExpectedException ;
1921
2022/**
2123 * @author str4d
@@ -28,6 +30,9 @@ public class EdDSAPrivateKeySpecTest {
2830
2931 static final EdDSANamedCurveSpec ed25519 = EdDSANamedCurveTable .getByName (EdDSANamedCurveTable .CURVE_ED25519_SHA512 );
3032
33+ @ Rule
34+ public ExpectedException exception = ExpectedException .none ();
35+
3136 /**
3237 * Test method for {@link net.i2p.crypto.eddsa.spec.EdDSAPrivateKeySpec#EdDSAPrivateKeySpec(byte[], net.i2p.crypto.eddsa.spec.EdDSAParameterSpec)}.
3338 */
@@ -39,6 +44,13 @@ public void testEdDSAPrivateKeySpecFromSeed() {
3944 assertThat (key .getA ().toByteArray (), is (equalTo (ZERO_PK )));
4045 }
4146
47+ @ Test
48+ public void incorrectSeedLengthThrows () {
49+ exception .expect (IllegalArgumentException .class );
50+ exception .expectMessage ("seed length is wrong" );
51+ EdDSAPrivateKeySpec key = new EdDSAPrivateKeySpec (new byte [2 ], ed25519 );
52+ }
53+
4254 /**
4355 * Test method for {@link net.i2p.crypto.eddsa.spec.EdDSAPrivateKeySpec#EdDSAPrivateKeySpec(net.i2p.crypto.eddsa.spec.EdDSAParameterSpec, byte[])}.
4456 */
@@ -50,4 +62,10 @@ public void testEdDSAPrivateKeySpecFromH() {
5062 assertThat (key .getA ().toByteArray (), is (equalTo (ZERO_PK )));
5163 }
5264
65+ @ Test
66+ public void incorrectHashLengthThrows () {
67+ exception .expect (IllegalArgumentException .class );
68+ exception .expectMessage ("hash length is wrong" );
69+ EdDSAPrivateKeySpec key = new EdDSAPrivateKeySpec (ed25519 , new byte [2 ]);
70+ }
5371}
0 commit comments