我已使用命令“mport-AzureKeyVaultCertificate -VaultName $ vaultName -Name $ certificateName -FilePath”在我的Azure KeyVault中成功导入了数字签名证书(带有根证书和链证书)。证书已由公共证书颁发机构颁发给我。
我尝试运行完全相同的命令来导入根证书和链证书,但我无法。
我的问题是:是否有办法将根证书和中间证书导入KeyVault?或者他们需要在其他地方进口?
由于
答案 0 :(得分:0)
按顺序将证书,CA捆绑文件和私钥文件连接到.pem
文件中:
cat <cert>.crt <bundle>.cabundle <private>.key > <full-cert>.pem
使用Azure CLI 2.0 az
工具导入密钥保险库:
az keyvault certificate import --vault-name <your-vault> --name <cert-name> --file <cert-file>.pem
您应该会发现az
工具在您的保管库中创建了三个条目,所有条目的名称为<cert-name>
(i)包含<cert>.crt
文件的证书,(ii)私钥和(iii)包含完整的根+链+私钥的秘密,如果需要,您可以稍后download
。
答案 1 :(得分:0)
有两种基本情况:
它们都允许将证书链添加到密钥库(与证书一起),然后下载和提取。请注意,无法与密钥库分开打开/下载链证书。相反,应下载证书并从文件中提取证书。
对于导入操作,它非常简单:Azure 门户和 Az CLI 都支持 PFX 和 PEM 文件,其中包含私钥、颁发者创建的新证书和 CA 证书。
但是合并有一些细微的差别。
在 Azure KeyVault 中创建证书内容类型时,可以将其设置为 PKCS12 或 PEM。结果合并的证书被导出/下载
但是,用于合并操作的链容器的格式不依赖于该内容类型。它只取决于用于执行合并的方法:
az keyvault certificate pending merge --vault-name test-kv --name test --file test-
chain.pem
以下命令可用于创建包含链的 P7B 文件:
openssl crl2pkcs7 -nocrl -certfile test.crt -out test.p7b -certfile inter.crt -certfile ca.crt
从导入的证书中提取链:
将证书导入 Azure 密钥保管库时,将使用相同的格式导出/下载该证书。
从合并证书中提取链:
证书应从 Azure 密钥保管库(PFX 或 PEM,具体取决于证书内容类型)下载。当与链合并的证书在 PEM 中下载时,它已经包含整个链,其格式允许轻松提取单个证书。
在 PFX 中下载证书时,要提取单个证书,可以使用以下命令将其转换为 PEM 格式,仅包含证书(省略私钥):
openssl pkcs12 -in downloaded-cert.pfx -nokeys -nodes -out chain.pem
然后就可以用文本编辑器打开chain.pem,将各个证书提取到单独的crt文件中。