使用 Hashicorp 保险库时如何以及在何处放置 Tessera 私钥的密码

How and where to put passphrase of the Tessera private key when using Hashicorp vault

我们在我们的一个系统中使用 Quorum 和 Hashicorp 保险库。我们已经能够成功地集成这两者,即我们已经将 Tessera 私钥和 public 密钥放入 Vault 中,并成功地 运行 Quorum 服务器。

问题是,当我们尝试对私钥使用密码时,我们找不到实现此目的的方法。即使我们已经观察到,当我们为 Hashicorp 保险库使用 tessera 密钥生成工具时,它会生成密钥并将其内部保存在保险库中,它不会要求任何密码。但是当我们使用普通的密钥生成工具生成密钥并将其放入指定目录时,它会要求输入密码。

能否请您帮助我们如何利用 Hashicorp Vault 和 Tessera 实现这一目标,即我们生成一个密钥对,其中私有受密码保护。

我们在 Wiki 中找不到任何帮助,我们也尝试分析源代码,我们的印象是如果我们想为 Tessera 使用密码保护的私钥,我们现在不能使用 Hashicorp Vault。

请帮忙。

Tessera 不支持在 Hashicorp Vault 中存储受密码保护的私钥,因为 Vault 已经加密了它存储的数据。

但是,要访问存储在 Vault 中的数据,Tessera 实例必须拥有正确的凭据集(作为环境变量提供)才能通过 Vault 进行身份验证。与用于保护文件存储密钥的密码短语相比,使用这些凭据可提供更大的灵活性和控制力。

例如,配置身份验证方法(例如 AppRole 身份验证)可以定义特定 Tessera 实例的授权,确保只允许它访问它需要的秘密。此外,这些凭据可以配置为在使用一定次数或一定时间后过期。

最后,应该在 Vault 服务器上启用 TLS 以确保 Vault 和 Tessera 之间的安全通信。 Tessera 启动配置中应包含必要的 TLS 证书和密钥。

Tessera wiki 提供了有关要提供的确切配置和环境变量的更多详细信息: