Skip to content

Commit

Permalink
ensure key is intact after being used
Browse files Browse the repository at this point in the history
  • Loading branch information
wangweij committed Sep 25, 2024
1 parent ba68b30 commit 4a97423
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions test/jdk/sun/security/provider/NamedEdDSA.java
Original file line number Diff line number Diff line change
Expand Up @@ -217,9 +217,18 @@ static void test(Provider p1, Provider p2, Provider p3) throws Exception {
var s2 = Signature.getInstance("EdDSA", p3);
var f1 = KeyFactory.getInstance("EdDSA", p2);
var f2 = KeyFactory.getInstance("EdDSA", p3);
s1.initSign((PrivateKey) f1.translateKey(kp.getPrivate()));
var sig = s1.sign();
s2.initVerify((PublicKey) f2.translateKey(kp.getPublic()));
Asserts.assertTrue(s2.verify(sig));
var sk = (PrivateKey) f1.translateKey(kp.getPrivate());
var pk = (PublicKey) f2.translateKey(kp.getPublic());
// sign and verify twice to make sure the key is intact
s1.initSign(sk);
var sig1 = s1.sign();
s1.initSign(sk);
var sig2 = s1.sign();
// EdDSA signing is deterministic
Asserts.assertEqualsByteArray(sig1, sig2);
s2.initVerify(pk);
Asserts.assertTrue(s2.verify(sig1));
s2.initVerify(pk);
Asserts.assertTrue(s2.verify(sig2));
}
}

0 comments on commit 4a97423

Please sign in to comment.