22 */
23 import static javax.crypto.Cipher.PRIVATE_KEY;
24 import static javax.crypto.Cipher.PUBLIC_KEY;
25 import java.security.InvalidKeyException;
26 import java.security.Key;
27 import java.security.KeyFactory;
28 import java.security.KeyPair;
29 import java.security.KeyPairGenerator;
30 import java.security.NoSuchAlgorithmException;
31 import java.security.NoSuchProviderException;
32 import java.security.SecureRandom;
33 import java.security.interfaces.EdECPrivateKey;
34 import java.security.interfaces.EdECPublicKey;
35 import java.security.spec.PKCS8EncodedKeySpec;
36 import java.security.spec.X509EncodedKeySpec;
37 import java.security.spec.EdECPrivateKeySpec;
38 import java.security.spec.EdECPublicKeySpec;
39 import java.security.spec.InvalidKeySpecException;
40 import java.security.spec.NamedParameterSpec;
41 import java.util.Arrays;
42 import jdk.test.lib.Convert;
43
44 /*
45 * @test
46 * @bug 8209632
47 * @summary Verify KeyLength for EDDSA, ED25519, ED448.
48 * @library /test/lib
49 * @build jdk.test.lib.Convert
50 * @run main EdDSAKeySize
51 */
52 public class EdDSAKeySize {
53
54 private static final String EDDSA = "EDDSA";
55 private static final String ED25519 = "ED25519";
56 private static final String ED448 = "ED448";
57 private static final String OIDN25519 = "1.3.101.112";
58 private static final String OID25519 = "OID.1.3.101.112";
59 private static final String OIDN448 = "1.3.101.113";
60 private static final String OID448 = "OID.1.3.101.113";
61 private static final String PROVIDER = "SunEC";
197 EdECPublicKey generated) {
198
199 equals(orig.getPoint().getY(), generated.getPoint().getY());
200 equals(orig.getPoint().isXOdd(), generated.getPoint().isXOdd());
201 equals(orig.getFormat(), generated.getFormat());
202 equals(orig.getEncoded(), generated.getEncoded());
203 equals(((NamedParameterSpec) orig.getParams()).getName(),
204 ((NamedParameterSpec) generated.getParams()).getName());
205 }
206
207 private static void equals(Object actual, Object expected) {
208 if (!actual.equals(expected)) {
209 throw new RuntimeException(String.format("Actual: %s, Expected: %s",
210 actual, expected));
211 }
212 }
213
214 private static void equals(byte[] actual, byte[] expected) {
215 if (!Arrays.equals(actual, expected)) {
216 throw new RuntimeException(String.format("Actual array: %s, "
217 + "Expected array:%s", Convert.byteArrayToHexString(actual),
218 Convert.byteArrayToHexString(expected)));
219 }
220 }
221 }
|
22 */
23 import static javax.crypto.Cipher.PRIVATE_KEY;
24 import static javax.crypto.Cipher.PUBLIC_KEY;
25 import java.security.InvalidKeyException;
26 import java.security.Key;
27 import java.security.KeyFactory;
28 import java.security.KeyPair;
29 import java.security.KeyPairGenerator;
30 import java.security.NoSuchAlgorithmException;
31 import java.security.NoSuchProviderException;
32 import java.security.SecureRandom;
33 import java.security.interfaces.EdECPrivateKey;
34 import java.security.interfaces.EdECPublicKey;
35 import java.security.spec.PKCS8EncodedKeySpec;
36 import java.security.spec.X509EncodedKeySpec;
37 import java.security.spec.EdECPrivateKeySpec;
38 import java.security.spec.EdECPublicKeySpec;
39 import java.security.spec.InvalidKeySpecException;
40 import java.security.spec.NamedParameterSpec;
41 import java.util.Arrays;
42 import java.util.Hex;
43
44 import jdk.test.lib.Convert;
45
46 /*
47 * @test
48 * @bug 8209632
49 * @summary Verify KeyLength for EDDSA, ED25519, ED448.
50 * @library /test/lib
51 * @build jdk.test.lib.Convert
52 * @run main EdDSAKeySize
53 */
54 public class EdDSAKeySize {
55
56 private static final String EDDSA = "EDDSA";
57 private static final String ED25519 = "ED25519";
58 private static final String ED448 = "ED448";
59 private static final String OIDN25519 = "1.3.101.112";
60 private static final String OID25519 = "OID.1.3.101.112";
61 private static final String OIDN448 = "1.3.101.113";
62 private static final String OID448 = "OID.1.3.101.113";
63 private static final String PROVIDER = "SunEC";
199 EdECPublicKey generated) {
200
201 equals(orig.getPoint().getY(), generated.getPoint().getY());
202 equals(orig.getPoint().isXOdd(), generated.getPoint().isXOdd());
203 equals(orig.getFormat(), generated.getFormat());
204 equals(orig.getEncoded(), generated.getEncoded());
205 equals(((NamedParameterSpec) orig.getParams()).getName(),
206 ((NamedParameterSpec) generated.getParams()).getName());
207 }
208
209 private static void equals(Object actual, Object expected) {
210 if (!actual.equals(expected)) {
211 throw new RuntimeException(String.format("Actual: %s, Expected: %s",
212 actual, expected));
213 }
214 }
215
216 private static void equals(byte[] actual, byte[] expected) {
217 if (!Arrays.equals(actual, expected)) {
218 throw new RuntimeException(String.format("Actual array: %s, "
219 + "Expected array:%s", Hex.encoder().encode(actual),
220 Hex.encoder().encode(expected)));
221 }
222 }
223 }
|