< prev index next >

test/jdk/sun/security/ec/xec/TestXDH.java

Print this page
@@ -32,11 +32,12 @@
  
  import java.security.*;
  import java.security.spec.*;
  import javax.crypto.*;
  import java.util.Arrays;
- import java.math.BigInteger;
+ import java.util.Hex;
+ 
  import jdk.test.lib.Convert;
  
  public class TestXDH {
  
      public static void main(String[] args) throws Exception {

@@ -332,59 +333,59 @@
  
      private static void runDiffieHellmanTest(String a_pri,
          String b_pub, String result) throws Exception {
  
          KeyFactory kf = KeyFactory.getInstance("XDH");
-         byte[] a_pri_ba = Convert.hexStringToByteArray(a_pri);
+         byte[] a_pri_ba = Hex.decoder().decode(a_pri);
          KeySpec privateSpec = new PKCS8EncodedKeySpec(a_pri_ba);
          PrivateKey privateKey = kf.generatePrivate(privateSpec);
-         byte[] b_pub_ba = Convert.hexStringToByteArray(b_pub);
+         byte[] b_pub_ba = Hex.decoder().decode(b_pub);
          KeySpec publicSpec = new X509EncodedKeySpec(b_pub_ba);
          PublicKey publicKey = kf.generatePublic(publicSpec);
  
          KeyAgreement ka = KeyAgreement.getInstance("XDH");
          ka.init(privateKey);
          ka.doPhase(publicKey, true);
  
          byte[] sharedSecret = ka.generateSecret();
-         byte[] expectedResult = Convert.hexStringToByteArray(result);
+         byte[] expectedResult = Hex.decoder().decode(result);
          if (!Arrays.equals(sharedSecret, expectedResult)) {
              throw new RuntimeException("fail: expected=" + result + ", actual="
-                 + Convert.byteArrayToHexString(sharedSecret));
+                 + Hex.encoder().encode(sharedSecret));
          }
  
      }
  
      private static void runDiffieHellmanTest(String curveName, String a_pri,
          String b_pub, String result) throws Exception {
  
          NamedParameterSpec paramSpec = new NamedParameterSpec(curveName);
          KeyFactory kf = KeyFactory.getInstance("XDH");
          KeySpec privateSpec = new XECPrivateKeySpec(paramSpec,
-             Convert.hexStringToByteArray(a_pri));
+             Hex.decoder().decode(a_pri));
          PrivateKey privateKey = kf.generatePrivate(privateSpec);
          boolean clearHighBit = curveName.equals("X25519");
          KeySpec publicSpec = new XECPublicKeySpec(paramSpec,
              Convert.hexStringToBigInteger(clearHighBit, b_pub));
          PublicKey publicKey = kf.generatePublic(publicSpec);
  
          byte[] encodedPrivateKey = privateKey.getEncoded();
          System.out.println("Encoded private: " +
-             Convert.byteArrayToHexString(encodedPrivateKey));
+             Hex.encoder().encode(encodedPrivateKey));
          byte[] encodedPublicKey = publicKey.getEncoded();
          System.out.println("Encoded public: " +
-             Convert.byteArrayToHexString(encodedPublicKey));
+             Hex.encoder().encode(encodedPublicKey));
  
          KeyAgreement ka = KeyAgreement.getInstance("XDH");
          ka.init(privateKey);
          ka.doPhase(publicKey, true);
  
          byte[] sharedSecret = ka.generateSecret();
-         byte[] expectedResult = Convert.hexStringToByteArray(result);
+         byte[] expectedResult = Hex.decoder().decode(result);
          if (!Arrays.equals(sharedSecret, expectedResult)) {
              throw new RuntimeException("fail: expected=" + result + ", actual="
-                 + Convert.byteArrayToHexString(sharedSecret));
+                 + Hex.encoder().encode(sharedSecret));
          }
      }
  
      /*
       * Ensure that SunEC rejects parameters/points for the wrong curve
< prev index next >