| package tests.api.javax.net.ssl; |
| |
| import java.io.ByteArrayInputStream; |
| import java.security.cert.CertificateFactory; |
| import java.security.cert.CertificateException; |
| import java.security.cert.X509Certificate; |
| import javax.net.ssl.X509TrustManager; |
| |
| import junit.framework.TestCase; |
| |
| import org.apache.harmony.security.tests.support.cert.TestUtils; |
| import org.apache.harmony.xnet.tests.support.X509TrustManagerImpl; |
| |
| /** |
| * Tests for <code>X509TrustManager</code> class constructors and methods. |
| */ |
| public class X509TrustManagerTest extends TestCase { |
| |
| private X509Certificate[] setX509Certificate() { |
| try { |
| CertificateFactory certFact = CertificateFactory.getInstance("X.509"); |
| X509Certificate pemCert = (X509Certificate) certFact |
| .generateCertificate(new ByteArrayInputStream(TestUtils |
| .getX509Certificate_v3())); |
| X509Certificate[] xcert = {pemCert}; |
| return xcert; |
| } catch (Exception ex) { |
| fail("Unexpected exception " + ex); |
| } |
| return null; |
| } |
| |
| private X509Certificate[] setInvalid() { |
| try { |
| CertificateFactory certFact = CertificateFactory.getInstance("X.509"); |
| X509Certificate pemCert = (X509Certificate) certFact |
| .generateCertificate(new ByteArrayInputStream(TestUtils |
| .getX509Certificate_v1())); |
| X509Certificate[] xcert = {pemCert}; |
| return xcert; |
| } catch (Exception ex) { |
| fail("Unexpected exception " + ex); |
| } |
| return null; |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkClientTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkClientTrusted_01() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = null; |
| |
| try { |
| xtm.checkClientTrusted(xcert, "SSL"); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| xcert = new X509Certificate[0]; |
| try { |
| xtm.checkClientTrusted(xcert, "SSL"); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| xcert = setX509Certificate(); |
| try { |
| xtm.checkClientTrusted(xcert, null); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| try { |
| xtm.checkClientTrusted(xcert, ""); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkClientTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkClientTrusted_02() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = setInvalid(); |
| |
| try { |
| xtm.checkClientTrusted(xcert, "SSL"); |
| fail("CertificateException wasn't thrown"); |
| } catch (CertificateException ce) { |
| //expected |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkClientTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkClientTrusted_03() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = setX509Certificate(); |
| |
| try { |
| xtm.checkClientTrusted(xcert, "SSL"); |
| } catch (Exception ex) { |
| fail("Unexpected exception " + ex); |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkServerTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkServerTrusted_01() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = null; |
| |
| try { |
| xtm.checkServerTrusted(xcert, "SSL"); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| xcert = new X509Certificate[0]; |
| try { |
| xtm.checkServerTrusted(xcert, "SSL"); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| xcert = setX509Certificate(); |
| try { |
| xtm.checkServerTrusted(xcert, null); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| |
| try { |
| xtm.checkServerTrusted(xcert, ""); |
| fail("IllegalArgumentException wasn't thrown"); |
| } catch (IllegalArgumentException iae) { |
| //expected |
| } catch (Exception e) { |
| fail(e + " was thrown instead of IllegalArgumentException"); |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkServerTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkServerTrusted_02() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = setInvalid(); |
| |
| try { |
| xtm.checkServerTrusted(xcert, "SSL"); |
| fail("CertificateException wasn't thrown"); |
| } catch (CertificateException ce) { |
| //expected |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#checkServerTrusted(X509Certificate[] chain, String authType) |
| */ |
| public void test_checkServerTrusted_03() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| X509Certificate[] xcert = setX509Certificate(); |
| |
| try { |
| xtm.checkServerTrusted(xcert, "SSL"); |
| } catch (Exception ex) { |
| fail("Unexpected exception " + ex); |
| } |
| } |
| |
| /** |
| * javax.net.ssl.X509TrustManager#getAcceptedIssuers() |
| */ |
| public void test_getAcceptedIssuers() { |
| X509TrustManagerImpl xtm = new X509TrustManagerImpl(); |
| |
| try { |
| assertNotNull(xtm.getAcceptedIssuers()); |
| } catch (Exception ex) { |
| fail("Unexpected exception " + ex); |
| } |
| } |
| |
| } |