如何解决如何从Azure KeyVault作为.crt和.key文件获取证书?
我需要将证书从Azure keyvault作为.crt文件导出到VM,其密钥为.key文件。 我在ms docs的以下文章中找到了该文章:link,然后使用openssl将其转换为正确的文件。
不幸的是,对我有一个限制,即我不能使用openssl。 所以我的问题是,有什么办法可以使用powershell做到这一点?
解决方法
创建Key Vault证书后,可寻址的密钥和机密 也以相同的名称创建。密钥库密钥允许密钥 操作和Key Vault机密允许检索 证书值作为秘密。密钥保险柜证书还包含 公开的x509证书元数据。 来源:Composition of a Certificate。
您可以在powershell中将新的az module(基于CLI)用于download the crt (public part),export the private key from secret或export the public key from key (in case you need only the public key),如下所示。
注意:用于创建证书的策略必须指出 密钥是可导出的。如果政策指示不可出口,则 当作为秘密检索时,私钥不属于值的一部分。 来源:Exportable or Non-exportable key。
# download as crt in DER format
# you can also download in PEM format by changing to -e PEM
az keyvault certificate download --vault-name <keyvault-name> -n <cert-name> -f cert.crt -e DER
# private key is stored in secret,exporting separately
az keyvault secret download --vault-name <keyvault-name> -n <cert-name> -f cert.key
# key is stored in key,exporting public part separately in PEM format
# you can also download in DER format by changing to -e DER
# you cannot retrieve private part from key
az keyvault key download --vault-name <keyvault-name> -n <cert-name> -f public-key.pem -e PEM
注意:如果上载证书时格式为PKCS#12,则第二个命令(私钥)将以p12格式下载,这需要密码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。