使GCM密码套件

使AES-GCM加密(GCM密码套件)使用SSL连接到其他集群。解决javax.net.ssl.SSLHandshakeException错误。

写的xin.wang

去年发表在:2022年12月8日

使用砖砖集群运行时9.1 LTS下面没有GCM(伽罗瓦/计数器模式)密码套件默认启用。

您必须启用GCM密码套件集群连接到外部服务器上,需要GCM密码套件。

删除

信息

本文适用于集群使用砖运行时LTS LTS 7.3和9.1。砖上面运行时10.4 LTS和GCM密码套件默认启用。


验证所需的密码套件

使用nmap工具来验证密码组合所需的外部服务器。

% sh nmap,脚本ssl-enum-ciphers - p <口> <主机名>
删除

请注意

如果nmap没有安装,运行sudo apt-get安装- y nmap将它安装在您的集群。

创建一个init脚本启用GCM密码套件

使用示例代码创建一个init脚本,使集群GCM密码套件。

% python dbutils.fs.put (“/ < path-to-init-script > / enable-gcm。sh”、“”“# !/bin/bash sed - i ' s / GCM / / g /砖/ / dbconf / java /额外的火花。安全”“”,真的)
% scala dbutils.fs.put (“/ < path-to-init-script > / enable-gcm。sh”、“”“# !/bin/bash sed - i ' s / GCM / / g /砖/ / dbconf / java /额外的火花。安全”“”,真的)

记得init脚本的路径。你需要它在配置集群。

用init脚本配置集群

按照文档来配置一个集群级init脚本(AWS|Azure|GCP)。

您必须指定init脚本的路径。

在配置init脚本之后,重新启动集群。

启用验证GCM密码套件

这个示例代码查询所有支持的密码套件的集群,然后打印输出。

% scala进口java.util.Map;进口java.util.TreeMap;进口javax.net.ssl.SSLServerSocketFactory进口javax.net.ssl._ SSLContext.getDefault.getDefaultSSLParameters.getProtocols.foreach println () SSLContext.getDefault.getDefaultSSLParameters.getCipherSuites.foreach println ()

如果启用了GCM密码套件,你可以看到以下输出中列出AES-GCM密码。

TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 TLS_RSA_WITH_AES_256_GCM_SHA384 TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 TLS_RSA_WITH_AES_128_GCM_SHA256 TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256

连接到外部服务器

一旦你确认GCM密码套件安装在您的集群,连接到外部服务器。

这篇文章有用吗?