【发布时间】:2014-12-23 04:53:06
【问题描述】:
我已按照 Digicert 在以下链接中提供的说明在服务器上安装了 SSL/TLS 证书。 https://www.digicert.com/ssl-certificate-installation-java.htm
还定义了 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;
}
}
【问题讨论】:
标签: ssl apache-mina