我正在创建一个像这样的天蓝色证书:
az keyvault certificate create --name testName -p "$(az keyvault certificate get-default-policy)" --vault-name keyvaulttest01
然后我导入这样的证书:
az keyvault certificate import --file test.pem --name testName --vault-name keyvaultest01
运行导入后,出现以下错误:
(BadParameter) 指定的 PKCS#12 X.509 证书内容不能 被阅读。请检查证书是否采用有效的 PKCS#12 格式。代码: BadParameter 消息:指定的 PKCS#12 X.509 证书内容 无法读取。请检查证书是否为有效的 PKCS#12 格式。
我的 test.pem 文件具有以下格式:
-----BEGIN PRIVATE KEY-----
….
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
….
-----END CERTIFICATE-----
我认为我的 test.pem 文件有问题,所以我尝试在 azure ui 中手动上传它,它成功了。
奇怪的是,通过azure ui上传后,突然我的导入命令也起作用了。
看来我的pem文件没问题,但不知何故azure cli有一些问题。 有人知道如何解决这个问题吗?
默认证书策略使用
contentType
application/x-pkcs12
(PFX)。导入证书时需要application/x-pem-file
。不过,无需创建证书:导入时您将创建同名的第二个版本。 PEM 文件应包含私钥和公钥。
policy=$(az keyvault certificate get-default-policy | sed 's$application/x-pkcs12$application/x-pem-file$')
az keyvault certificate import --file test.pem --name testName --vault-name keyvaultest01 --policy $policy