jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java
changeset 31270 e6470b24700d
parent 31060 be4eb6360ee0
child 33872 94e3836950ec
--- a/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java	Thu Jun 25 11:59:40 2015 -0700
+++ b/jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner/Main.java	Fri Jun 26 21:34:34 2015 +0000
@@ -193,23 +193,19 @@
                         provClass = Class.forName(provName);
                     }
 
-                    String provArg = providerArgs.get(provName);
-                    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 = providerArgs.get(provName);
+                    if (provArg != null) {
+                        p = p.configure(provArg);
+                    }
+                    Security.addProvider(p);
                 }
             }