使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密碼套件安裝在您的集群,連接到外部服務器。

這篇文章有用嗎?