每台 SGD 服务器有两个证书库:CA 证书信任库和客户端证书库。
每台 SGD 服务器都有其自己的 CA 证书信任库。该信任库是 /opt/tarantella/bin/jre/lib/security/cacerts
文件。
CA 证书信任库包含 SGD 服务器信任的 CA 证书。
/opt/tarantella/etc/data/cacerts.txt
文件包含首次安装 SGD 时 CA 证书信任库中的所有 CA 证书的 X.500 标识名 (Distinguished Name, DN) 和 MD5 签名。这些是默认情况下 SGD 支持的 CA。要添加对其他 CA 的支持,可以将 CA 证书导入信任库。
在以下情况下,您可能需要导入 CA 证书:
Active Directory 验证-如果使用了与 Active Directory 的 SSL 连接,并且 Active Directory 服务器的 SSL 证书是由某个不受支持的 CA 或者是由某个中间 CA 签名的
LDAP 验证-如果使用了与 LDAP 目录的 SSL 连接,并且 LDAP 目录服务器的 SSL 证书是由某个不受支持的 CA 或者是由某个中间 CA 签名的
必须导入的证书如下所述:
不受支持的 CA-导入 CA 或根证书
中间 CA-导入 CA 证书链
如果使用 tarantella security customca 命令来安装 CA 证书或 CA 证书链,此命令还会将 CA 证书导入 CA 证书信任库。它仅在运行此命令的 SGD 服务器上执行此操作。
要手动导入 CA 证书,请使用 keytool 应用程序。有关如何使用 keytool 应用程序的详细信息,请参见 JDK Tools and Utilities(JDK 工具和实用程序)文档。SGD 主机上的 /opt/tarantella/var/tsp/ca.pem
文件包含 CA 证书或证书链。
如果需要导入某个 CA 证书链,请分别导入该链中的每个证书。
CA 证书信任库的密码是 changeit
。
确保没有用户登录到 SGD 服务器,并且没有正在运行的应用程序会话,包括暂停的应用程序会话。
对阵列中的每个 SGD 服务器重复以下过程。
在 SGD 主机上,以超级用户 (root) 身份登录。
导入 CA 证书。
要导入某个 CA 证书链,必须分别导入该链中的每个证书。
使用以下命令:
# /opt/tarantella/bin/jre/bin/keytool -importcert \ -keystore /opt/tarantella/bin/jre/lib/security/cacerts \ -storepass changeit -fileCA-certificate-path
\ -aliasalias
使用 -alias
选项来唯一标识证书。
重新启动 SGD 服务器。
必须重新启动 SGD 服务器,以使 CA 证书生效。
每台 SGD 服务器都有其自己的客户端证书库。这是 /opt/tarantella/var/info/certs/sslkeystore
文件。
客户端证书库包含 SGD 服务器连接到其他服务器时用来标识自身的客户端证书。
可以使用 keytool 应用程序创建和安装服务器客户端证书。有关如何使用 keytool 应用程序的详细信息,请参见 JDK Tools and Utilities(JDK 工具和实用程序)文档。
向客户端证书库添加或从中删除证书时,必须提供密码。客户端证书库的密码对于每台 SGD 服务器是唯一的,并且可以在 /opt/tarantella/var/info/key
文件中找到。请为 -storepass
和 -keypass
选项使用此密码。
在 SGD 主机上,以超级用户 (root) 身份登录。
为客户端证书生成密钥对。
# /opt/tarantella/bin/jre/bin/keytool -genkeypair \
-keyalg rsa \
-keystore /opt/tarantella/var/info/certs/sslkeystore \
-storepass "$(cat /opt/tarantella/var/info/key)" \
-alias alias
\
-keypass "$(cat /opt/tarantella/var/info/key)"
使用 -alias
选项来唯一标识密钥对。
为客户端证书生成一个证书签名请求 (Certificate Signing Request, CSR)。
# /opt/tarantella/bin/jre/bin/keytool -certreq \ -keystore /opt/tarantella/var/info/certs/sslkeystore \ -storepass "$(cat /opt/tarantella/var/info/key)" \ -aliasalias
\ -keypass "$(cat /opt/tarantella/var/info/key)" \ -fileCSR-path
alias
必须与生成密钥对时使用的别名相同。别名不区分大小写。
确保没有用户登录到 SGD 服务器,并且没有正在运行的应用程序会话,包括暂停的应用程序会话。
对阵列中的每个 SGD 服务器重复以下过程。
在 SGD 主机上,以超级用户 (root) 身份登录。
安装客户端证书。
# /opt/tarantella/bin/jre/bin/keytool -importcert \ -filecertificate-path
-keystore /opt/tarantella/var/info/certs/sslkeystore \ -storepass "$(cat /opt/tarantella/var/info/key)" \ -aliasalias
\ -keypass "$(cat /opt/tarantella/var/info/key)"
alias
必须与为客户端证书生成 CSR 时使用的别名相同。别名不区分大小写。
重新启动 SGD 服务器。
必须重新启动 SGD 服务器,客户端证书才能生效。