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