将椭圆曲线中间添加到Vault



我正在尝试使用以下将现有的椭圆曲线中间CA证书添加到Vault

vault write pki/config/ca pem_bundle=@bundle.json

bundle.json包含

{
"pem_bundle":"-----BEGIN CERTIFICATE-----n...n-----END CERTIFICATE-----n-----BEGIN EC PRIVATE KEY-----...n-----END EC PRIVATE KEY-----"
}

这给出了错误"在PEM块中找不到数据"——我认为这是因为它需要RSA证书。正在查看https://www.vaultproject.io/api-docs/secret/pki

有一个key_type参数可以设置为EC。但这似乎不适用于pki/config/ca

提交CA的API文档特别注意以下内容:

请注意,如果您通过HTTP API提供数据,则必须JSON格式,换行符替换为\n,如…

这仅适用于HTTP API(例如:curl ... https://.../v1/pki/config/ca(。

但是,您使用的是vault writeCLI命令,它为您完成从输入到json格式的转换。CLI命令的pem_bundle参数应该是指向包含普通PEM格式证书和密钥的普通.pem文件的路径。例如:

-----BEGIN CERTIFICATE-----
...
...
-----END CERTIFICATE-----
-----BEGIN EC PRIVATE KEY-----
...
...
-----END EC PRIVATE KEY-----

您的最后调用将是:

vault write pki/config/ca pem_bundle=@ca_bundle.pem

另请注意,只有Vault生成密钥时才需要key_type参数。由于您提供了密钥,Vault将正确检测密钥类型(请参阅certutil.ParsePemBundle(。

最新更新