< prev index next >

src/java.base/share/classes/sun/security/tools/KeyStoreUtil.java

Print this page
rev 59105 : imported patch corelibs


 283                 }
 284                 Security.addProvider(p);
 285                 return;
 286             }
 287         }
 288         throw new IllegalArgumentException("No provider found");
 289     }
 290 
 291     /**
 292      * Loads a security provider by a fully-qualified class name.
 293      *
 294      * @param provClass the class name
 295      * @param arg optional arg
 296      * @param cl optional class loader
 297      * @throws IllegalArgumentException if no provider matches the class name
 298      * @throws ClassCastException if the class has not extended Provider
 299      */
 300     public static void loadProviderByClass(
 301             String provClass, String arg, ClassLoader cl) {
 302 
 303         // For compatibility, SunPKCS11, OracleUcrypto, and SunMSCAPI
 304         // can still be loadable with -providerClass.
 305         if (provClass.equals("sun.security.pkcs11.SunPKCS11")) {
 306             loadProviderByName("SunPKCS11", arg);
 307             return;
 308         } else if (provClass.equals("com.oracle.security.crypto.UcryptoProvider")) {
 309             loadProviderByName("OracleUcrypto", arg);
 310             return;
 311         } else if (provClass.equals("sun.security.mscapi.SunMSCAPI")) {
 312             loadProviderByName("SunMSCAPI", arg);
 313             return;
 314         }
 315 
 316         Provider prov;
 317         try {
 318             Class<?> clazz = Class.forName(provClass, false, cl);
 319             prov = (Provider) clazz.getConstructor().newInstance();
 320         } catch (ReflectiveOperationException e) {
 321             throw new IllegalArgumentException(e);
 322         }
 323         if (arg != null) {
 324             prov = prov.configure(arg);
 325         }
 326         Security.addProvider(prov);
 327     }
 328 }


 283                 }
 284                 Security.addProvider(p);
 285                 return;
 286             }
 287         }
 288         throw new IllegalArgumentException("No provider found");
 289     }
 290 
 291     /**
 292      * Loads a security provider by a fully-qualified class name.
 293      *
 294      * @param provClass the class name
 295      * @param arg optional arg
 296      * @param cl optional class loader
 297      * @throws IllegalArgumentException if no provider matches the class name
 298      * @throws ClassCastException if the class has not extended Provider
 299      */
 300     public static void loadProviderByClass(
 301             String provClass, String arg, ClassLoader cl) {
 302 
 303         // For compatibility, SunPKCS11, and SunMSCAPI
 304         // can still be loadable with -providerClass.
 305         if (provClass.equals("sun.security.pkcs11.SunPKCS11")) {
 306             loadProviderByName("SunPKCS11", arg);



 307             return;
 308         } else if (provClass.equals("sun.security.mscapi.SunMSCAPI")) {
 309             loadProviderByName("SunMSCAPI", arg);
 310             return;
 311         }
 312 
 313         Provider prov;
 314         try {
 315             Class<?> clazz = Class.forName(provClass, false, cl);
 316             prov = (Provider) clazz.getConstructor().newInstance();
 317         } catch (ReflectiveOperationException e) {
 318             throw new IllegalArgumentException(e);
 319         }
 320         if (arg != null) {
 321             prov = prov.configure(arg);
 322         }
 323         Security.addProvider(prov);
 324     }
 325 }
< prev index next >