jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java
changeset 31270 e6470b24700d
parent 30506 1998a5644f50
child 31426 9cd672654f97
--- a/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Thu Jun 25 11:59:40 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java	Fri Jun 26 21:34:34 2015 +0000
@@ -728,21 +728,19 @@
                     provClass = Class.forName(provName);
                 }
 
-                String provArg = provider.snd;
-                Object obj;
-                if (provArg == null) {
-                    obj = provClass.newInstance();
-                } else {
-                    Constructor<?> c = provClass.getConstructor(PARAM_STRING);
-                    obj = c.newInstance(provArg);
-                }
+                Object obj = provClass.newInstance();
                 if (!(obj instanceof Provider)) {
                     MessageFormat form = new MessageFormat
                         (rb.getString("provName.not.a.provider"));
                     Object[] source = {provName};
                     throw new Exception(form.format(source));
                 }
-                Security.addProvider((Provider)obj);
+                Provider p = (Provider) obj;
+                String provArg = provider.snd;
+                if (provArg != null) {
+                    p = p.configure(provArg);
+                }
+                Security.addProvider(p);
             }
         }