我尝试使用 vault pki 角色生成证书。如何从 wget 命令输出中创建一个名为 ca.crt 的文件。
$ wget --method=POST --header="X-Vault-Namespace: ns" --header="X-Vault-Token: $VAULT_TOKEN" --body-data='{"common_name": "test.example.com", "ttl": "5m"}' https://127.0.0.1:8200/v1/pki/dev/issuing_ca/issue/dev -q -O - | jq '.data.ca_chain'
Response
[
"-----BEGIN CERTIFICATE-----\nMIIF5jCCA86W6j2PehfjWs3\nR55ogX1Z2jk/dvIIp.......Z067gh7nrDE56fzhyA=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIF4DCCA8iNzdTHItwqVl1cTglr6bcry0vckey68u+.......4gR0CRtJ\nCaLcNKCBGi/jn6pekNVvgjBamsM=\n-----END CERTIFICATE-----",
"-----BEGIN CERTIFICATE-----\nMIIFMzCCAxnNDE5MTlaFwumZ8\nHL8n10r0b35LtMT........CxSXIjAZJRE8Fh9jOIm0\n-----END CERTIFICATE-----"
]
$ cat ca.crt
-----BEGIN CERTIFICATE-----
MIIF5jCCA86W6j2PehfjWs3
.
.
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIF5jCCA86W6j2PehfjWs3
.
.
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
nMIIF4DCCA8iNzdTHItwqVl1c
.
.
-----END CERTIFICATE-----
您需要输出原始(
-r
)并将数组合并为单个输出([]
)。不要忘记
> ca.crt
将输出实际写入文件。根据OP的评论,在写入文件之前将其保存在变量中:
不要忘记 bash 变量周围的引号 (
""
),它们在本例中非常重要: