如何通过jq处理Vault PKI的CA链生成单个ca.crt文件
解决方案
直接修改你的命令,调整jq的处理逻辑并输出到文件即可:
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 -r '.data.ca_chain[]' > ca.crt
关键说明
-r参数:让jq输出原始字符串,自动将证书内容里的转义符\n转换成实际的换行符,保证证书格式正确。.data.ca_chain[]:遍历返回的CA链数组,逐个输出数组中的每个证书字符串,证书之间会自动用换行分隔。> ca.crt:将最终处理后的结果直接写入ca.crt文件。
执行完命令后,查看 ca.crt 就能得到你期望的格式:每个证书以 -----BEGIN CERTIFICATE----- 开头,-----END CERTIFICATE----- 结尾,依次排列。
内容的提问来源于stack exchange,提问作者Raghavendra
相关产品推荐
相关产品推荐

