将 BoringSSL 与 Hazelcast IMDG 一起使用的正确配置设置是什么?
What is the correct config settings to use BoringSSL with Hazelcast IMDG?
我是 运行 Hazelcast 作为缓存服务,看来我可以用 BoringSSL 提高性能而且这更简单,因为我不需要安装额外的软件
正在阅读他们的文档:https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html
我看到我只需要两个罐子,但我没有看到任何配置设置。我是否仅将 Java SSL 设置与 BasicSSLContextFactory
一起使用?
我知道我可以使用此处提到的 com.hazelcast.nio.ssl.BasicSSLContextFactory
https://docs.hazelcast.com/imdg/4.1.2/security/tls-ssl.html#tlsssl-for-hazelcast-members 来实现 Java SSL
他们还提供 com.hazelcast.nio.ssl.OpenSSLEngineFactory
用于 OpenSSL 集成 (https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html#using-openssl)
BoringSSL 是使用 OpenSSL 的库。所以 this link 是一个很好的来源。然而,如果你没有绑定到旧的 Java 版本,那么现在 Java TLS 比 OpenSSL 更快,所以不需要 BoringSSL。
由于 SSL 是 Hazelcast Enterprise 的一项功能,如果您需要更详细的帮助,请随时提出 Hazelcast Zendesk Ticket。
从 Hazelcast 4.0 版开始,决定使用哪个 TLS 引擎的逻辑如下:
- 当 Java 版本 <11 和 netty-tcnative 包(包装 OpenSSL、BoringSSL、.. .) 在类路径上:使用
OpenSSLEngineFactory
;
- 在所有其他情况下:使用
BasicSSLContextFactory
.
当然,您不需要使用默认值,但您可以使用您选择的工厂指定 factory-class-name
配置属性。
您可以在 OpenSSLEngineFactory
中使用与 BasicSSLContextFactory
中相同的属性(例如 keyStore*
、trustStore*
)。然而,配置 OpenSSLEngineFactory
的本机方法是使用 keyFile
和文档 section about OpenSSL.
中提到的其他属性
为什么 Java 11 检查
如上所述,OpenSSLEngineFactory
默认情况下不用于 Java 11 和更新版本。该决定基于 Hazelcast 性能测试,该测试显示了与 Java 8 一起使用时 OpenSSL 的性能优势,但与 Java 11(或更新版本)一起使用时则没有。
以下是这些测试(2019 年执行)的吞吐量图表。
TLSv1.2
TLSv1.3
我是 运行 Hazelcast 作为缓存服务,看来我可以用 BoringSSL 提高性能而且这更简单,因为我不需要安装额外的软件
正在阅读他们的文档:https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html
我看到我只需要两个罐子,但我没有看到任何配置设置。我是否仅将 Java SSL 设置与 BasicSSLContextFactory
一起使用?
我知道我可以使用此处提到的 com.hazelcast.nio.ssl.BasicSSLContextFactory
https://docs.hazelcast.com/imdg/4.1.2/security/tls-ssl.html#tlsssl-for-hazelcast-members 来实现 Java SSL
他们还提供 com.hazelcast.nio.ssl.OpenSSLEngineFactory
用于 OpenSSL 集成 (https://docs.hazelcast.com/imdg/4.1.2/security/integrating-openssl.html#using-openssl)
BoringSSL 是使用 OpenSSL 的库。所以 this link 是一个很好的来源。然而,如果你没有绑定到旧的 Java 版本,那么现在 Java TLS 比 OpenSSL 更快,所以不需要 BoringSSL。
由于 SSL 是 Hazelcast Enterprise 的一项功能,如果您需要更详细的帮助,请随时提出 Hazelcast Zendesk Ticket。
从 Hazelcast 4.0 版开始,决定使用哪个 TLS 引擎的逻辑如下:
- 当 Java 版本 <11 和 netty-tcnative 包(包装 OpenSSL、BoringSSL、.. .) 在类路径上:使用
OpenSSLEngineFactory
; - 在所有其他情况下:使用
BasicSSLContextFactory
.
当然,您不需要使用默认值,但您可以使用您选择的工厂指定 factory-class-name
配置属性。
您可以在 OpenSSLEngineFactory
中使用与 BasicSSLContextFactory
中相同的属性(例如 keyStore*
、trustStore*
)。然而,配置 OpenSSLEngineFactory
的本机方法是使用 keyFile
和文档 section about OpenSSL.
为什么 Java 11 检查
如上所述,OpenSSLEngineFactory
默认情况下不用于 Java 11 和更新版本。该决定基于 Hazelcast 性能测试,该测试显示了与 Java 8 一起使用时 OpenSSL 的性能优势,但与 Java 11(或更新版本)一起使用时则没有。
以下是这些测试(2019 年执行)的吞吐量图表。
TLSv1.2
TLSv1.3