jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java
changeset 17491 7a33824ec8c5
parent 10336 0bb1999251f8
child 23010 6dadb192ad81
--- a/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	Tue May 14 20:16:21 2013 +0400
+++ b/jdk/src/share/classes/sun/security/pkcs11/P11KeyStore.java	Tue May 14 18:08:18 2013 +0100
@@ -65,6 +65,7 @@
 
 import sun.security.util.Debug;
 import sun.security.util.DerValue;
+import sun.security.util.ECUtil;
 
 import sun.security.ec.ECParameters;
 
@@ -1351,7 +1352,8 @@
             token.p11.C_GetAttributeValue(session.id(), oHandle, attrs);
             byte[] encodedParams = attrs[0].getByteArray();
             try {
-                ECParameterSpec params = ECParameters.decodeParameters(encodedParams);
+                ECParameterSpec params =
+                    ECUtil.getECParameterSpec(null, encodedParams);
                 keyLength = params.getCurve().getField().getFieldSize();
             } catch (IOException e) {
                 // we do not want to accept key with unsupported parameters
@@ -1726,7 +1728,8 @@
                 idAttrs[0] = new CK_ATTRIBUTE(CKA_ID, alias);
             }
 
-            byte[] encodedParams = ECParameters.encodeParameters(ecKey.getParams());
+            byte[] encodedParams =
+                ECUtil.encodeECParameterSpec(null, ecKey.getParams());
             attrs = new CK_ATTRIBUTE[] {
                 ATTR_TOKEN_TRUE,
                 ATTR_CLASS_PKEY,
@@ -1901,7 +1904,7 @@
             ECPublicKey ecPub = (ECPublicKey)publicKey;
             ECPoint point = ecPub.getW();
             ECParameterSpec params = ecPub.getParams();
-            byte[] encodedPoint = ECParameters.encodePoint(point, params.getCurve());
+            byte[] encodedPoint = ECUtil.encodePoint(point, params.getCurve());
             if (id) {
                 attrs[0] = new CK_ATTRIBUTE(CKA_ID, sha1(encodedPoint));
             }