如何在Java 6中使用TLS 1.2

似乎Java 6支持TLS v1.0或更高版本,在Java 6中是否可以使用TLS 1.2?

也许Java 6的补丁或特定更新会对此提供支持?


小怪兽爱吃肉
浏览 2126回答 3
3回答

饮歌长啸

公开的Oracle Java 6版本不支持TLSv1.2。Java 6的付费发行版(EOL后)可能会发布。(更新 -TLSv1.1从更新111开始可用于Java 1.6;来源)与Oracle销售人员联系。其他替代方法是:使用替代的JCE实现,例如Bouncy Castle。如果您的平台可用,请使用IBM Java 6...。根据“ IBM SDK Java技术版修复程序以缓解POODLE安全漏洞(CVE-2014-3566)”:“ TLSv1.1和TLSv1.2仅可用于Java 6服务刷新10,Java 6.0.1服务刷新1(J9 VM2.6)和更高版本。但是,我建议升级到Java8。2013年2月对Java 6进行了停产销售,继续使用它存在潜在的风险。(告诉或提醒老板/客户。他们需要知道。)

慕尼黑的夜晚无繁华

您必须基于Bouncy Castle创建自己的SSLSocketFactory。使用完后,传递给通用HttpsConnextion以使用此定制的SocketFactory。1.首先:创建一个TLSConnectionFactory这里有一个提示:1.1扩展SSLConnectionFactory1.2覆盖此方法:@Override public Socket createSocket(Socket socket, final String host, int port, boolean arg3)该方法将调用下一个内部方法,1.3实现内部方法_createSSLSocket(host,tlsClientProtocol);在这里,您必须使用TlsClientProtocol创建一个Socket。诀窍是重写... startHandshake()方法,调用TlsClientProtocol private SSLSocket _createSSLSocket(final String host , final TlsClientProtocol tlsClientProtocol) {     return new SSLSocket() {           .... Override and implement SSLSocket methods,  particulary:             startHandshake() {             }         }重要说明:此处完整说明了如何使用TLS客户端协议的完整示例:使用BouncyCastle进行简单的HTTPS查询2.第二:在公共HTTPSConnection上使用此Customized SSLConnextionFactory。这个很重要 !在其他示例中,您可以看到网络,您可以看到硬编码的HTTP命令...。因此,使用自定义的SSLConnectionFactory,您仅需使用...  URL myurl = new URL( "http:// ...URL tha only Works in TLS 1.2);  HttpsURLConnection  con = (HttpsURLConnection )myurl.openConnection();  con.setSSLSocketFactory(new TSLSocketConnectionFactory());
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java