< prev index next >

src/java.base/share/classes/sun/security/ssl/SignatureScheme.java

Print this page

        

@@ -41,11 +41,10 @@
 import java.util.Set;
 import sun.security.ssl.SupportedGroupsExtension.NamedGroup;
 import sun.security.ssl.SupportedGroupsExtension.NamedGroupType;
 import sun.security.ssl.X509Authentication.X509Possession;
 import sun.security.util.KeyUtil;
-import sun.security.util.SignatureUtil;
 
 enum SignatureScheme {
     // EdDSA algorithms
     ED25519                 (0x0807, "ed25519", "ed25519",
                                     "ed25519",

@@ -470,15 +469,20 @@
             return null;
         }
 
         Signature signer = Signature.getInstance(algorithm);
         if (key instanceof PublicKey) {
-            SignatureUtil.initVerifyWithParam(signer, (PublicKey)key,
-                    signAlgParameter);
+            signer.initVerify((PublicKey)(key));
         } else {
-            SignatureUtil.initSignWithParam(signer, (PrivateKey)key,
-                    signAlgParameter, null);
+            signer.initSign((PrivateKey)key);
+        }
+
+        // Important note:  Please don't set the parameters before signature
+        // or verification initialization, so that the crypto provider can
+        // be selected properly.
+        if (signAlgParameter != null) {
+            signer.setParameter(signAlgParameter);
         }
 
         return signer;
     }
 }
< prev index next >