我正在寻求将从自定义根 CA 生成客户端证书的过程迁移到 hashicorp Vault 中。
根已经受到许多应用程序的信任,因此我想将其(或中间)导入保险库并从那里发出客户端证书。
教程很简单,但总是展示如何生成新的根证书和中间证书。
如何通过命令行(例如vault write pki/root/???
)使用预先存在的根证书初始化 PKI 秘密引擎?
答案1
简短回答
- 如果您只有证书,那根本没办法。您还需要私钥。
- 如果你有私钥,这是导入它的 API 调用。
长答案
PKI 的意思是“公钥基础设施”,但公钥带来了最重要的私钥。私钥是用于签署(或生成)应用程序证书的密钥。Vault 与它无关,而是 PKI 背后的数学需要它。
因此 CA 需要一对密钥(公钥和私钥)。没有私钥,就无法生成签名并颁发证书。如果只有公钥,则计算上不可能找到私钥(但 10 年后再问)。
大多数 PKI 不允许导出私钥。部分/大多数 PKI 都连接到防篡改硬件设备(称为 HSM),旨在防止私钥离开其安全容器。
因此,除非您能拿到私钥,否则您将不得不部署新的颁发者证书。您可以让旧 CA 签署 Vault 的证书。这样做将使您的证书被浏览器识别,但现在您需要维护 2 个 CA...