1561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/*
2561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Licensed to the Apache Software Foundation (ASF) under one or more
3561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  contributor license agreements.  See the NOTICE file distributed with
4561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  this work for additional information regarding copyright ownership.
5561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  The ASF licenses this file to You under the Apache License, Version 2.0
6561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  (the "License"); you may not use this file except in compliance with
7561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  the License.  You may obtain a copy of the License at
8561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
9561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *     http://www.apache.org/licenses/LICENSE-2.0
10561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *
11561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  Unless required by applicable law or agreed to in writing, software
12561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  distributed under the License is distributed on an "AS IS" BASIS,
13561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  See the License for the specific language governing permissions and
15561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes *  limitations under the License.
16561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
17561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
18561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath * @author Vera Y. Petrashkova
208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath */
21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.security.tests.java.security;
238d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.*;
25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.spec.AlgorithmParameterSpec;
26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.support.MyKeyPairGenerator1;
28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.support.MyKeyPairGenerator2;
29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.support.SpiEngUtils;
30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase;
32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/**
35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests for <code>KeyPairGenerator</code> class constructors and methods.
36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */
37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class KeyPairGenerator2Test extends TestCase {
39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private String KeyPairGeneratorProviderClass = "";
40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String KeyPairGeneratorProviderClass1 = "org.apache.harmony.security.tests.support.MyKeyPairGenerator1";
42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String KeyPairGeneratorProviderClass2 = "org.apache.harmony.security.tests.support.MyKeyPairGenerator2";
43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String KeyPairGeneratorProviderClass3 = "org.apache.harmony.security.tests.support.MyKeyPairGenerator3";
44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String KeyPairGeneratorProviderClass4 = "org.apache.harmony.security.tests.support.MyKeyPairGeneratorSpi";
45e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String defaultAlg = "KPGen";
47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String[] invalidValues = SpiEngUtils.invalidValues;
49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private static final String[] validValues;
51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    String post;
53e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes
54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    static {
55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        validValues = new String[4];
56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        validValues[0] = defaultAlg;
57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        validValues[1] = defaultAlg.toLowerCase();
58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        validValues[2] = "kpGEN";
59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        validValues[3] = "kPGEn";
60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
62e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes    Provider mProv;
63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    String resAlg;
64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /*
66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * @see TestCase#tearDown()
67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void tearDown() throws Exception {
69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        super.tearDown();
70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Security.removeProvider(mProv.getName());
71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    protected void setProv() {
74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        mProv = (new SpiEngUtils()).new MyProvider("MyKPGenProvider".concat(post),
75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                "Testing provider", KeyPairGenerator1Test.srvKeyPairGenerator.concat(".")
768d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                .concat(defaultAlg.concat(post)),
77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGeneratorProviderClass);
78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Security.insertProviderAt(mProv, 1);
79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public KeyPairGenerator2Test(String arg0) {
82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        super(arg0);
83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private void checkResult(KeyPairGenerator keyPairGen, int mode)
86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            throws InvalidAlgorithmParameterException {
87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        AlgorithmParameterSpec pp = null;
88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        switch (mode) {
898d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            case 1:
908d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
918d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(pp, new SecureRandom());
928d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidAlgorithmParameterException must be thrown");
938d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidAlgorithmParameterException e) {
948d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
958d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(1000, new SecureRandom());
968d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
978d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(-1024, new SecureRandom());
988d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidParameterException must be thrown");
998d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidParameterException e) {
1008d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    assertEquals("Incorrect exception", e.getMessage(),
1018d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                            "Incorrect keysize parameter");
1028d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1038d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1048d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(100, null);
1058d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidParameterException must be thrown");
1068d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidParameterException e) {
1078d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    assertEquals("Incorrect exception", e.getMessage(),
1088d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                            "Incorrect random");
1098d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1108d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.generateKeyPair();
1118d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.genKeyPair();
1128d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                break;
1138d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            case 2:
1148d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1158d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(pp, new SecureRandom());
1168d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (UnsupportedOperationException e) {
1178d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    // js2e does not throw this exception
1188d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1198d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(1000, new SecureRandom());
1208d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1218d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(63, new SecureRandom());
1228d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidParameterException must be thrown");
1238d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidParameterException e) {
1248d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                keyPairGen.initialize(100, null);
1268d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNull("Not null KeyPair", keyPairGen.generateKeyPair());
1278d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNull("Not null KeyPair", keyPairGen.genKeyPair());
1288d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                break;
1298d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            case 3:
130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                keyPairGen.initialize(pp, new SecureRandom());
1318d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(pp);
1328d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(1000, new SecureRandom());
1338d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(100);
1348d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath
1358d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNotNull("Null KeyPair", keyPairGen.generateKeyPair());
1368d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNotNull("Null KeyPair", keyPairGen.genKeyPair());
1378d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                break;
1388d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath            case 4:
1398d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1408d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(pp, null);
1418d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("UnsupportedOperationException must be thrown");
1428d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (UnsupportedOperationException e) {
1438d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1448d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(pp, new SecureRandom());
1458d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(101, new SecureRandom());
1468d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                keyPairGen.initialize(10000);
1478d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1488d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(101, null);
1498d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("IllegalArgumentException must be thrown for null random");
1508d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (IllegalArgumentException e) {
1518d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1528d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1538d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(99, new SecureRandom());
1548d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidParameterException must be thrown for invalid key");
1558d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidParameterException e) {
1568d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1578d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1588d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(99);
1598d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("InvalidParameterException must be thrown for invalid key");
1608d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (InvalidParameterException e) {
1618d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1628d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                try {
1638d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    keyPairGen.initialize(199, null);
1648d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                    fail("IllegalArgumentException must be thrown for null random");
1658d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                } catch (IllegalArgumentException e) {
1668d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                }
1678d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNull("Not null KeyPair", keyPairGen.generateKeyPair());
1688d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                assertNull("Not null KeyPair", keyPairGen.genKeyPair());
1698d8858e39800de641b50f6e8e864af9cf68bedeaNarayan Kamath                break;
170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>getInstance(String algorithm)</code> method Assertions:
176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * throws NullPointerException when algorithm is null throws
177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * NoSuchAlgorithmException when algorithm is incorrect; returns
178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * KeyPairGenerator object
179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private void GetInstance01(int mode) throws NoSuchAlgorithmException,
181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            KeyPairGenerator.getInstance(null);
184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("NullPointerException or KeyStoreException must be thrown");
185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NoSuchAlgorithmException e) {
186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < invalidValues.length; i++) {
189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGenerator.getInstance(invalidValues[i]);
191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("NoSuchAlgorithmException must be thrown (algorithm: "
192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(invalidValues[i]).concat(")"));
193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (NoSuchAlgorithmException e) {
194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGenerator kpG;
197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            kpG = KeyPairGenerator.getInstance(alg);
200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect algorithm", kpG.getAlgorithm()
201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .toUpperCase(), (mode <= 2 ? resAlg : alg).toUpperCase());
202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect provider", kpG.getProvider(), mProv);
203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            checkResult(kpG, mode);
204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>getInstance(String algorithm, String provider)</code>
209e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * method
210e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * Assertions:
211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * throws NullPointerException  when algorithm is null
212e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * throws NoSuchAlgorithmException when algorithm is incorrect;
213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * throws IllegalArgumentException when provider is null;
214e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * throws NoSuchProviderException when provider is available;
215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * returns
216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * KeyPairGenerator object
217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void GetInstance02(int mode) throws NoSuchAlgorithmException,
219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            NoSuchProviderException, IllegalArgumentException,
220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            KeyPairGenerator.getInstance(null, mProv.getName());
223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("NullPointerException or KeyStoreException must be thrown");
224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NoSuchAlgorithmException e) {
225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < invalidValues.length; i++) {
228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGenerator.getInstance(invalidValues[i], mProv.getName());
230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("NoSuchAlgorithmException must be thrown (algorithm: "
231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(invalidValues[i]).concat(")"));
232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (NoSuchAlgorithmException e) {
233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        String prov = null;
236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGenerator.getInstance(alg, prov);
240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("IllegalArgumentException must be thrown when provider is null (algorithm: "
241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(alg).concat(")"));
242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (IllegalArgumentException e) {
243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            for (int j = 1; j < invalidValues.length; j++) {
248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                try {
249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    KeyPairGenerator.getInstance(alg, invalidValues[j]);
250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    fail("NoSuchProviderException must be thrown (algorithm: "
251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                            .concat(alg).concat(" provider: ").concat(
252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                                    invalidValues[j]).concat(")"));
253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                } catch (NoSuchProviderException e) {
254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                }
255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGenerator kpG;
258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
259561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
260561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            kpG = KeyPairGenerator.getInstance(alg, mProv.getName());
261561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect algorithm", kpG.getAlgorithm()
262561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .toUpperCase(), (mode <= 2 ? resAlg : alg).toUpperCase());
263561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect provider", kpG.getProvider().getName(),
264561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    mProv.getName());
265561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            checkResult(kpG, mode);
266561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
267561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
268561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
269561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    /**
270561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * Test for <code>getInstance(String algorithm, Provider provider)</code>
271e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * method
272e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * Assertions:
273561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * throws NullPointerException  when algorithm is null
274e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes     * throws NoSuchAlgorithmException when algorithm is incorrect;
275561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * throws IllegalArgumentException when provider is null;
276561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     * returns KeyPairGenerator object
277561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes     */
278561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    private void GetInstance03(int mode) throws NoSuchAlgorithmException,
279561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            IllegalArgumentException, InvalidAlgorithmParameterException {
280561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        try {
281561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            KeyPairGenerator.getInstance(null, mProv);
282561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            fail("NullPointerException or KeyStoreException must be thrown");
283561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NoSuchAlgorithmException e) {
284561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        } catch (NullPointerException e) {
285561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
286561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < invalidValues.length; i++) {
287561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
288561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGenerator.getInstance(invalidValues[i], mProv);
289561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("NoSuchAlgorithmException must be thrown (algorithm: "
290561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(invalidValues[i]).concat(")"));
291561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (NoSuchAlgorithmException e) {
292561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
293561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
294561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        Provider prov = null;
295561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
296561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
297561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            try {
298561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                KeyPairGenerator.getInstance(alg, prov);
299561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                fail("IllegalArgumentException must be thrown when provider is null (algorithm: "
300561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                        .concat(alg).concat(")"));
301561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            } catch (IllegalArgumentException e) {
302561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            }
303561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
304561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGenerator kpG;
305561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        for (int i = 0; i < validValues.length; i++) {
306561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            String alg = validValues[i].concat(post);
307561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            kpG = KeyPairGenerator.getInstance(alg, mProv);
308561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect algorithm", kpG.getAlgorithm()
309561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes                    .toUpperCase(), (mode <= 2 ? resAlg : alg).toUpperCase());
310561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            assertEquals("Incorrect provider", kpG.getProvider(), mProv);
311561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            checkResult(kpG, mode);
312561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        }
313561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
314561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
315561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance01() throws NoSuchAlgorithmException,
316561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
317561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass1;
318561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator1.getResAlgorithm();
319561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_1";
320561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
321561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance01(1);
322561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
323561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
324561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance02() throws NoSuchAlgorithmException,
325561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            NoSuchProviderException, IllegalArgumentException,
326561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
327561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass1;
328561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator1.getResAlgorithm();
329561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_1";
330561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
331561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance02(1);
332561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
333561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
334561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance03() throws NoSuchAlgorithmException,
335561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            IllegalArgumentException, InvalidAlgorithmParameterException {
336561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass1;
337561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator1.getResAlgorithm();
338561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_1";
339561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
340561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance03(1);
341561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
342561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
343561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance04() throws NoSuchAlgorithmException,
344561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
345561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass2;
346561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator2.getResAlgorithm();
347561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_2";
348561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
349561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance01(2);
350561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
351561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
352561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance05() throws NoSuchAlgorithmException,
353561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            NoSuchProviderException, IllegalArgumentException,
354561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
355561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass2;
356561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator2.getResAlgorithm();
357561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_2";
358561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
359561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance02(2);
360561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
361561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
362561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance06() throws NoSuchAlgorithmException,
363561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            IllegalArgumentException, InvalidAlgorithmParameterException {
364561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass2;
365561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = MyKeyPairGenerator2.getResAlgorithm();
366561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_2";
367561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
368561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance03(2);
369561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
370561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
371561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance07() throws NoSuchAlgorithmException,
372561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
373561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass3;
374561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
375561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_3";
376561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
377561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance01(3);
378561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
379561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
380561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance08() throws NoSuchAlgorithmException,
381561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            NoSuchProviderException, IllegalArgumentException,
382561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
383561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass3;
384561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
385561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_3";
386561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
387561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance02(3);
388561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
389561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
390561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance09() throws NoSuchAlgorithmException,
391561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            IllegalArgumentException, InvalidAlgorithmParameterException {
392561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass3;
393561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
394561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_3";
395561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
396561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance03(3);
397561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
398561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
399561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance10() throws NoSuchAlgorithmException,
400561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
401561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass4;
402561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
403561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_4";
404561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
405561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance01(4);
406561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
407561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
408561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance11() throws NoSuchAlgorithmException,
409561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            NoSuchProviderException, IllegalArgumentException,
410561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            InvalidAlgorithmParameterException {
411561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass4;
412561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
413561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_4";
414561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
415561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance02(4);
416561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
417561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes
418561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    public void testGetInstance12() throws NoSuchAlgorithmException,
419561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes            IllegalArgumentException, InvalidAlgorithmParameterException {
420561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        KeyPairGeneratorProviderClass = KeyPairGeneratorProviderClass4;
421561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        resAlg = "";
422561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        post = "_4";
423561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        setProv();
424561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes        GetInstance03(4);
425561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes    }
426561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes}
427