6.13. 设置 TKS/TPS 共享对称密钥


共享对称密钥必须存在于 TPS 和 TKS 子系统的 NSS 数据库中。此密钥在创建 TPS 子系统时自动生成。如果 TPS 和 TKS 都在同一个 Tomcat 实例中安装,则不需要额外的设置,因为 TKS 将自动使用由 TPS 创建的密钥;但是,如果这两个子系统都位于独立的实例上,甚至不同的物理主机,您必须遵循本节中的步骤安全地将密钥传送到 TKS。

可以使用几种可能的方法在 TPS 和 TKS 之间安全地传输共享密钥:

  • authomatic 方法:当将 TPS 的子系统证书保留在软件 NSS 数据库中时,此方法可以正常工作。
  • 如果上述方法失败,可以使用一个回退手动方法,其中使用 caTokenUserDelegateAuthKeyEnrollment 工具在 TPS 上生成共享密钥,这会将密钥嵌套在 TPS 中,允许进行安全传输,而无需公开密钥,并将其解封到 TKS NSS 数据库中。

下面描述了 TPS 和 TKS 的一般配置,无论要用于导入密钥的方法是什么。请注意,自动方法会自动生成这些配置。

TKS
tks.useNewSharedSecretNames=true
tps.0.host=dhcp-16-206.sjc.example.com
tps.0.nickname=TPS-<tps host name>-8443 sharedSecret
tps.0.port=8443
tps.0.userid=,TPS-<tps host name>-8443
tps.list=0
注意

当一个 TKS 连接到多个 TPS 实例时,可以扩展上述列表。

TPS
conn.tks1.tksSharedSymKeyName=TPS-<tps host name>-8443 sharedSecret
注意

主机名必须与 TKS 端配置的主机名相同。

6.13.1. 手动生成和传输共享对称密钥

这部分论述了如何手动生成和传输共享对称密钥。在自动生成和传输失败时,此方法很有用,但应该避免使用。

manual 方法由两个过程组成。第一个是在 Token Key Service 一端执行,另一个是在令牌处理系统上执行。

步骤: 手动共享 Secret 密钥方法 - TKS 端

  1. 在第一个系统上安装 Token Key Service。有关安装说明,请参阅 Red Hat Certificate System 规划、安装和部署指南
  2. 停止 TKS 服务:

    # pki-server stop pki-tomcat
  3. 更改到 /var/lib/pki/pki-tomcat/alias 目录,并使用 caTokenUserDelegateAuthKeyEnrollment 在 TKS 上创建共享 secret 密钥。在重启新的 TKS 实例前,请确保生成共享密钥。

    重要

    caTokenUserDelegateAuthKeyEnrollment 脚本将在密钥创建过程中显示密钥的信息。确保记下此信息,因为稍后需要将其导入 TPS。

    #cd /var/lib/pki/pki-tomcat/alias
    #tkstool -T -d /var/lib/pki/pki-tomcat/tks/alias -n TPS-<tps host name>-8443 sharedSecret
    Generating the first session key share . . .
        first session key share:      792F AB89 8989 D902
                                      9429 6137 8632 7CC4
        first session key share KCV:  D1B6 14FD
    Generating the second session key share . . .
        second session key share:      4CDF C8E0 B385 68EC
                                       380B 6D5E 1C19 3E5D
        second session key share KCV:  1EC7 8D4B
    Generating the third session key share . . .
        third session key share:      CD32 3140 25B3 C789
                                      B54F 2C94 26C4 9752
        third session key share KCV:  73D6 8633
    Generating first symmetric key . . .
    Generating second symmetric key . . .
    Generating third symmetric key . . .
    Extracting transport key from operational token . . .
        transport key KCV:  A8D0 97A2
    Storing transport key on final specified token . . .
    Naming transport key "sharedSecret" . . .
    Successfully generated, stored, and named the transport key!
  4. 在 TKS 中配置新密钥:

    tks.useNewSharedSecretNames=true
    tps.0.host=dhcp-16-206.sjc.redhat.com
    tps.0.nickname=TPS-<tps host name>-8443 sharedSecret
    tps.0.port=8443
    tps.0.userid=TPS-<tps host name>-8443 sharedSecret
    tps.list=0
  5. 启动 TKS:

    #pki-server start pki-tomcat

流程 :手动共享 secret 密钥方法 - TPS 侧

  1. 在第二个系统上安装令牌处理系统。有关安装说明,请参阅 Red Hat Certificate System 规划、安装和部署指南
  2. 停止 TPS 服务:

    # pki-server stop pki-tomcat
  3. 进入 /var/lib/pki/pki-tomcat/alias 目录,并使用 caTokenUserDelegateAuthKeyEnrollment 将共享密钥导入到 NSS 软件令牌中:

    # cd /var/lib/pki/pki-tomcat/alias
    # tkstool -I -d . -n TPS-<tps host name>-8443 sharedSecret

    此时,脚本会提示您输入在上述流程生成和嵌套共享密钥时显示的会话密钥共享共享密钥。

  4. 在 TPS 中配置共享 secret:

    conn.tks1.tksSharedSymKeyName=TPS-<tps host name>-8443 sharedSecret
  5. 启动 TPS 服务:

    # pki-server start pki-tomcat
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat, Inc.