Java 金鑰儲存庫與信任儲存庫¶
用於 TLS 的 Java 金鑰儲存庫檔案¶
當使用 Kerberos 和 LDAP 驗證時,必須透過 HTTPS 存取 Presto 協調器。Presto 協調器使用 Java 金鑰儲存庫 檔案來進行 TLS 設定。這些金鑰是使用 keytool 產生,並儲存在 Presto 協調器的 Java 金鑰儲存庫檔案中。
keytool 命令列中的別名應與 Presto 協調器將使用的主體相符。
系統會提示您輸入名字和姓氏。請使用憑證中將使用的通用名稱。在此情況下,它應為 Presto 協調器的不完整主機名稱。在以下範例中,您可以在確認資訊正確的提示中看到這一點
keytool -genkeypair -alias presto -keyalg RSA -keystore keystore.jks
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: presto-coordinator.example.com
What is the name of your organizational unit?
[Unknown]:
What is the name of your organization?
[Unknown]:
What is the name of your City or Locality?
[Unknown]:
What is the name of your State or Province?
[Unknown]:
What is the two-letter country code for this unit?
[Unknown]:
Is CN=presto-coordinator.example.com, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct?
[no]: yes
Enter key password for <presto>
(RETURN if same as keystore password):
用於 TLS 的 Java 信任儲存庫檔案¶
信任儲存庫檔案包含受信任的 TLS/SSL 伺服器憑證,或是受信任可識別伺服器的憑證授權單位。為了透過 HTTPS 安全存取 Presto 協調器,客戶端可以設定信任儲存庫。為了讓 Presto CLI 信任 Presto 協調器,必須將協調器的憑證匯入 CLI 的信任儲存庫。
您可以將憑證匯入預設的 Java 信任儲存庫,或匯入自訂的信任儲存庫。如果您選擇使用預設的信任儲存庫,請務必小心,因為您可能需要移除您認為不可信任的 CA 憑證。
您可以使用 keytool 將憑證匯入信任儲存庫。在範例中,我們將匯入 presto_certificate.cer
到自訂信任儲存庫 presto_trust.jks
,並且系統會提示您詢問是否可以信任憑證。
$ keytool -import -v -trustcacerts -alias presto_trust -file presto_certificate.cer -keystore presto_trust.jks -keypass <truststore_pass>
疑難排解¶
Java 金鑰儲存庫檔案驗證¶
使用 keytool 驗證金鑰儲存庫檔案的密碼,並檢視其內容。
$ keytool -list -v -keystore /etc/presto/presto.jks