SSLSessionTest.java revision f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8a
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 174557728efb66c455a52b7669a8eefef7a9e54854Jesse Wilsonpackage libcore.javax.net.ssl; 18ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 194557728efb66c455a52b7669a8eefef7a9e54854Jesse Wilsonimport libcore.java.security.StandardNames; 204557728efb66c455a52b7669a8eefef7a9e54854Jesse Wilsonimport libcore.java.security.TestKeyStore; 21ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport java.util.Arrays; 224557728efb66c455a52b7669a8eefef7a9e54854Jesse Wilsonimport javax.net.ssl.SSLPeerUnverifiedException; 23ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstromimport junit.framework.TestCase; 24ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 25ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrompublic class SSLSessionTest extends TestCase { 26ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 27bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom public void test_SSLSocket_TestSSLSessions_create() { 28bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 29ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid); 30ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 31ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 32ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 33f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 34ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 35ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 36ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getApplicationBufferSize() { 37bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 38ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getApplicationBufferSize() > 0); 39ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getApplicationBufferSize() > 0); 40ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getApplicationBufferSize() > 0); 41f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 42ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 43ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 44ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCipherSuite() { 45bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 46ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getCipherSuite()); 47fd487fbac3547360ea81d96edea9827fad080f86Brian Carlstrom assertEquals(StandardNames.CIPHER_SUITE_INVALID, s.invalid.getCipherSuite()); 48ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getCipherSuite()); 49ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getCipherSuite()); 50ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getCipherSuite(), 51ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCipherSuite()); 529acacc36bafda869c6e9cc63786cdddd995ca96aBrian Carlstrom assertTrue(StandardNames.CIPHER_SUITES.contains(s.server.getCipherSuite())); 53f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 54ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 55ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 56ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getCreationTime() { 57bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 58ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getCreationTime() > 0); 59ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getCreationTime() > 0); 60ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getCreationTime() > 0); 61ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(Math.abs(s.server.getCreationTime() - s.client.getCreationTime()) < 1 * 1000); 62f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 63ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 64ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 65ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getId() { 66bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 67ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getId()); 68ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getId()); 69ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getId()); 70ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getId().length); 71bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom if (TestSSLContext.sslServerSocketSupportsSessionTickets()) { 72bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(0, s.server.getId().length); 73bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } else { 74bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertEquals(32, s.server.getId().length); 75bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom assertTrue(Arrays.equals(s.server.getId(), s.client.getId())); 76bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom } 77ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(32, s.client.getId().length); 78f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 79ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 80ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 81ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLastAccessedTime() { 82bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 83ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getLastAccessedTime() > 0); 84ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() > 0); 85ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() > 0); 86e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom assertTrue(Math.abs(s.server.getLastAccessedTime() 87e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom - s.client.getLastAccessedTime()) < 1 * 1000); 88ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getLastAccessedTime() >= 89ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getCreationTime()); 90ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getLastAccessedTime() >= 91ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getCreationTime()); 92f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 93ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 94ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 95ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalCertificates() throws Exception { 96bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 97ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalCertificates()); 98ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalCertificates()); 99ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalCertificates()); 100059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom TestKeyStore.assertChainLength(s.server.getLocalCertificates()); 101059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom TestSSLContext.assertServerCertificateChain(s.s.c.serverTrustManager, 102059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.server.getLocalCertificates()); 103204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.server.getLocalCertificates()[0], 104059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.s.c.serverKeyStore); 105f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 106ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 107ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 108ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getLocalPrincipal() throws Exception { 109bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 110ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getLocalPrincipal()); 111ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getLocalPrincipal()); 112ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal()); 113ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getLocalPrincipal().getName()); 114204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.server.getLocalPrincipal(), 115059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.s.c.serverKeyStore); 116f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 117ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 118ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 119ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPacketBufferSize() { 120bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 121ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.invalid.getPacketBufferSize() > 0); 122ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPacketBufferSize() > 0); 123ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.getPacketBufferSize() > 0); 124f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 125ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 126ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 127ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificateChain() throws Exception { 128bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 129ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 130ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificateChain(); 131ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 132e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 133ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 134ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 135059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom TestKeyStore.assertChainLength(s.client.getPeerCertificateChain()); 136ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 137059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom assertNull(s.server.getPeerCertificateChain()); 138ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 139e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 140ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 141f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 142ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 143ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 144ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerCertificates() throws Exception { 145bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 146ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 147ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerCertificates(); 148ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 149e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 150ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 151ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerCertificates()); 152059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom TestKeyStore.assertChainLength(s.client.getPeerCertificates()); 153059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom TestSSLContext.assertServerCertificateChain(s.s.c.serverTrustManager, 154059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.client.getPeerCertificates()); 155204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.client.getPeerCertificates()[0], 156059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.s.c.serverKeyStore); 157ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 158ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerCertificates(); 159ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 160e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 161ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 162f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 163ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 164ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 165ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerHost() { 166bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 167ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getPeerHost()); 168ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getPeerHost()); 169ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerHost()); 170f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 171ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 172ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 173ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPort() { 174bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 175ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(-1, s.invalid.getPeerPort()); 176ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.getPeerPort() > 0); 177ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.s.c.port, s.client.getPeerPort()); 178f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 179ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 180ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 181ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getPeerPrincipal() throws Exception { 182bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 183ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 184ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getPeerPrincipal(); 185ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 186e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 187ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 188ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 189ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getPeerPrincipal(); 190ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom fail(); 191e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (SSLPeerUnverifiedException expected) { 192ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 193ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal()); 194ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getPeerPrincipal().getName()); 195204cab3c22b4d75c866c95e2d2eec42e14cbd924Brian Carlstrom TestSSLContext.assertCertificateInKeyStore(s.client.getPeerPrincipal(), 196059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom s.s.c.serverKeyStore); 197f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 198ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 199ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 200ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getProtocol() { 201bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 202ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getProtocol()); 203ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals("NONE", s.invalid.getProtocol()); 204ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getProtocol()); 205ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getProtocol()); 206ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(s.server.getProtocol(), 207ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getProtocol()); 2089acacc36bafda869c6e9cc63786cdddd995ca96aBrian Carlstrom assertTrue(StandardNames.SSL_SOCKET_PROTOCOLS.contains(s.server.getProtocol())); 209f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 210ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 211ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 212ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getSessionContext() { 213bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 214ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 215ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.server.getSessionContext()); 216ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.client.getSessionContext()); 217059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom assertEquals(s.s.c.serverContext.getServerSessionContext(), 218ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.getSessionContext()); 219059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom assertEquals(s.s.c.clientContext.getClientSessionContext(), 220ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 221ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotSame(s.server.getSessionContext(), 222ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.getSessionContext()); 223f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 224ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 225ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 226ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValue() { 227bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 228ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom try { 229ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.getValue(null); 230e9505132a9a878aa77b0fb40a40dd55c9e6affe7Brian Carlstrom } catch (IllegalArgumentException expected) { 231ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 232ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue("BOGUS")); 233f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 234ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 235ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 236ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_getValueNames() { 237bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 238ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNotNull(s.invalid.getValueNames()); 239ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 240f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 241ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 242ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 243ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_invalidate() { 244bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 245f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom 246ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 247ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.invalidate(); 248ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 249ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getSessionContext()); 250ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 251ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 252ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.server.invalidate(); 253ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.server.isValid()); 254ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.server.getSessionContext()); 255ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 256ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 257ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.client.invalidate(); 258ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.client.isValid()); 259ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.client.getSessionContext()); 260f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom 261f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 262ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 263ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 264ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_isValid() { 265bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 266ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertFalse(s.invalid.isValid()); 267ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.server.isValid()); 268ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertTrue(s.client.isValid()); 269f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 270ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 271ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 272ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_putValue() { 273bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2748ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2758ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 276ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 277ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 278ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 279ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertSame(value, s.invalid.getValue(key)); 280ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 281ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 282f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 283ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 284ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom 285ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom public void test_SSLSession_removeValue() { 286bcfb325d5b1f9529b439cc0805a1c140521510f7Brian Carlstrom TestSSLSessions s = TestSSLSessions.create(); 2878ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String key = "KEY"; 2888ee2e66dc0ef38f4fbdf0fd649abc6e47876c9afBrian Carlstrom String value = "VALUE"; 289ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.putValue(key, value); 290ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(1, s.invalid.getValueNames().length); 291ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(key, s.invalid.getValueNames()[0]); 292ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom s.invalid.removeValue(key); 293ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertNull(s.invalid.getValue(key)); 294ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom assertEquals(0, s.invalid.getValueNames().length); 295f7aab022dcbfcd8f27b409ab92b4bca4a84d0b8aBrian Carlstrom s.close(); 296ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom } 297ebabb91c8c87ac2be2dca70ae343130f9755047fBrian Carlstrom} 298