Polish
This commit is contained in:
parent
dcc21616a9
commit
d4b75edfbf
|
@ -274,10 +274,8 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
|
||||
@Test
|
||||
public void documentRoot() throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
addTestTxtFile(factory);
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
assertThat(getResponse(getLocalUrl("/test.txt")), equalTo("test"));
|
||||
|
@ -316,71 +314,41 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
}
|
||||
|
||||
protected final void testBasicSslWithKeyStore(String keyStore) throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore(keyStore);
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyPassword("password");
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(null, "password", keyStore));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder().loadTrustMaterial(null,
|
||||
new TrustSelfSignedStrategy()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
assertThat(getResponse(getLocalUrl("https", "/test.txt"), requestFactory),
|
||||
equalTo("test"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void pkcs12KeyStoreAndTrustStore() throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore("src/test/resources/test.p12");
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyStoreType("pkcs12");
|
||||
ssl.setTrustStore("src/test/resources/test.p12");
|
||||
ssl.setTrustStorePassword("secret");
|
||||
ssl.setTrustStoreType("pkcs12");
|
||||
ssl.setClientAuth(ClientAuth.NEED);
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(ClientAuth.NEED, null, "src/test/resources/test.p12",
|
||||
"src/test/resources/test.p12"));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
KeyStore keyStore = KeyStore.getInstance("pkcs12");
|
||||
keyStore.load(new FileInputStream(new File("src/test/resources/test.p12")),
|
||||
"secret".toCharArray());
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder()
|
||||
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
|
||||
.loadKeyMaterial(keyStore, "secret".toCharArray()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
assertThat(getResponse(getLocalUrl("https", "/test.txt"), requestFactory),
|
||||
equalTo("test"));
|
||||
}
|
||||
|
@ -388,39 +356,22 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
@Test
|
||||
public void sslNeedsClientAuthenticationSucceedsWithClientCertificate()
|
||||
throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore("src/test/resources/test.jks");
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyPassword("password");
|
||||
ssl.setClientAuth(ClientAuth.NEED);
|
||||
ssl.setTrustStore("src/test/resources/test.jks");
|
||||
ssl.setTrustStorePassword("secret");
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(ClientAuth.NEED, "password", "src/test/resources/test.jks"));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
keyStore.load(new FileInputStream(new File("src/test/resources/test.jks")),
|
||||
"secret".toCharArray());
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder()
|
||||
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
|
||||
.loadKeyMaterial(keyStore, "password".toCharArray()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
assertThat(getResponse(getLocalUrl("https", "/test.txt"), requestFactory),
|
||||
equalTo("test"));
|
||||
}
|
||||
|
@ -428,73 +379,40 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
@Test(expected = IOException.class)
|
||||
public void sslNeedsClientAuthenticationFailsWithoutClientCertificate()
|
||||
throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore("src/test/resources/test.jks");
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyPassword("password");
|
||||
ssl.setClientAuth(ClientAuth.NEED);
|
||||
ssl.setTrustStore("src/test/resources/test.jks");
|
||||
ssl.setTrustStorePassword("secret");
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(ClientAuth.NEED, "password", "src/test/resources/test.jks"));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder().loadTrustMaterial(null,
|
||||
new TrustSelfSignedStrategy()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
getResponse(getLocalUrl("https", "/test.txt"), requestFactory);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void sslWantsClientAuthenticationSucceedsWithClientCertificate()
|
||||
throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore("src/test/resources/test.jks");
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyPassword("password");
|
||||
ssl.setClientAuth(ClientAuth.WANT);
|
||||
ssl.setTrustStore("src/test/resources/test.jks");
|
||||
ssl.setTrustStorePassword("secret");
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(ClientAuth.WANT, "password", "src/test/resources/test.jks"));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||
keyStore.load(new FileInputStream(new File("src/test/resources/test.jks")),
|
||||
"secret".toCharArray());
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder()
|
||||
.loadTrustMaterial(null, new TrustSelfSignedStrategy())
|
||||
.loadKeyMaterial(keyStore, "password".toCharArray()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
assertThat(getResponse(getLocalUrl("https", "/test.txt"), requestFactory),
|
||||
equalTo("test"));
|
||||
}
|
||||
|
@ -502,43 +420,62 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
@Test
|
||||
public void sslWantsClientAuthenticationSucceedsWithoutClientCertificate()
|
||||
throws Exception {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
|
||||
AbstractEmbeddedServletContainerFactory factory = getFactory();
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setKeyStore("src/test/resources/test.jks");
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyPassword("password");
|
||||
ssl.setClientAuth(ClientAuth.WANT);
|
||||
ssl.setTrustStore("src/test/resources/test.jks");
|
||||
ssl.setTrustStorePassword("secret");
|
||||
factory.setSsl(ssl);
|
||||
|
||||
addTestTxtFile(factory);
|
||||
factory.setSsl(getSsl(ClientAuth.WANT, "password", "src/test/resources/test.jks"));
|
||||
this.container = factory.getEmbeddedServletContainer();
|
||||
this.container.start();
|
||||
|
||||
SSLConnectionSocketFactory socketFactory = new SSLConnectionSocketFactory(
|
||||
new SSLContextBuilder().loadTrustMaterial(null,
|
||||
new TrustSelfSignedStrategy()).build());
|
||||
|
||||
HttpClient httpClient = HttpClients.custom().setSSLSocketFactory(socketFactory)
|
||||
.build();
|
||||
|
||||
HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
|
||||
httpClient);
|
||||
|
||||
assertThat(getResponse(getLocalUrl("https", "/test.txt"), requestFactory),
|
||||
equalTo("test"));
|
||||
}
|
||||
|
||||
private Ssl getSsl(ClientAuth clientAuth, String keyPassword, String keyStore) {
|
||||
return getSsl(clientAuth, keyPassword, keyStore, null);
|
||||
}
|
||||
|
||||
private Ssl getSsl(ClientAuth clientAuth, String keyPassword, String keyStore,
|
||||
String trustStore) {
|
||||
Ssl ssl = new Ssl();
|
||||
ssl.setClientAuth(clientAuth);
|
||||
if (keyPassword != null) {
|
||||
ssl.setKeyPassword(keyPassword);
|
||||
}
|
||||
if (keyStore != null) {
|
||||
ssl.setKeyStore(keyStore);
|
||||
ssl.setKeyStorePassword("secret");
|
||||
ssl.setKeyStoreType(getStoreType(keyStore));
|
||||
}
|
||||
if (trustStore != null) {
|
||||
ssl.setTrustStore(trustStore);
|
||||
ssl.setTrustStorePassword("secret");
|
||||
ssl.setTrustStoreType(getStoreType(trustStore));
|
||||
}
|
||||
return ssl;
|
||||
}
|
||||
|
||||
private String getStoreType(String keyStore) {
|
||||
return (keyStore.endsWith(".p12") ? "pkcs12" : null);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void defaultSessionTimeout() throws Exception {
|
||||
assertThat(getFactory().getSessionTimeout(), equalTo(30 * 60));
|
||||
}
|
||||
|
||||
private void addTestTxtFile(AbstractEmbeddedServletContainerFactory factory)
|
||||
throws IOException {
|
||||
FileCopyUtils.copy("test",
|
||||
new FileWriter(this.temporaryFolder.newFile("test.txt")));
|
||||
factory.setDocumentRoot(this.temporaryFolder.getRoot());
|
||||
}
|
||||
|
||||
protected String getLocalUrl(String resourcePath) {
|
||||
return getLocalUrl("http", resourcePath);
|
||||
}
|
||||
|
@ -625,4 +562,5 @@ public abstract class AbstractEmbeddedServletContainerFactoryTests {
|
|||
return this.initCount;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue