小编Pan*_*ays的帖子

如何强制java服务器只接受tls 1.2并拒绝tls 1.0和tls 1.1连接

我有一个在java 7上运行的https Web服务.我需要进行更改,以便此服务只接受tls1.2连接并拒绝ssl3,tls1.0和tls1.1.

我添加了以下java参数,以便tls1.2具有最高优先级.

-Dhttps.protocols=TLSv1.2
Run Code Online (Sandbox Code Playgroud)

但它也接受来自java客户端的tls1.0连接.如果客户端也使用上面的java参数运行,则连接为tls1.2但如果客户端在没有此参数的情况下运行,则连接为tls1.0.

我在jdk/jre/lib/security文件夹中的java.security文件中做了一些游戏.

我目前有以下禁用的算法:

jdk.certpath.disabledAlgorithms= MD2, MD4, MD5, SHA224, DSA, EC keySize < 256, RSA keySize < 2048, SHA1 keysize < 224
jdk.tls.disabledAlgorithms=DSA, DHE, EC keySize < 256, RSA keySize < 2048, SHA1 keysize < 224
Run Code Online (Sandbox Code Playgroud)

我正在使用java 7,更新79.我不倾向于拦截每个连接并检查tls版本.

我的服务器证书是使用带有RSA算法的MD5生成的2048位.

如果禁用的算法列表使用RSA代替RSA keySize <2048,则会收到SSLHandShakeError,并显示错误消息:没有共同的密码套件.

我的测试程序从以下URL运行http服务器:http: //www.herongyang.com/JDK/HTTPS-HttpsEchoer-Better-HTTPS-Server.html

请帮助如何使java只接受tls 1.2连接.

java security ssl https

20
推荐指数
1
解决办法
5万
查看次数

spring boot 集成测试 - 数据库未使用 @WebMvcTest 自动装配

我有这个 sprig 启动(版本 1.5.6)应用程序,它使用以下内容:

  • spring boot starter 数据 jpa(jpa 存储库和实体)
  • spring boot starter data gemfire(无存储库或实体)
  • spring boot starter data rest(用于 HAL 支持)

现在,我正在为此应用程序创建单元测试。在一个测试用例中,我有以下注释:

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT, properties = { "spring.cloud.enabled=false" })
Run Code Online (Sandbox Code Playgroud)

该测试正确初始化 jpa 存储库,我能够对其进行测试。

然后我进行了另一个带有以下注释的测试:

@RunWith(SpringRunner.class)
@WebMvcTest(MyRestController.class)
Run Code Online (Sandbox Code Playgroud)

此测试设置 Mockmvc,但不会初始化 JPA 存储库。它只初始化配置的MVC部分。但是我也需要初始化 JPA 存储库。我使用 data.sql 文件设置了测试数据,该文件作为内存 H2 数据库加载。我得到的错误是:

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'entityManagerFactory' available
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多没有解决的事情:

  • 使用这两种注释不起作用,因为该类只能有一个“BootstrapWith”注释。
  • @EnableJpaRepositories 不起作用
  • @AutoConfigureTestDatabase 不起作用

在上下文初始化时,我确实看到了以下内容:

.s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
Run Code Online (Sandbox Code Playgroud)

现在,由于 spring 能够在第一个测试中自动装配 jpa 存储库并且它在应用程序中运行良好,我认为它也应该能够在 webMvc 测试用例中自动装配存储库。 …

java spring integration-testing jpa spring-boot

3
推荐指数
1
解决办法
4699
查看次数

标签 统计

java ×2

https ×1

integration-testing ×1

jpa ×1

security ×1

spring ×1

spring-boot ×1

ssl ×1