SSLSessionTest.java revision bcfb325d5b1f9529b439cc0805a1c140521510f7
1ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom/* 2ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * Copyright (C) 2010 The Android Open Source Project 3ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * 4ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License"); 5ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * you may not use this file except in compliance with the License. 6ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * You may obtain a copy of the License at 7ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * 8ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * http://www.apache.org/licenses/LICENSE-2.0 9ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * 10ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * Unless required by applicable law or agreed to in writing, software 11ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS, 12ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * See the License for the specific language governing permissions and 14ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom * limitations under the License. 15ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom */ 16ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 17ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrompackage javax.net.ssl; 18ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 19ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport dalvik.annotation.KnownFailure; 20ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport java.security.cert.X509Certificate; 21ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport java.util.Arrays; 22ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport junit.framework.TestCase; 23ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 24ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrompublic class SSLSessionTest extends TestCase { 25ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 26bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom public void test_SSLSocket_TestSSLSessions_create() { 27bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 28ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid); 29ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 30ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 31ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 32ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 33ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 34ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getApplicationBufferSize() { 35bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 36ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getApplicationBufferSize() > 0); 37ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getApplicationBufferSize() > 0); 38ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getApplicationBufferSize() > 0); 39ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 40ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 41ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom @KnownFailure("Expected SSL_NULL_WITH_NULL_NULL but received TLS_NULL_WITH_NULL_NULL") 42ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCipherSuite() { 43bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 44ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getCipherSuite()); 45ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals("SSL_NULL_WITH_NULL_NULL", s.invalid.getCipherSuite()); 46ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getCipherSuite()); 47ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getCipherSuite()); 48ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getCipherSuite(), 49ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCipherSuite()); 50ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 51ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 52ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCreationTime() { 53bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 54ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getCreationTime() > 0); 55ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getCreationTime() > 0); 56ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getCreationTime() > 0); 57ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(Math.abs(s.server.getCreationTime() - s.client.getCreationTime()) < 1 * 1000); 58ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 59ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 60ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getId() { 61bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 62ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getId()); 63ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getId()); 64ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getId()); 65ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getId().length); 66bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom if (TestSSLContext.sslServerSocketSupportsSessionTickets()) { 67bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(0, s.server.getId().length); 68bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } else { 69bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(32, s.server.getId().length); 70bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertTrue(Arrays.equals(s.server.getId(), s.client.getId())); 71bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } 72ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(32, s.client.getId().length); 73ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 74ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 75ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLastAccessedTime() { 76bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 77ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getLastAccessedTime() > 0); 78ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() > 0); 79ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() > 0); 80ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(Math.abs(s.server.getLastAccessedTime() - 81ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getLastAccessedTime()) < 1 * 1000); 82ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() >= 83ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getCreationTime()); 84ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() >= 85ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCreationTime()); 86ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 87ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 88bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom @KnownFailure("client local certificates should be null as it should not have been requested by server") 89ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalCertificates() throws Exception { 90bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 91ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalCertificates()); 92bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom // TODO Fix Known Failure 93bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom // Need to fix NativeCrypto.SSL_new to not use SSL_use_certificate 94ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalCertificates()); 95ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalCertificates()); 96ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.server.getLocalCertificates().length); 97ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.keyStore.getCertificate(s.s.c.publicAlias), 98ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getLocalCertificates()[0]); 99ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 100ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 101bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom @KnownFailure("client local principal should be null as it should not have been requested by server") 102ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalPrincipal() throws Exception { 103bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 104ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalPrincipal()); 105bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom // TODO Fix Known Failure 106bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom // Need to fix NativeCrypto.SSL_new to not use SSL_use_certificate 107ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalPrincipal()); 108ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal()); 109ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal().getName()); 1108ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom X509Certificate x509certificate = (X509Certificate) 111ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.s.c.keyStore.getCertificate(s.s.c.publicAlias); 112ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(x509certificate.getSubjectDN().getName(), 113ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getLocalPrincipal().getName()); 114ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 115ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 116ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPacketBufferSize() { 117bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 118ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getPacketBufferSize() > 0); 119ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPacketBufferSize() > 0); 120ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getPacketBufferSize() > 0); 121ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 122ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 123ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificateChain() throws Exception { 124bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 125ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 126ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificateChain(); 127ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 128ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 129ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 130ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 131ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.client.getPeerCertificates().length); 132ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.keyStore.getCertificate(s.s.c.publicAlias), 133ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getPeerCertificates()[0]); 134ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 135ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.server.getPeerCertificates()); 136ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 137ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 138ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 139ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 140ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 141ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificates() throws Exception { 142bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 143ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 144ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificates(); 145ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 146ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 147ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 148ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 149ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.client.getPeerCertificates().length); 150ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.keyStore.getCertificate(s.s.c.publicAlias), 151ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getPeerCertificates()[0]); 152ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 153ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerCertificates(); 154ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 155ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 156ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 157ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 158ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 159ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerHost() { 160bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 161ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getPeerHost()); 162ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getPeerHost()); 163ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerHost()); 164ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 165ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 166ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPort() { 167bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 168ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(-1, s.invalid.getPeerPort()); 169ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPeerPort() > 0); 170ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.port, s.client.getPeerPort()); 171ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 172ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 173ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPrincipal() throws Exception { 174bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 175ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 176ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerPrincipal(); 177ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 178ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 179ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 180ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 181ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerPrincipal(); 182ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 183ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (SSLPeerUnverifiedException e) { 184ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 185ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal()); 186ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal().getName()); 1878ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom X509Certificate x509certificate = (X509Certificate) 188ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.s.c.keyStore.getCertificate(s.s.c.publicAlias); 189ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(x509certificate.getSubjectDN().getName(), 190ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getPeerPrincipal().getName()); 191ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 192ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 193ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 194ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getProtocol() { 195bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 196ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getProtocol()); 197ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals("NONE", s.invalid.getProtocol()); 198ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getProtocol()); 199ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getProtocol()); 200ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getProtocol(), 201ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getProtocol()); 202ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 203ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 204ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getSessionContext() { 205bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 206ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 207ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getSessionContext()); 208ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getSessionContext()); 209ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.sslContext.getServerSessionContext(), 210ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getSessionContext()); 211ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.sslContext.getClientSessionContext(), 212ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 213ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotSame(s.server.getSessionContext(), 214ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 215ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 216ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 217ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValue() { 218bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 219ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 220ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getValue(null); 221ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } catch (IllegalArgumentException e) { 222ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 223ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue("BOGUS")); 224ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 225ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 226ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValueNames() { 227bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 228ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getValueNames()); 229ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 230ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 231ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 232ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_invalidate() { 233bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 234ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 235ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.invalidate(); 236ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 237ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 238ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 239ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 240ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.invalidate(); 241ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.server.isValid()); 242ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.server.getSessionContext()); 243ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 244ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 245ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.invalidate(); 246ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.client.isValid()); 247ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getSessionContext()); 248ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 249ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 250ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_isValid() { 251bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 252ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 253ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 254ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 255ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 256ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 257ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_putValue() { 258bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2598ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2608ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 261ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 262ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 263ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 264ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertSame(value, s.invalid.getValue(key)); 265ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 266ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 267ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 268ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 269ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_removeValue() { 270bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2718ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2728ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 273ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 274ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 275ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 276ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.removeValue(key); 277ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 278ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 279ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 280ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom} 281