| /* | |
| * Copyright (c) 2016, 2024, Oracle and/or its affiliates. All rights reserved. | |
| * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | |
| * | |
| * This code is free software; you can redistribute it and/or modify it | |
| * under the terms of the GNU General Public License version 2 only, as | |
| * published by the Free Software Foundation. | |
| * | |
| * This code is distributed in the hope that it will be useful, but WITHOUT | |
| * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
| * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
| * version 2 for more details (a copy is included in the LICENSE file that | |
| * accompanied this code). | |
| * | |
| * You should have received a copy of the GNU General Public License version | |
| * 2 along with this work; if not, write to the Free Software Foundation, | |
| * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | |
| * | |
| * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | |
| * or visit www.oracle.com if you need additional information or have any | |
| * questions. | |
| */ | |
| import java.security.*; | |
| import java.security.cert.*; | |
| import javax.crypto.*; | |
| import javax.net.ssl.*; | |
| import javax.security.auth.login.*; | |
| import java.lang.reflect.*; | |
| import java.util.Arrays; | |
| /* | |
| * @test | |
| * @bug 4985694 | |
| * @summary Incomplete spec for most of the getInstances | |
| */ | |
| /** | |
| * A simple test to see what is being thrown when null Strings are passed | |
| * to the various getInstance() methods. | |
| * | |
| * These tests use various algorithm names that don't exist (e.g. "FOO" | |
| * Ciphers). Just need something non-null for testing, as the tests will throw | |
| * exceptions before trying to instantiate a real object. | |
| */ | |
| public class GetInstanceNullsEmpties { | |
| private static final String providerName = System.getProperty("test.provider.name", "SUN"); | |
| private static final Provider provider = Security.getProvider(providerName); | |
| /* | |
| * See if there are more than "expected" number of getInstance() methods, | |
| * which will indicate to developers that this test needs an update. | |
| */ | |
| private static void checkNewMethods(Class<?> clazz, int expected) | |
| throws Exception { | |
| long found = Arrays.stream(clazz.getMethods()) | |
| .filter(name -> name.getName().equals("getInstance")) | |
| .count(); | |
| if (found != expected) { | |
| throw new Exception("Number of getInstance() mismatch: " | |
| + expected + " expected, " + found + " found"); | |
| } | |
| } | |
| /** | |
| * Main loop. | |
| */ | |
| public static void main(String[] args) throws Exception { | |
| /* | |
| * JCA | |
| */ | |
| testAlgorithmParameterGenerator(); | |
| testAlgorithmParameters(); | |
| testCertificateFactory(); | |
| testCertPathBuilder(); | |
| testCertPathValidator(); | |
| testCertStore(); | |
| testKeyFactory(); | |
| testKeyPairGenerator(); | |
| testKeyStore(); | |
| testMessageDigest(); | |
| testPolicy(); | |
| testSecureRandom(); | |
| testSignature(); | |
| /* | |
| * JCE | |
| */ | |
| testCipher(); | |
| testExemptionMechanism(); | |
| testKeyAgreement(); | |
| testKeyGenerator(); | |
| testMac(); | |
| testSecretKeyFactory(); | |
| /* | |
| * JSSE | |
| */ | |
| testKeyManagerFactory(); | |
| testSSLContext(); | |
| testTrustManagerFactory(); | |
| /* | |
| * JGSS | |
| * | |
| * KeyTab.getInstance doesn't take algorithm names, so we'll | |
| * ignore this one. | |
| */ | |
| testConfiguration(); | |
| System.out.println("\nTEST PASSED!"); | |
| } | |
| private static Method getInstance(Class clazz, Class... args) | |
| throws Exception { | |
| boolean firstPrinted = false; | |
| System.out.print("\n" + clazz.getName() + "("); | |
| for (Class c : args) { | |
| System.out.print(firstPrinted | |
| ? ", " + c.getName() : c.getName()); | |
| firstPrinted = true; | |
| } | |
| System.out.println("):"); | |
| return clazz.getMethod("getInstance", args); | |
| } | |
| private static void run(Method m, Class expectedException, | |
| Object... args) throws Exception { | |
| try { | |
| m.invoke(null, args); | |
| throw new Exception("Didn't throw exception"); | |
| } catch (InvocationTargetException ite) { | |
| Throwable root = ite.getCause(); | |
| if (root instanceof Exception) { | |
| Exception e = (Exception) root; | |
| if (expectedException.isInstance(e)) { | |
| System.out.print("OK "); | |
| return; | |
| } else { | |
| System.out.println( | |
| "Unexpected InvocationTargetException!"); | |
| throw e; | |
| } | |
| } | |
| throw ite; | |
| } | |
| } | |
| /* | |
| * Constants so lines aren't so long. | |
| */ | |
| private static final Class STRING = String.class; | |
| private static final Class PROVIDER = Provider.class; | |
| private static void testAlgorithmParameterGenerator() throws Exception { | |
| Class clazz = AlgorithmParameterGenerator.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testAlgorithmParameters() throws Exception { | |
| Class clazz = AlgorithmParameters.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testCertPathBuilder() throws Exception { | |
| Class clazz = CertPathBuilder.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testCertPathValidator() throws Exception { | |
| Class clazz = CertPathValidator.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testCertStore() throws Exception { | |
| Class clazz = CertStore.class; | |
| Method m; | |
| CertStoreParameters csp = () -> null; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING, CertStoreParameters.class); | |
| run(m, NullPointerException.class, (Object) null, csp); | |
| run(m, NoSuchAlgorithmException.class, "", csp); | |
| m = getInstance(clazz, STRING, CertStoreParameters.class, STRING); | |
| run(m, NullPointerException.class, null, csp, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", csp, providerName); | |
| run(m, IllegalArgumentException.class, "FOO", csp, null); | |
| run(m, IllegalArgumentException.class, "FOO", csp, ""); | |
| m = getInstance(clazz, STRING, CertStoreParameters.class, PROVIDER); | |
| run(m, NullPointerException.class, null, csp, provider); | |
| run(m, NoSuchAlgorithmException.class, "", csp, provider); | |
| run(m, IllegalArgumentException.class, "FOO", csp, null); | |
| } | |
| private static void testCertificateFactory() throws Exception { | |
| Class clazz = CertificateFactory.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, CertificateException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, CertificateException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, CertificateException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testCipher() throws Exception { | |
| Class clazz = Cipher.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| /* | |
| * Note the Cipher API is spec'd to throw a NoSuchAlgorithmException | |
| * for a null transformation. | |
| */ | |
| m = getInstance(clazz, STRING); | |
| run(m, NoSuchAlgorithmException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NoSuchAlgorithmException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NoSuchAlgorithmException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testConfiguration() throws Exception { | |
| Class clazz = Configuration.class; | |
| Method m; | |
| Configuration.Parameters cp = new Configuration.Parameters() { | |
| }; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING, Configuration.Parameters.class); | |
| run(m, NullPointerException.class, (Object) null, cp); | |
| run(m, NoSuchAlgorithmException.class, "", cp); | |
| m = getInstance(clazz, STRING, Configuration.Parameters.class, STRING); | |
| run(m, NullPointerException.class, null, cp, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", cp, providerName); | |
| run(m, IllegalArgumentException.class, "FOO", cp, null); | |
| run(m, IllegalArgumentException.class, "FOO", cp, ""); | |
| m = getInstance(clazz, STRING, Configuration.Parameters.class, | |
| PROVIDER); | |
| run(m, NullPointerException.class, null, cp, provider); | |
| run(m, NoSuchAlgorithmException.class, "", cp, provider); | |
| run(m, IllegalArgumentException.class, "FOO", cp, null); | |
| } | |
| private static void testExemptionMechanism() throws Exception { | |
| Class clazz = ExemptionMechanism.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyAgreement() throws Exception { | |
| Class clazz = KeyAgreement.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyFactory() throws Exception { | |
| Class clazz = KeyFactory.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyGenerator() throws Exception { | |
| Class clazz = KeyGenerator.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyManagerFactory() throws Exception { | |
| Class clazz = KeyManagerFactory.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyPairGenerator() throws Exception { | |
| Class clazz = KeyPairGenerator.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testKeyStore() throws Exception { | |
| Class clazz = KeyStore.class; | |
| Method m; | |
| /* | |
| * There are actually two additional getInstance() methods with File | |
| * as the first parameter. | |
| */ | |
| checkNewMethods(clazz, 5); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, KeyStoreException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, KeyStoreException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, KeyStoreException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testMac() throws Exception { | |
| Class clazz = Mac.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testMessageDigest() throws Exception { | |
| Class clazz = MessageDigest.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testPolicy() throws Exception { | |
| Class clazz = Policy.class; | |
| Method m; | |
| Policy.Parameters pp = new Policy.Parameters() { | |
| }; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING, Policy.Parameters.class); | |
| run(m, NullPointerException.class, (Object) null, pp); | |
| run(m, NoSuchAlgorithmException.class, "", pp); | |
| m = getInstance(clazz, STRING, Policy.Parameters.class, STRING); | |
| run(m, NullPointerException.class, null, pp, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", pp, providerName); | |
| run(m, IllegalArgumentException.class, "FOO", pp, null); | |
| run(m, IllegalArgumentException.class, "FOO", pp, ""); | |
| m = getInstance(clazz, STRING, Policy.Parameters.class, PROVIDER); | |
| run(m, NullPointerException.class, null, pp, provider); | |
| run(m, NoSuchAlgorithmException.class, "", pp, provider); | |
| run(m, IllegalArgumentException.class, "FOO", pp, null); | |
| } | |
| private static void testSSLContext() throws Exception { | |
| Class clazz = SSLContext.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testSecretKeyFactory() throws Exception { | |
| Class clazz = SecretKeyFactory.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testSecureRandom() throws Exception { | |
| Class clazz = SecureRandom.class; | |
| Method m; | |
| SecureRandomParameters srp = new SecureRandomParameters() { | |
| }; | |
| checkNewMethods(clazz, 6); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| m = getInstance(clazz, STRING, SecureRandomParameters.class); | |
| run(m, NullPointerException.class, (Object) null, srp); | |
| run(m, NoSuchAlgorithmException.class, "", srp); | |
| m = getInstance(clazz, STRING, SecureRandomParameters.class, STRING); | |
| run(m, NullPointerException.class, null, srp, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", srp, providerName); | |
| run(m, IllegalArgumentException.class, "FOO", srp, null); | |
| run(m, IllegalArgumentException.class, "FOO", srp, ""); | |
| m = getInstance(clazz, STRING, SecureRandomParameters.class, PROVIDER); | |
| run(m, NullPointerException.class, null, srp, provider); | |
| run(m, NoSuchAlgorithmException.class, "", srp, provider); | |
| run(m, IllegalArgumentException.class, "FOO", srp, null); | |
| } | |
| private static void testSignature() throws Exception { | |
| Class clazz = Signature.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| private static void testTrustManagerFactory() throws Exception { | |
| Class clazz = TrustManagerFactory.class; | |
| Method m; | |
| checkNewMethods(clazz, 3); | |
| m = getInstance(clazz, STRING); | |
| run(m, NullPointerException.class, (Object) null); | |
| run(m, NoSuchAlgorithmException.class, ""); | |
| m = getInstance(clazz, STRING, STRING); | |
| run(m, NullPointerException.class, null, providerName); | |
| run(m, NoSuchAlgorithmException.class, "", providerName); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| run(m, IllegalArgumentException.class, "FOO", ""); | |
| m = getInstance(clazz, STRING, PROVIDER); | |
| run(m, NullPointerException.class, null, provider); | |
| run(m, NoSuchAlgorithmException.class, "", provider); | |
| run(m, IllegalArgumentException.class, "FOO", null); | |
| } | |
| } |