当前位置: 首页 > 知识库问答 >
问题:

建立连接时出错:net::ERR_SSL_VERSION_或_CIPHER_不匹配

缪坚诚
2023-03-14

我已经按照Digicert在下面链接上提供的说明在服务器上安装了SSL/TLS证书。https://www.digicert.com/ssl-certificate-installation-java.htm

还定义了TrustManager,但仍然无法建立安全连接。我收到连接失败错误,原因是“连接建立错误:net::ERR_SSL_VERSION_或_CIPHER_不匹配”

下面是我添加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;
    }
}

共有1个答案

李疏珂
2023-03-14

在初始化SSLContext时,我使用KeyManager而不是TrustManager实现了这一点。下面是代码供您参考。

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;
    }
}
 类似资料:
  • 我是非常新的WordPress。我将数据上传到cboard,但是当我试图借用链接来显示网站时,当我查看错误日志时,我得到了这条消息。 建立数据库连接时出错 有以下两条错误消息。我希望有人能帮助我。 PHP警告:require(/home/../public_html/wp includes/load.PHP):无法打开流:在/home/…中没有这样的文件或目录/公共html/wp设置。php第19

  • 问题内容: 我有一个在Docker 1.7.0上的RHEL 7上运行的Docker容器。在此容器中运行的程序侦听端口5000上的TCP连接。在我的Dockerfile中,输入句子EXPOSE 5000,然后使用以下命令运行容器: 当我在主机上执行netstat时,我看到LISTEN套接字: 我可以通过连接端口5000上的主机IP地址来连接到应用程序,然后我发送到应用程序的数据就会到达。我知道这一点

  • SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 . 上一页: SQLAlchemy 1.4/2.0教程 |下一步: |next| 建立连接-引擎 任何SQLAlchemy应用程序的开始都是一个名为 Engine . 此对象充当连接到特定数据库的中心源,提供工厂和称为 connection pool 对于这些数据库连接。引擎通常是一个只为

  • 设备串口和OBLOQ串口在长时间不进行数据通信后可能会断开连接,通过这条指令可以让设备和OBLOQ之间保持一定频率的数据交换。 请求方式: "|1|3|2000|\r" 或者 "|1|3|-2|\r" 参数: 2000 设置心跳数据发送频率,单位:毫秒,2000表示2秒钟OBLOQ向通信的的设备发送一次数据 -2 参数为负数表示OBLOQ停止发送数据 返回值: "|1|3|\r" Arduino样

  • 当连接到远程主机以设置远程SSH连接时,我得到以下错误。

  • 我们试图在给定的节点上启动多个独立的kafka hdfs连接器。 对于每个连接器,我们分别将和设置为不同的端口和路径。 也是Kafka经纪人JMX港是@ 9999。 当我启动 kafka 独立连接器时,出现错误 错误:代理引发异常:java.rmi.server。ExportException:端口已在使用:9999;嵌套异常是:java.net。BindException:地址已在使用中(绑定失