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/** 19561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes* @author Vladimir N. Molotkov 20561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes*/ 21561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 22561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespackage org.apache.harmony.security.tests.java.security.cert; 23561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 24561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.NoSuchAlgorithmException; 25561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.PublicKey; 26561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.CertPath; 27561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.CertPathBuilderResult; 28561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.PKIXCertPathBuilderResult; 29561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.cert.TrustAnchor; 30561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport java.security.spec.InvalidKeySpecException; 31561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 32561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.support.cert.MyCertPath; 33561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport org.apache.harmony.security.tests.support.cert.TestUtils; 34561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 35561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughesimport junit.framework.TestCase; 36561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 37561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes/** 38561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Tests for <code>PKIXCertPathBuilderResult</code> 39561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * 40561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 41561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughespublic class PKIXCertPathBuilderResultTest extends TestCase { 42561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 43561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Cert path encoding stub 44561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 45561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private static final byte[] testEncoding = new byte[] { 46561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes (byte)1, (byte)2, (byte)3, (byte)4, (byte)5 47561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 48561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 49561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 50561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PublicKey stub 51561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 52561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes private static PublicKey testPublicKey = new PublicKey() { 53561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String getAlgorithm() { 54561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return "NeverMind"; 55561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 56561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public String getFormat() { 57561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return "NeverMind"; 58561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 59561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public byte[] getEncoded() { 60561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes return new byte[] {}; 61561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 62561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes }; 63561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 64561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 65561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 66561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Constructor for PKIXCertPathBuilderResultTest. 67561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @param name 68561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 69561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public PKIXCertPathBuilderResultTest(String name) { 70561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes super(name); 71561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 72561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 73561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // 74561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Tests 75561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // 76561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 77561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 78561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test #1 for <code>PKIXCertPathBuilderResult(CertPath, TrustAnchor, 79561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PolicyNode, PublicKey)</code> constructor<br> 80561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: Creates an instance of <code>PKIXCertPathBuilderResult</code> 81561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws NoSuchAlgorithmException 82561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws InvalidKeySpecException 83561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 84561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testPKIXCertPathBuilderResult01() 85561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws InvalidKeySpecException, 86561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NoSuchAlgorithmException { 87561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 88561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 89561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 90561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 91561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes CertPathBuilderResult r = 92561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 93561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), 94561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 95561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 96561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 97561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(r instanceof PKIXCertPathBuilderResult); 98561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 99561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 100561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 101561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test #2 for <code>PKIXCertPathBuilderResult(CertPath, TrustAnchor, 102561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PolicyNode, PublicKey)</code> constructor<br> 103561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: policy tree parameter may be <code>null</code> 104561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws NoSuchAlgorithmException 105561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws InvalidKeySpecException 106561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 107561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testPKIXCertPathBuilderResult02() 108561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws InvalidKeySpecException, 109561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NoSuchAlgorithmException { 110561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 111561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 112561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 113561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 114561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes CertPathBuilderResult r = 115561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 116561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), 117561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 118561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes null, 119561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 120561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertTrue(r instanceof PKIXCertPathBuilderResult); 121561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 122561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 123561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 124561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test #3 for <code>PKIXCertPathBuilderResult(CertPath, TrustAnchor, 125561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PolicyNode, PublicKey)</code> constructor<br> 126561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: <code>NullPointerException</code> 127561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * if certPath is <code>null</code> 128561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 129561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testPKIXCertPathBuilderResult03() { 130561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 131561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 132561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 133561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 134561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 135561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 136561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // pass null 137561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 138561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes null, 139561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 140561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 141561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 142561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("NPE expected"); 143561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 144561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 145561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 146561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 147561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 148561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test #4 for <code>PKIXCertPathBuilderResult(CertPath, TrustAnchor, 149561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PolicyNode, PublicKey)</code> constructor<br> 150561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: <code>NullPointerException</code> 151561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * if trustAnchor is <code>null</code> 152561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 153561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testPKIXCertPathBuilderResult04() { 154561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 155561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // pass null 156561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 157561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), 158561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes null, 159561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 160561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 161561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("NPE expected"); 162561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 163561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 164561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 165561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 166561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 167561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test #5 for <code>PKIXCertPathBuilderResult(CertPath, TrustAnchor, 168561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * PolicyNode, PublicKey)</code> constructor<br> 169561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: <code>NullPointerException</code> 170561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * if publicKey is <code>null</code> 171561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 172561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testPKIXCertPathBuilderResult05() { 173561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 174561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 175561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 176561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 177561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 178561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes try { 179561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // pass null 180561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 181561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), 182561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 183561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 184561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes null); 185561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail("NPE expected"); 186561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } catch (NullPointerException e) { 187561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 188561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 189561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 190561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void test_clone() { 191561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 192561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // Regression for HARMONY-2786. 193561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 194561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(getName() 195561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes + ": not performed (could not create test TrustAnchor)", ta); 196561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 197561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes PKIXCertPathBuilderResult init = new PKIXCertPathBuilderResult( 198561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), ta, TestUtils.getPolicyTree(), 199561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 200561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 201561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes PKIXCertPathBuilderResult clone = (PKIXCertPathBuilderResult) init 202561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes .clone(); 203561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(init.getCertPath(), clone.getCertPath()); 204561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(init.getPolicyTree(), clone.getPolicyTree()); 205561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(init.getPublicKey(), clone.getPublicKey()); 206561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(init.getTrustAnchor(), clone.getTrustAnchor()); 207561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 208561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 209561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 210561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for <code>getCertPath()</code> method<br> 211561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: the built and validated <code>CertPath</code> 212561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * (never <code>null</code>) 213561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws NoSuchAlgorithmException 214561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws InvalidKeySpecException 215561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 216561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testGetCertPath() throws Exception { 217561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 218561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 219561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 220561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 221561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 222561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes CertPath cp = new MyCertPath(testEncoding); 223561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes CertPathBuilderResult r = 224561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 225561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes cp, 226561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 227561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 228561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 229561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 230561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // must return the same reference 231561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes // as passed to the constructor 232561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertSame(cp, r.getCertPath()); 233561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 234561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 235561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes /** 236561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Test for <code>toString()</code> method<br> 237561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * Assertion: the printable representation of this object 238561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws NoSuchAlgorithmException 239561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes * @throws InvalidKeySpecException 240561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes */ 241561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes public final void testToString() 242561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes throws InvalidKeySpecException, 243561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes NoSuchAlgorithmException { 244561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TrustAnchor ta = TestUtils.getTrustAnchor(); 245561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes if (ta == null) { 246561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes fail(getName() + ": not performed (could not create test TrustAnchor)"); 247561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 248561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes CertPathBuilderResult r = 249561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new PKIXCertPathBuilderResult( 250561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes new MyCertPath(testEncoding), 251561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes ta, 252561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes TestUtils.getPolicyTree(), 253561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes testPublicKey); 254561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 255561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes assertNotNull(r.toString()); 256561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes } 257561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes 258561ee011997c6c2f1befbfaa9d5f0a99771c1d63Elliott Hughes} 259