()
| 75 | } |
| 76 | |
| 77 | public int start() { |
| 78 | return TestUtils.unchecked(() -> { |
| 79 | SSLContext sslContext = SSLContext.getInstance("TLS"); |
| 80 | TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); |
| 81 | tmf.init(KeyStore.getInstance(KeyStore.getDefaultType())); |
| 82 | |
| 83 | KeyStore myKeyStore = KeyStore.getInstance(KeyStore.getDefaultType()); |
| 84 | myKeyStore.load(TlsProxy.class.getResourceAsStream(keystore), keystorePassword); |
| 85 | |
| 86 | KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); |
| 87 | kmf.init(myKeyStore, keystorePassword); |
| 88 | sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), new SecureRandom()); |
| 89 | SSLServerSocketFactory factory = sslContext.getServerSocketFactory(); |
| 90 | serverSocket = factory.createServerSocket(); |
| 91 | serverSocket.bind(null); |
| 92 | |
| 93 | acceptorThread = new Thread(() -> acceptorLoop(serverSocket)); |
| 94 | acceptorThread.start(); |
| 95 | return serverSocket.getLocalPort(); |
| 96 | }); |
| 97 | } |
| 98 | |
| 99 | public synchronized void stop() { |
| 100 | shutdownRequested = true; |
no test coverage detected