8035166: Remove dependency on EC classes from pkcs11 provider
Move the sun.security.ec.ECParameters and its related classes to sun.security.util package.
Reviewed-by: mullan, vinnie
diff --git a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
index 61aa8a6..1293957 100644
--- a/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
+++ b/jdk/src/share/classes/org/jcp/xml/dsig/internal/dom/DOMKeyValue.java
@@ -364,7 +364,7 @@
}
void getMethods() throws ClassNotFoundException, NoSuchMethodException {
- Class<?> c = Class.forName("sun.security.ec.ECParameters");
+ Class<?> c = Class.forName("sun.security.util.ECParameters");
Class<?>[] params = new Class<?>[] { ECPoint.class,
EllipticCurve.class };
encodePoint = c.getMethod("encodePoint", params);
@@ -372,7 +372,7 @@
getCurveName = c.getMethod("getCurveName", params);
params = new Class<?>[] { byte[].class, EllipticCurve.class };
decodePoint = c.getMethod("decodePoint", params);
- c = Class.forName("sun.security.ec.NamedCurve");
+ c = Class.forName("sun.security.util.NamedCurve");
params = new Class<?>[] { String.class };
getECParameterSpec = c.getMethod("getECParameterSpec", params);
}
@@ -477,7 +477,7 @@
throw new MarshalException(ite);
}
/*
- ecPoint = sun.security.ec.ECParameters.decodePoint(
+ ecPoint = sun.security.util.ECParameters.decodePoint(
Base64.decode(curElem), ecParams.getCurve());
*/
ECPublicKeySpec spec = new ECPublicKeySpec(ecPoint, ecParams);
diff --git a/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java b/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
index b70d7f4..2df53fb 100644
--- a/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
+++ b/jdk/src/share/classes/sun/security/ec/ECKeyPairGenerator.java
@@ -32,11 +32,10 @@
import java.security.spec.ECParameterSpec;
import java.security.spec.ECPoint;
-import sun.security.ec.NamedCurve;
-import sun.security.ec.ECParameters;
import sun.security.ec.ECPrivateKeyImpl;
import sun.security.ec.ECPublicKeyImpl;
import sun.security.jca.JCAUtil;
+import sun.security.util.ECParameters;
import sun.security.util.ECUtil;
/**
diff --git a/jdk/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java b/jdk/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java
index b974c3c..ef3b876 100644
--- a/jdk/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java
+++ b/jdk/src/share/classes/sun/security/ec/ECPrivateKeyImpl.java
@@ -32,7 +32,11 @@
import java.security.interfaces.*;
import java.security.spec.*;
-import sun.security.util.*;
+import sun.security.util.DerInputStream;
+import sun.security.util.DerOutputStream;
+import sun.security.util.DerValue;
+import sun.security.util.ECParameters;
+import sun.security.util.ECUtil;
import sun.security.x509.AlgorithmId;
import sun.security.pkcs.PKCS8Key;
diff --git a/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java b/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
index 0e82e73..bc40302 100644
--- a/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
+++ b/jdk/src/share/classes/sun/security/ec/ECPublicKeyImpl.java
@@ -31,7 +31,9 @@
import java.security.interfaces.*;
import java.security.spec.*;
-import sun.security.util.*;
+import sun.security.util.ECParameters;
+import sun.security.util.ECUtil;
+
import sun.security.x509.*;
/**
diff --git a/jdk/src/share/classes/sun/security/ec/SunECEntries.java b/jdk/src/share/classes/sun/security/ec/SunECEntries.java
index 4e29718..aa6ad6e 100644
--- a/jdk/src/share/classes/sun/security/ec/SunECEntries.java
+++ b/jdk/src/share/classes/sun/security/ec/SunECEntries.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -29,6 +29,8 @@
import java.util.Map;
import java.util.regex.Pattern;
+import sun.security.util.CurveDB;
+import sun.security.util.NamedCurve;
/**
* Defines the entries of the SunEC provider.
@@ -55,7 +57,7 @@
/*
* Algorithm Parameter engine
*/
- map.put("AlgorithmParameters.EC", "sun.security.ec.ECParameters");
+ map.put("AlgorithmParameters.EC", "sun.security.util.ECParameters");
map.put("Alg.Alias.AlgorithmParameters.EllipticCurve", "EC");
map.put("Alg.Alias.AlgorithmParameters.1.2.840.10045.2.1", "EC");
diff --git a/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java b/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
index 32002c2..436613c 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
@@ -67,8 +67,6 @@
import sun.security.util.DerValue;
import sun.security.util.ECUtil;
-import sun.security.ec.ECParameters;
-
import sun.security.pkcs11.Secmod.*;
import static sun.security.pkcs11.P11Util.*;
diff --git a/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java b/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
index 630cff1..74e5d1e 100644
--- a/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
+++ b/jdk/src/share/classes/sun/security/pkcs11/SunPKCS11.java
@@ -593,7 +593,7 @@
// AlgorithmParameters for EC.
// Only needed until we have an EC implementation in the SUN provider.
- d(AGP, "EC", "sun.security.ec.ECParameters",
+ d(AGP, "EC", "sun.security.util.ECParameters",
s("1.2.840.10045.2.1"),
m(CKM_EC_KEY_PAIR_GEN, CKM_ECDH1_DERIVE,
CKM_ECDSA, CKM_ECDSA_SHA1));
@@ -1032,7 +1032,7 @@
} else if (type == KS) {
return token.getKeyStore();
} else if (type == AGP) {
- return new sun.security.ec.ECParameters();
+ return new sun.security.util.ECParameters();
} else {
throw new NoSuchAlgorithmException("Unknown type: " + type);
}
diff --git a/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java b/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
index 8933fab..6278769 100644
--- a/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
+++ b/jdk/src/share/classes/sun/security/ssl/SupportedEllipticCurvesExtension.java
@@ -176,7 +176,7 @@
private final static int ARBITRARY_PRIME = 0xff01;
private final static int ARBITRARY_CHAR2 = 0xff02;
- // See sun.security.ec.NamedCurve for the OIDs
+ // See sun.security.util.NamedCurve for the OIDs
private final static String[] NAMED_CURVE_OID_TABLE = new String[] {
null, // (0) unused
"1.3.132.0.1", // (1) sect163k1, NIST K-163
diff --git a/jdk/src/share/classes/sun/security/ec/CurveDB.java b/jdk/src/share/classes/sun/security/util/CurveDB.java
similarity index 99%
rename from jdk/src/share/classes/sun/security/ec/CurveDB.java
rename to jdk/src/share/classes/sun/security/util/CurveDB.java
index 0e2db68..d10d644 100644
--- a/jdk/src/share/classes/sun/security/ec/CurveDB.java
+++ b/jdk/src/share/classes/sun/security/util/CurveDB.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,7 @@
* questions.
*/
-package sun.security.ec;
+package sun.security.util;
import java.math.BigInteger;
@@ -54,10 +54,10 @@
private static Collection<? extends NamedCurve> specCollection;
- static final String SPLIT_PATTERN = ",|\\[|\\]";
+ public static final String SPLIT_PATTERN = ",|\\[|\\]";
// Used by SunECEntries
- static Collection<? extends NamedCurve>getSupportedCurves() {
+ public static Collection<? extends NamedCurve>getSupportedCurves() {
return specCollection;
}
diff --git a/jdk/src/share/classes/sun/security/ec/ECParameters.java b/jdk/src/share/classes/sun/security/util/ECParameters.java
similarity index 97%
rename from jdk/src/share/classes/sun/security/ec/ECParameters.java
rename to jdk/src/share/classes/sun/security/util/ECParameters.java
index 8292c95..317fad3 100644
--- a/jdk/src/share/classes/sun/security/ec/ECParameters.java
+++ b/jdk/src/share/classes/sun/security/util/ECParameters.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,15 +23,13 @@
* questions.
*/
-package sun.security.ec;
+package sun.security.util;
import java.io.IOException;
import java.security.*;
import java.security.spec.*;
-import sun.security.util.*;
-
/**
* This class implements encoding and decoding of Elliptic Curve parameters
* as specified in RFC 3279.
@@ -77,7 +75,7 @@
public final class ECParameters extends AlgorithmParametersSpi {
// used by ECPublicKeyImpl and ECPrivateKeyImpl
- static AlgorithmParameters getAlgorithmParameters(ECParameterSpec spec)
+ public static AlgorithmParameters getAlgorithmParameters(ECParameterSpec spec)
throws InvalidKeyException {
try {
AlgorithmParameters params =
diff --git a/jdk/src/share/classes/sun/security/ec/NamedCurve.java b/jdk/src/share/classes/sun/security/util/NamedCurve.java
similarity index 87%
rename from jdk/src/share/classes/sun/security/ec/NamedCurve.java
rename to jdk/src/share/classes/sun/security/util/NamedCurve.java
index 97597c8..0a677aa 100644
--- a/jdk/src/share/classes/sun/security/ec/NamedCurve.java
+++ b/jdk/src/share/classes/sun/security/util/NamedCurve.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,16 +23,13 @@
* questions.
*/
-package sun.security.ec;
+package sun.security.util;
import java.io.IOException;
import java.math.BigInteger;
import java.security.spec.*;
-import sun.security.util.DerOutputStream;
-import sun.security.util.ObjectIdentifier;
-
/**
* Contains Elliptic Curve parameters.
@@ -40,7 +37,7 @@
* @since 1.6
* @author Andreas Sterbenz
*/
-class NamedCurve extends ECParameterSpec {
+public final class NamedCurve extends ECParameterSpec {
// friendly name for toString() output
private final String name;
@@ -68,15 +65,15 @@
encoded = out.toByteArray();
}
- String getName() {
+ public String getName() {
return name;
}
- byte[] getEncoded() {
+ public byte[] getEncoded() {
return encoded.clone();
}
- String getObjectId() {
+ public String getObjectId() {
return oid;
}