--- old/src/java.base/share/classes/sun/security/tools/keytool/Main.java 2019-04-10 18:52:16.662739600 -0400 +++ new/src/java.base/share/classes/sun/security/tools/keytool/Main.java 2019-04-10 18:52:15.753648700 -0400 @@ -84,7 +84,6 @@ import sun.security.util.Password; import sun.security.util.SecurityProperties; import sun.security.util.SecurityProviderConstants; -import sun.security.util.SignatureUtil; import javax.crypto.KeyGenerator; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; @@ -1442,12 +1441,11 @@ sigAlgName = getCompatibleSigAlgName(privateKey); } Signature signature = Signature.getInstance(sigAlgName); - AlgorithmParameterSpec params = AlgorithmId - .getDefaultAlgorithmParameterSpec(sigAlgName, privateKey); - - SignatureUtil.initSignWithParam(signature, privateKey, params, null); + signature.initSign(privateKey); X509CertInfo info = new X509CertInfo(); + AlgorithmParameterSpec params = AlgorithmId + .getDefaultAlgorithmParameterSpec(sigAlgName, privateKey); AlgorithmId algID = AlgorithmId.getWithParameterSpec(sigAlgName, params); info.set(X509CertInfo.VALIDITY, interval); info.set(X509CertInfo.SERIAL_NUMBER, @@ -1601,9 +1599,12 @@ } Signature signature = Signature.getInstance(sigAlgName); + signature.initSign(privKey); AlgorithmParameterSpec params = AlgorithmId .getDefaultAlgorithmParameterSpec(sigAlgName, privKey); - SignatureUtil.initSignWithParam(signature, privKey, params, null); + if (params != null) { + signature.setParameter(params); + } X500Name subject = dname == null? new X500Name(((X509Certificate)cert).getSubjectDN().toString()):