List of usage examples for org.bouncycastle.jsse.provider BouncyCastleJsseProvider BouncyCastleJsseProvider
public BouncyCastleJsseProvider()
From source file:org.apache.cxf.systest.https.clientauth.ClientAuthTest.java
License:Apache License
@org.junit.Test public void testBouncyCastleProvider() throws Exception { // TODO There seems to be a bug with BC 1.60 + JDK 11 Assume.assumeFalse(JavaUtils.isJava11Compatible()); try {//from www . j av a2s. c o m Security.addProvider(new BouncyCastleProvider()); Security.addProvider(new BouncyCastleJsseProvider()); URL url = SOAPService.WSDL_LOCATION; SOAPService service = new SOAPService(url, SOAPService.SERVICE); assertNotNull("Service is null", service); // Set up (shared) KeyManagers/TrustManagers X509TrustManager trustManager = new NoOpX509TrustManager(); TrustManager[] trustManagers = new TrustManager[1]; trustManagers[0] = trustManager; KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()); try (InputStream inputStream = ClassLoaderUtils.getResourceAsStream("keymanagers.jks", this.getClass())) { KeyStore keyStore = KeyStore.getInstance("JKS"); keyStore.load(inputStream, "password".toCharArray()); kmf.init(keyStore, "password".toCharArray()); } KeyManager[] keyManagers = kmf.getKeyManagers(); // First call to PORT using Morpit TLSClientParameters tlsParams = new TLSClientParameters(); tlsParams.setJsseProvider(new BouncyCastleJsseProvider().getName()); tlsParams.setKeyManagers(keyManagers); tlsParams.setCertAlias("morpit"); tlsParams.setTrustManagers(trustManagers); tlsParams.setDisableCNCheck(true); Greeter port = service.getHttpsPort(); assertNotNull("Port is null", port); updateAddressPort(port, PORT); Client client = ClientProxy.getClient(port); HTTPConduit http = (HTTPConduit) client.getConduit(); http.setTlsClientParameters(tlsParams); assertEquals(port.greetMe("Kitty"), "Hello Kitty"); ((java.io.Closeable) port).close(); } finally { Security.removeProvider(new BouncyCastleJsseProvider().getName()); Security.removeProvider(new BouncyCastleProvider().getName()); } }