提问者:小点点

对于第三方库或JDK和最佳实践,open自由配置中的sslDefault概念


我需要在server. xml中定义一个自定义的SSL配置,并将其作为默认使用在我的openfree服务器中。

在server. xml config中定义sslDefault有什么影响?这会覆盖JVM默认值,所有第三方库都将透明地使用此sslDefault吗?或者我们需要使用SSLContext sslContext=JSSEHelper.getInstance().getSSLContext("defaultSSLConfig",Collection.emptyMap(),null)(如https://openliberty.io/docs/latest/access-nosql-databases.html中所示)获取SSL配置并将其注入这些库中。

有什么最佳实践可以分享吗?


共1个答案

匿名用户

如果您配置transportSecurity-1.0功能,那么在server. xml中配置sslDefault将影响SSLContext.getDefault返回的内容,因此任何使用此功能的库都将获得配置。然而,使用SSLContext.getInstance方法之一的库不会,这是因为这会创建一个新的SSLContext实例,该实例将由调用init方法的库初始化。如果库调用init(null,null,null),那么它将使用JVM认为未调用SSLContext.setDefault的默认值进行初始化。

不同的库反应不同,我记得okhttp创建了自己的SSLContext并对其进行初始化,因此不会受到LibertysslDefault配置的影响,但其他库只使用默认值。