스프링 부트 버전 1.4.0.RELEASE에서 TLSv1.0을 사용하지 않으려합니다. 스프링 부트가 포함 된 임베디드 부두 버전 9.2.13.v20150730을 사용하고 있습니다.임베디드 부두가있는 v 1.4.0의 TLSv1.0 사용 안 함 v 9.2.13
스프링 부트 속성으로는 가능하지 않다고 생각합니다. 나는 다음을 시도했지만 TLSv1은 여전히 사용 가능합니다.
server.ssl.protocol TLS
server.ssl.enabled-protocols TLSv1.1,TLSv1.2
그래서 스프링 부트 자동 구성 코드를 확인했습니다. Jetty 용 SSLContext가 초기화되는 방법은 다음과 같습니다.
다음 configureSsl 메소드에서 factory.setExcludeProtocols 메소드 호출이 없습니다. SslContextFactory에는 setExcludeProtocols 메소드가 있습니다.
봄 부팅시 server.ssl.disabled-protocols 속성을 추가 할 수 있습니까? 또는 이미 TLSv1.0을 비활성화 할 수 있다면 알려 주시기 바랍니다.
/**
* Configure the SSL connection.
* @param factory the Jetty {@link SslContextFactory}.
* @param ssl the ssl details.
*/
protected void configureSsl(SslContextFactory factory, Ssl ssl) {
factory.setProtocol(ssl.getProtocol());
configureSslClientAuth(factory, ssl);
configureSslPasswords(factory, ssl);
factory.setCertAlias(ssl.getKeyAlias());
if (!ObjectUtils.isEmpty(ssl.getCiphers())) {
factory.setIncludeCipherSuites(ssl.getCiphers());
factory.setExcludeCipherSuites();
}
if (ssl.getEnabledProtocols() != null) {
factory.setIncludeProtocols(ssl.getEnabledProtocols());
}
if (getSslStoreProvider() != null) {
try {
factory.setKeyStore(getSslStoreProvider().getKeyStore());
factory.setTrustStore(getSslStoreProvider().getTrustStore());
}
catch (Exception ex) {
throw new IllegalStateException("Unable to set SSL store", ex);
}
}
else {
configureSslKeyStore(factory, ssl);
configureSslTrustStore(factory, ssl);
}
}