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

如何在Java 7中启用TLS 1.2

别永年
2023-03-14

我正在尝试在使用JBoss 6.4和Java 1.7的web应用程序中启用TLS 1.2。协议=TLSv1.2,在我的应用程序环境中,但它似乎不适合我。

我可以做些什么来启用TLS 1.2吗?

我写了一个简单的程序

context = SSLContext.getInstance("TLSv1.2");
context.init(null,null,null);
SSLContext.setDefault(context); 
SSLSocketFactory factory = (SSLSocketFactory)context.getSocketFactory();
SSLSocket socket = (SSLSocket)factory.createSocket();
protocols = socket.getEnabledProtocols();

在应用程序中运行此程序后,TLS 1.2被启用。我不想运行这个程序,但我想在应用程序启动期间直接启用它。有什么办法吗?

共有3个答案

齐朝明
2023-03-14

为java应用程序添加以下选项:

-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2  
阎德义
2023-03-14

您可以将Java7版本升级到1.70_131-b31

对于Oracle站点中的JRE 1.7.0_131-b31:

TLSv1.2和TLSv1.1现在默认在TLS客户端endpoint上启用。这与JDK 8版本中已经发生的行为类似。

丘华翰
2023-03-14

有很多建议,但我发现其中两个最常见。

我第一次尝试导出JAVA_OPTS="-Dhttps.protocols=SSLv3, TLSv1, TLSv1.1, TLSv1.2"在启动程序之前的命令行,但它不为我工作。

然后我在启动类构造函数中添加了以下代码,它对我有用。

try {
        SSLContext ctx = SSLContext.getInstance("TLSv1.2");
        ctx.init(null, null, null);
        SSLContext.setDefault(ctx);
} catch (Exception e) {
        System.out.println(e.getMessage());
}

坦率地说,我不知道详细为什么ctx.init(null, null, null);但是所有(SSL/TLS)对我来说都很好。

还有一个选项:System.setProperty(“https.protocols”,“SSLv3,TLSv1,TLSv1.1,TLSv1.2”) 。它也将进入代码,但我还没有尝试过。

 类似资料:
  • 我通过Macports在Mavericks上安装了maven3。它工作得很好,但使用的是Java1.6。我怎样才能改用Java7呢? 这两个java路径有什么区别? /系统/库/Java/JavaVirtualMachines

  • Java7编译器是如何处理多捕获块的?一个简单的实现是生成字节码,就好像存在多个catch块一样。然而,我从多个来源得到的信息表明,情况并非如此--处理多个异常类型的catch块在编译期间不会产生重复的字节码。 那么,它是如何工作的呢?是否有一个新的字节码指令告诉JVM关于多捕获块?

  • 问题内容: 尝试执行以下行时,仅显示最后两个语句(“ Here is some ERROR”和“ Here is some FATAL”),并且不显示前三个语句。我刚刚开始学习此主题,任何人都可以告诉为什么会这样呢? log4j.property有 问题答案: 您可能在项目中的某个地方有一个log4j.properties文件。在该文件中,您可以配置所需的调试输出级别。请参阅以下示例: 第一行将根

  • 问题内容: 我使用Flickr照片搜索API的JavaScript创建了一个演示。现在,我将其转换为AngularJs。我在互联网上搜索,发现下面的配置。 组态: 服务: 控制器: 问题答案: 你不知道 您请求的服务器必须实现CORS才能从您的网站访问权限中授予JavaScript。您的JavaScript无法授予自己访问其他网站的权限。

  • 问题内容: 标题说说我的问题。我需要将DTO包装到javascript方法回调中。目前,我应要求返回JSON。但是在Ajax中使用此问题,因为我将GET发送到其他域。当然还有治安警察。 我有创建附加提供的想法。有任何示例,链接或建议如何执行。 问题答案: RESTEasy中没有明确支持JSONP,但是在应用程序中启用JSONP的一种简单方法是编写Servlet过滤器。 这里有一些链接可以帮助您编写

  • 问题内容: 我正在尝试使用jquery提出跨源请求,但它一直被消息拒绝 XMLHttpRequest无法加载http:// …请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不能访问Origin…。 我正在使用flask,heroku和jquery 客户端代码如下所示: 在heroku方面,我正在使用flask,就像这样 问题答案: 当我部署到Heroku

  • 问题内容: 当我在MySQL中执行查询时,它返回一条错误消息,说明未启用InnoDB。当我单击存储引擎时,InnoDB被禁用。 如何启用InnoDB? 问题答案: 您需要在文件中启用它,然后重新启动服务器: http://dev.mysql.com/doc/refman/5.1/zh-CN/innodb- parameters.html#option_mysqld_innodb 或者,您可以在运行

  • 问题内容: 如何在xampp中启用curl? 我的PHP Twitter应用程序需要curl函数。但是未在XAMPP中启用它。如何启用它。我没有选择这样做的选择。 问题答案: 您必须修改xampp文件夹中的php.ini文件。需要更改三个不同位置的三个文件。 请按照以下步骤在Windows中使用XAMPP启用curl库: 步骤1: 浏览并打开以下3个文件 第2步: 通过删除分号(;)取消注释php