SSL 证书 - 在 Azure KeyVault 中导入根和链?

问题描述 投票:0回答:3

我已使用命令“mport-AzureKeyVaultCertificate -VaultName $vaultName -Name $certificateName -FilePath”成功将数字签名证书(附带根证书和链证书)导入到我的 Azure KeyVault 中。该证书已由公共证书颁发机构颁发给我。

我尝试运行完全相同的命令来导入根证书和链证书,但我做不到。

我的问题是:有没有办法将根证书和中间证书导入到 KeyVault 中?或者它们需要从其他地方进口?

谢谢

azure digital-certificate azure-keyvault
3个回答
3
投票

有两种基本场景:

  1. 导入颁发的证书(PEM 或 PFX 格式)- 请参阅教程:在 Azure Key Vault 中导入证书
  2. 使用 Azure KeyVault 创建 CSR(证书请求),将其发送给颁发者并合并收到的证书 - 请参阅在 Key Vault 中创建和合并 CSR

它们都允许将证书链添加到密钥库(与证书一起),然后下载和提取。请注意,无法与密钥库分开打开/下载链证书。相反,应该下载证书并从文件中提取证书。

对于导入操作非常简单:Azure Portal 和 Az CLI 都支持 PFX 和 PEM 文件,其中包含私钥、颁发者创建的新证书和 CA 证书。

但是合并存在一些细微差别。
在 Azure KeyVault 中创建时,可以将证书内容类型设置为 PKCS12 或 PEM。结果合并证书被导出/下载

  • 使用 PFX 格式创建使用 PKCS12 内容类型的证书
  • 使用 PEM 格式创建通过 PEM 内容类型创建的证书

但是,用于合并操作的链容器的格式不依赖于该内容类型。它仅取决于用于执行合并的方法:

以下命令可用于创建包含链的P7B文件:

openssl crl2pkcs7 -nocrl -certfile test.crt -out test.p7b -certfile inter.crt -certfile ca.crt

从导入的证书中提取链:
将证书导入到 Azure keyvault 时,将使用相同的格式导出/下载该证书。

从合并证书中提取链:
应从 Azure keyvault 下载证书(PFX 或 PEM,具体取决于证书内容类型)。当在 PEM 中下载与链合并在一起的证书时,它包含整个链,其格式已经允许轻松提取单个证书。
当在 PFX 中下载证书时,要提取单个证书,可以使用以下命令将其转换为 PEM 格式,仅包含证书(省略私钥):

openssl pkcs12 -in downloaded-cert.pfx -nokeys -nodes -out chain.pem

然后可以使用文本编辑器打开 chain.pem,并且可以将各个证书提取到单独的 crt 文件中。


1
投票

按顺序将您的证书、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


0
投票

az keyvault 证书导入...不允许我上传 .pem 文件。

我需要从 certbot 生成的内容(在我的例子中)生成一个 .pem 文件,将其转换为 pfx 文件,然后上传......

也许这可能对某人有帮助:

cat certs/live/mydomain.co.uk/{fullchain.pem,privkey.pem} > certs/mydomain.pem

openssl pkcs12 -in certs/mydomain.pem -keypbe NONE -cetpbe NONE -nomaciter -passout pass:Secretp4ss -out certs/mydomain.pfx -export

az keyvault certificate import --vault-name myvault -n my-vault-cert -f certs/mydomain.pfx --password Secretp4ss

注意,如果使用 certbot,需要告诉它使用

--rsa-key-size 2048 --key-type rsa

© www.soinside.com 2019 - 2024. All rights reserved.