--- old/src/java.base/share/classes/sun/security/pkcs10/PKCS10.java 2019-04-10 18:52:06.785752000 -0400 +++ new/src/java.base/share/classes/sun/security/pkcs10/PKCS10.java 2019-04-10 18:52:05.874660900 -0400 @@ -167,8 +167,12 @@ try { sigAlg = id.getName(); sig = Signature.getInstance(sigAlg); - SignatureUtil.initVerifyWithParam(sig, subjectPublicKeyInfo, - SignatureUtil.getParamSpec(sigAlg, id.getParameters())); + + sig.initVerify(subjectPublicKeyInfo); + + // set parameters after Signature.initSign/initVerify call, + // so the deferred provider selections occur when key is set + SignatureUtil.specialSetParameter(sig, id.getParameters()); sig.update(data); if (!sig.verify(sigData)) {