2014-12-23 7 views
0

Digicert에서 제공하는 지침에 따라 서버에 SSL/TLS 인증서를 설치했습니다. https://www.digicert.com/ssl-certificate-installation-java.htm연결 설정 오류 : net :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH

또한 TrustManager를 정의했지만 여전히 보안 연결을 설정할 수 없습니다. "연결 설정 오류 : net :: ERR_SSL_VERSION_OR_CIPHER_MISMATCH"오류로 인해 연결이 실패했습니다.

다음은 SSL 지원을 추가하는 코드입니다.

private static void addSSLSupport(DefaultIoFilterChainBuilder chain) 
     throws Exception { 
    try { 
     KeyStore keyStore=KeyStore.getInstance("JKS"); 
     char[] passphrase= {'t','e','s','t','s','s','l'}; 
     keyStore.load(new FileInputStream("/home/ec2-user/digicert/mydomain.jks"),passphrase); 
     Util.logInfo("Key Store loaded"); 
     SSLContext ctx=SSLContext.getInstance("TLS"); 
     TrustManagerFactory trustFactory=TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); 
     trustFactory.init(keyStore); 
     X509TrustManager defaultTrustManager = (X509TrustManager) trustFactory.getTrustManagers()[0]; 
     ctx.init(null, trustFactory.getTrustManagers(), null);    
     SslFilter sslFilter = new SslFilter(ctx); 
     chain.addLast("sslFilter", sslFilter); 
     Util.logInfo("SSL ON"); 
    }catch(Exception e){ 
     Util.logError(e.toString()); 
     throw e; 
    } 
} 

답변

0

SSLContext를 초기화하는 동안 TrustManager 대신 KeyManager를 사용하여 작업했습니다. 다음은 참조 용 코드입니다.

private static void addSSLSupport(DefaultIoFilterChainBuilder chain) 
     throws Exception { 
    try { 
     KeyStore keyStore=KeyStore.getInstance("JKS"); 
     char[] passphrase= {'t','e','s','t','s','s','l'}; 
     keyStore.load(new FileInputStream("/root/mydomain.jks"),passphrase); 
     Util.logInfo("Key Store loaded"); 
     KeyManagerFactory kmf = KeyManagerFactory 
      .getInstance(KEY_MANAGER_FACTORY_ALGORITHM); 
     kmf.init(keyStore, passphrase); 
     SSLContext ctx=SSLContext.getInstance("TLS"); 
     ctx.init(kmf.getKeyManagers(), null, null);    
     SslFilter sslFilter = new SslFilter(ctx); 
     chain.addLast("sslFilter", sslFilter); 
     Util.logInfo("SSL ON"); 
    }catch(Exception e){ 
     Util.logError(e.toString()); 
     throw e; 
    } 
}