< prev index next >

test/jdk/sun/security/ec/ed/EdDSATest.java

Print this page

 32 import java.security.Key;
 33 import java.security.KeyFactory;
 34 import java.security.KeyPair;
 35 import java.security.KeyPairGenerator;
 36 import java.security.NoSuchAlgorithmException;
 37 import java.security.NoSuchProviderException;
 38 import java.security.PrivateKey;
 39 import java.security.PublicKey;
 40 import java.security.SecureRandom;
 41 import java.security.Signature;
 42 import java.security.interfaces.EdECPrivateKey;
 43 import java.security.interfaces.EdECPublicKey;
 44 import java.security.spec.PKCS8EncodedKeySpec;
 45 import java.security.spec.X509EncodedKeySpec;
 46 import java.security.spec.EdECPrivateKeySpec;
 47 import java.security.spec.EdECPublicKeySpec;
 48 import java.security.spec.InvalidKeySpecException;
 49 import java.security.spec.NamedParameterSpec;
 50 import java.security.spec.EdDSAParameterSpec;
 51 import java.util.Arrays;
 52 import jdk.test.lib.Convert;
 53 
 54 /*
 55  * @test
 56  * @bug 8209632
 57  * @summary Test Signature with variation of serialized EDDSA Keys.
 58  * @library /test/lib
 59  * @build jdk.test.lib.Convert
 60  * @run main EdDSATest
 61  */
 62 public class EdDSATest {
 63 
 64     private static final String EDDSA = "EdDSA";
 65     private static final String ED25519 = "Ed25519";
 66     private static final String ED448 = "Ed448";
 67     private static final String OIDN25519 = "1.3.101.112";
 68     private static final String OID25519 = "OID.1.3.101.112";
 69     private static final String OIDN448 = "1.3.101.113";
 70     private static final String OID448 = "OID.1.3.101.113";
 71     private static final String PROVIDER = "SunEC";
 72     private static final byte[] MSG = "TEST".getBytes();

332     private static <T extends Object> byte[] serialize(T key)
333             throws IOException {
334 
335         try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
336                 ObjectOutputStream oos = new ObjectOutputStream(bos)) {
337             oos.writeObject(key);
338             return bos.toByteArray();
339         }
340     }
341 
342     private static void equals(Object actual, Object expected) {
343         if (!actual.equals(expected)) {
344             throw new RuntimeException(String.format("Actual: %s, Expected: %s",
345                     actual, expected));
346         }
347     }
348 
349     private static void equals(byte[] actual, byte[] expected) {
350         if (!Arrays.equals(actual, expected)) {
351             throw new RuntimeException(String.format("Actual array: %s, "
352                     + "Expected array:%s", Convert.byteArrayToHexString(actual),
353                     Convert.byteArrayToHexString(expected)));
354         }
355     }
356 }

 32 import java.security.Key;
 33 import java.security.KeyFactory;
 34 import java.security.KeyPair;
 35 import java.security.KeyPairGenerator;
 36 import java.security.NoSuchAlgorithmException;
 37 import java.security.NoSuchProviderException;
 38 import java.security.PrivateKey;
 39 import java.security.PublicKey;
 40 import java.security.SecureRandom;
 41 import java.security.Signature;
 42 import java.security.interfaces.EdECPrivateKey;
 43 import java.security.interfaces.EdECPublicKey;
 44 import java.security.spec.PKCS8EncodedKeySpec;
 45 import java.security.spec.X509EncodedKeySpec;
 46 import java.security.spec.EdECPrivateKeySpec;
 47 import java.security.spec.EdECPublicKeySpec;
 48 import java.security.spec.InvalidKeySpecException;
 49 import java.security.spec.NamedParameterSpec;
 50 import java.security.spec.EdDSAParameterSpec;
 51 import java.util.Arrays;
 52 import java.util.Hex;
 53 
 54 /*
 55  * @test
 56  * @bug 8209632
 57  * @summary Test Signature with variation of serialized EDDSA Keys.
 58  * @library /test/lib
 59  * @build jdk.test.lib.Convert
 60  * @run main EdDSATest
 61  */
 62 public class EdDSATest {
 63 
 64     private static final String EDDSA = "EdDSA";
 65     private static final String ED25519 = "Ed25519";
 66     private static final String ED448 = "Ed448";
 67     private static final String OIDN25519 = "1.3.101.112";
 68     private static final String OID25519 = "OID.1.3.101.112";
 69     private static final String OIDN448 = "1.3.101.113";
 70     private static final String OID448 = "OID.1.3.101.113";
 71     private static final String PROVIDER = "SunEC";
 72     private static final byte[] MSG = "TEST".getBytes();

332     private static <T extends Object> byte[] serialize(T key)
333             throws IOException {
334 
335         try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
336                 ObjectOutputStream oos = new ObjectOutputStream(bos)) {
337             oos.writeObject(key);
338             return bos.toByteArray();
339         }
340     }
341 
342     private static void equals(Object actual, Object expected) {
343         if (!actual.equals(expected)) {
344             throw new RuntimeException(String.format("Actual: %s, Expected: %s",
345                     actual, expected));
346         }
347     }
348 
349     private static void equals(byte[] actual, byte[] expected) {
350         if (!Arrays.equals(actual, expected)) {
351             throw new RuntimeException(String.format("Actual array: %s, "
352                     + "Expected array:%s", Hex.encoder().encode(actual),
353                     Hex.encoder().encode(expected)));
354         }
355     }
356 }
< prev index next >