Ich verwende PEM -basierte SSL -Bündel im Federschuh für MTLS -APIs: < /p>
spring.ssl.bundle.pem.server.reload-on-update=true
spring.ssl.bundle.pem.server.keystore.certificate=/etc/spring/ssl/server.crt
spring.ssl.bundle.pem.server.keystore.private-key=/etc/spring/ssl/server.key
spring.ssl.bundle.pem.server.truststore.certificate=/etc/spring/ssl/rootCA.crt
# configure server to use "server" ssl bundle
server.port=8443
server.ssl.bundle=server
server.ssl.client-auth=need
< /code>
Ich möchte, dass einige API-Endpunkte ohne MTLs mit einseitigen TLs zugänglich sind. Für z.B. Für HealthCheck -Endpunkte. Ich erstelle also einen weiteren Tomcat -Anschluss auf Port 8444 für die TLS -Verbindung. Dies ist die @Configuration -Datei für Tomcat: < /p>
@Configuration
public class TomcatConnectorConfig {
private int tlsPort = 8444;
private final SSLContext sslContext;
public TomcatConnectorConfig(SSLContext sslContext) {
this.sslContext = sslContext;
}
@Bean
public TomcatServletWebServerFactory servletContainer(SSLContext sslContext) {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addAdditionalTomcatConnectors(createTlsConnector(sslContext));
return factory;
}
private Connector createTlsConnector(SSLContext sslContext) {
// Create a new connector using the default HTTPS protocol
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setPort(tlsPort);
connector.setSecure(true);
connector.setScheme("https");
// Create a new SSLHostConfig instance for this connector
SSLHostConfig sslHostConfig = new SSLHostConfig();
sslHostConfig.setSslProtocol("TLS"); // or "TLSv1.2" etc.
SSLHostConfigCertificate certificate = new SSLHostConfigCertificate(sslHostConfig, SSLHostConfigCertificate.Type.RSA);
certificate.setSslContext(sslContext.getDefault()); //This is a mismatch
sslHostConfig.addCertificate(certificate);
// Add the SSLHostConfig to the connector
connector.addSslHostConfig(sslHostConfig);
return connector;
}
< /code>
}
Ich versuche, SSLContext von SSL Bundle zu verwenden: < /p>
@Configuration
public class SslConfiguration {
@Bean
public SSLContext sslContext(SslBundles sslBundles) {
return sslBundles.getBundle("client").createSslContext();
}
}
< /code>
Wie verwende ich dieses SSL -Bundle im Tomcat -Anschluss? Ich möchte dasselbe PEM -Bundle mit diesem Port auch
Verwenden Sie SSL -Bundle, um einen anderen Tomcat -Anschluss zu erstellen ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post