SSLSessionTest.java revision e9505132a9a878aa77b0fb40a40dd55c9e6affe7
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 java.util.Arrays; 20ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport junit.framework.TestCase; 21ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 22ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrompublic class SSLSessionTest extends TestCase { 23ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 24bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom public void test_SSLSocket_TestSSLSessions_create() { 25bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 26ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid); 27ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 28ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 29ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 30ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 31ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 32ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getApplicationBufferSize() { 33bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 34ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getApplicationBufferSize() > 0); 35ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getApplicationBufferSize() > 0); 36ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getApplicationBufferSize() > 0); 37ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 38ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 39ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCipherSuite() { 40bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 41ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getCipherSuite()); 42fd487fbac3547360ea81d96edea9827fad080f86Brian Carlstrom assertEquals(StandardNames.CIPHER_SUITE_INVALID, s.invalid.getCipherSuite()); 43ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getCipherSuite()); 44ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getCipherSuite()); 45ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getCipherSuite(), 46ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCipherSuite()); 479acacc36bafda869c6e9cc63786cdddd995ca96aBrian Carlstrom assertTrue(StandardNames.CIPHER_SUITES.contains(s.server.getCipherSuite())); 48ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 49ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 50ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCreationTime() { 51bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 52ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getCreationTime() > 0); 53ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getCreationTime() > 0); 54ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getCreationTime() > 0); 55ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(Math.abs(s.server.getCreationTime() - s.client.getCreationTime()) < 1 * 1000); 56ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 57ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 58ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getId() { 59bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 60ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getId()); 61ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getId()); 62ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getId()); 63ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getId().length); 64bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom if (TestSSLContext.sslServerSocketSupportsSessionTickets()) { 65bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(0, s.server.getId().length); 66bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } else { 67bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(32, s.server.getId().length); 68bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertTrue(Arrays.equals(s.server.getId(), s.client.getId())); 69bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } 70ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(32, s.client.getId().length); 71ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 72ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 73ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLastAccessedTime() { 74bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 75ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getLastAccessedTime() > 0); 76ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() > 0); 77ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() > 0); 78e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom assertTrue(Math.abs(s.server.getLastAccessedTime() 79e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom - s.client.getLastAccessedTime()) < 1 * 1000); 80ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() >= 81ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getCreationTime()); 82ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() >= 83ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCreationTime()); 84ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 85ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 86ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalCertificates() throws Exception { 87bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 88ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalCertificates()); 89ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalCertificates()); 90ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalCertificates()); 91ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.server.getLocalCertificates().length); 92204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.server.getLocalCertificates()[0], 93204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom s.s.c.keyStore); 94ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 95ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 96ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalPrincipal() throws Exception { 97bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 98ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalPrincipal()); 99ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalPrincipal()); 100ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal()); 101ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal().getName()); 102204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.server.getLocalPrincipal(), 103204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom s.s.c.keyStore); 104ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 105ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 106ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPacketBufferSize() { 107bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 108ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getPacketBufferSize() > 0); 109ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPacketBufferSize() > 0); 110ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getPacketBufferSize() > 0); 111ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 112ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 113ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificateChain() throws Exception { 114bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 115ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 116ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificateChain(); 117ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 118e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 119ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 120ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 121ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.client.getPeerCertificates().length); 122204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.client.getPeerCertificates()[0], 123204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom s.s.c.keyStore); 124204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom 125ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 126ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.server.getPeerCertificates()); 127ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 128e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 129ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 130ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 131ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 132ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificates() throws Exception { 133bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 134ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 135ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificates(); 136ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 137e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 138ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 139ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 140ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.client.getPeerCertificates().length); 141204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.client.getPeerCertificates()[0], 142204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom s.s.c.keyStore); 143ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 144ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerCertificates(); 145ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 146e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 147ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 148ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 149ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 150ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerHost() { 151bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 152ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getPeerHost()); 153ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getPeerHost()); 154ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerHost()); 155ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 156ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 157ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPort() { 158bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 159ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(-1, s.invalid.getPeerPort()); 160ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPeerPort() > 0); 161ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.port, s.client.getPeerPort()); 162ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 163ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 164ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPrincipal() throws Exception { 165bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 166ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 167ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerPrincipal(); 168ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 169e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 170ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 171ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 172ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerPrincipal(); 173ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 174e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 175ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 176ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal()); 177ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal().getName()); 178204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.client.getPeerPrincipal(), 179204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom s.s.c.keyStore); 180ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 181ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 182ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getProtocol() { 183bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 184ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getProtocol()); 185ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals("NONE", s.invalid.getProtocol()); 186ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getProtocol()); 187ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getProtocol()); 188ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getProtocol(), 189ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getProtocol()); 1909acacc36bafda869c6e9cc63786cdddd995ca96aBrian Carlstrom assertTrue(StandardNames.SSL_SOCKET_PROTOCOLS.contains(s.server.getProtocol())); 191ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 192ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 193ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getSessionContext() { 194bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 195ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 196ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getSessionContext()); 197ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getSessionContext()); 198ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.sslContext.getServerSessionContext(), 199ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getSessionContext()); 200ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.sslContext.getClientSessionContext(), 201ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 202ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotSame(s.server.getSessionContext(), 203ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 204ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 205ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 206ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValue() { 207bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 208ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 209ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getValue(null); 210e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (IllegalArgumentException expected) { 211ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 212ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue("BOGUS")); 213ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 214ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 215ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValueNames() { 216bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 217ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getValueNames()); 218ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 219ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 220ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 221ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_invalidate() { 222bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 223ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 224ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.invalidate(); 225ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 226ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 227ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 228ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 229ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.invalidate(); 230ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.server.isValid()); 231ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.server.getSessionContext()); 232ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 233ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 234ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.invalidate(); 235ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.client.isValid()); 236ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getSessionContext()); 237ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 238ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 239ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_isValid() { 240bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 241ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 242ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 243ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 244ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 245ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 246ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_putValue() { 247bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2488ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2498ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 250ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 251ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 252ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 253ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertSame(value, s.invalid.getValue(key)); 254ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 255ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 256ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 257ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 258ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_removeValue() { 259bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2608ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2618ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 262ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 263ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 264ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 265ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.removeValue(key); 266ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 267ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 268ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 269ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom} 270