【问题标题】:Java 6 or 7 HTTPS get post with TLSv1.2Java 6 或 7 HTTPS 使用 TLSv1.2 发布
【发布时间】:2016-07-18 08:18:18
【问题描述】:

我在通过 java 使用 tlsv1.2 连接 https get/post 时遇到问题。

有人有指南或一些有用的例子吗? 我通过密钥库上的密码设置的 keytool 私钥和公钥导入。 我使用了 SSLSocketFactory 但我只收到错误 https(不是握手)。 我在 jvm -Dhttps.protocols="TLSv1.2" 中添加了参数以仅启用 TLS 1.2 版。 但是什么都没有……

请提供一个示例或导入证书的指南以实现该类并使用 SSLSocketFactory。

非常感谢您的帮助...

【问题讨论】:

  • 我没有握手错误...我通过对等 http 错误 403 关闭连接

标签: java sslsocketfactory


【解决方案1】:

Java 6 不支持 tls1.2 link,如果使用 java 6 则无法启用 TLS1.2。

【讨论】:

    【解决方案2】:

    我希望这会奏效

    InputStream is = new FileInputStream("cert.crt");
    
    CertificateFactory cf = CertificateFactory.getInstance("X.509");
    X509Certificate caCert = (X509Certificate)cf.generateCertificate(is);
    
    TrustManagerFactory tmf = TrustManagerFactory
        .getInstance(TrustManagerFactory.getDefaultAlgorithm());
    KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
    ks.load(null); // You don't need the KeyStore instance to come from a file.
    ks.setCertificateEntry("caCert", caCert);
    
    tmf.init(ks);
    
    SSLContext sslContext = SSLContext.getInstance("TLS");
    sslContext.init(null, tmf.getTrustManagers(), null);
    

    并创建SocketFactory

    SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1.2" }, null,
                SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
    

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题,最后基于 BouncyCasttle Provider 构建了自己的“TLSConnectionFactory”。代码是shared here

      那么,以后你就可以使用这个TLSConnectionFactory这个简单快捷的方法了:

           String httpsURL =  xxxxxxxxxx
          URL myurl = new URL(httpsURL);      
          HttpsURLConnection  con = (HttpsURLConnection )myurl.openConnection();
          con.setSSLSocketFactory(new TSLSocketConnectionFactory());   
          InputStream ins = con.getInputStream();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-12-20
        • 2017-07-29
        • 2015-04-09
        • 1970-01-01
        • 2019-04-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多