use of cn.taketoday.framework.web.server.Ssl in project today-framework by TAKETODAY.
the class AbstractReactiveWebServerFactoryTests method sslWantsClientAuthenticationSucceedsWithoutClientCertificate.
@Test
void sslWantsClientAuthenticationSucceedsWithoutClientCertificate() {
Ssl ssl = new Ssl();
ssl.setClientAuth(Ssl.ClientAuth.WANT);
ssl.setKeyStore("classpath:test.jks");
ssl.setKeyPassword("password");
ssl.setTrustStore("classpath:test.jks");
ssl.setKeyStorePassword("secret");
testClientAuthSuccess(ssl, buildTrustAllSslConnector());
}
use of cn.taketoday.framework.web.server.Ssl in project today-framework by TAKETODAY.
the class AbstractServletWebServerFactoryTests method sslWithInvalidAliasFailsDuringStartup.
@Test
void sslWithInvalidAliasFailsDuringStartup() {
AbstractServletWebServerFactory factory = getFactory();
Ssl ssl = getSsl(null, "password", "test-alias-404", "src/test/resources/test.jks");
factory.setSsl(ssl);
ServletRegistrationBean<ExampleServlet> registration = new ServletRegistrationBean<>(new ExampleServlet(true, false), "/hello");
ThrowingCallable call = () -> factory.getWebServer(registration).start();
assertThatSslWithInvalidAliasCallFails(call);
}
use of cn.taketoday.framework.web.server.Ssl in project today-framework by TAKETODAY.
the class AbstractServletWebServerFactoryTests method getSsl.
private Ssl getSsl(String cert, String privateKey) {
Ssl ssl = new Ssl();
ssl.setClientAuth(ClientAuth.NEED);
ssl.setCertificate(cert);
ssl.setCertificatePrivateKey(privateKey);
ssl.setTrustCertificate(cert);
ssl.setKeyStorePassword("secret");
return ssl;
}
use of cn.taketoday.framework.web.server.Ssl in project today-framework by TAKETODAY.
the class SslServerCustomizerTests method configureSslWhenSslIsEnabledWithNoKeyStoreThrowsWebServerException.
@Test
void configureSslWhenSslIsEnabledWithNoKeyStoreThrowsWebServerException() {
Ssl ssl = new Ssl();
SslServerCustomizer customizer = new SslServerCustomizer(null, ssl, null, null);
assertThatExceptionOfType(Exception.class).isThrownBy(() -> customizer.configureSsl(new SslContextFactory.Server(), ssl, null)).satisfies((ex) -> {
assertThat(ex).isInstanceOf(WebServerException.class);
assertThat(ex).hasMessageContaining("Could not load key store 'null'");
});
}
use of cn.taketoday.framework.web.server.Ssl in project today-framework by TAKETODAY.
the class SslServerCustomizerTests method keyStoreProviderIsUsedWhenCreatingKeyStore.
@Test
void keyStoreProviderIsUsedWhenCreatingKeyStore() {
Ssl ssl = new Ssl();
ssl.setKeyPassword("password");
ssl.setKeyStore("src/test/resources/test.jks");
ssl.setKeyStoreProvider("com.example.KeyStoreProvider");
SslServerCustomizer customizer = new SslServerCustomizer(ssl, null, null);
assertThatIllegalStateException().isThrownBy(() -> customizer.getKeyManagerFactory(ssl, null)).withCauseInstanceOf(NoSuchProviderException.class).withMessageContaining("com.example.KeyStoreProvider");
}
Aggregations