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

标签 azure digital-certificate azure-keyvault

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

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

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

谢谢

最佳答案

有两种基本场景:

  1. 导入颁发的证书(PEM 或 PFX 格式) - 请参阅 Tutorial: Import a certificate in Azure Key Vault
  2. 使用 Azure KeyVault 创建 CSR(证书请求),将其发送给颁发者并合并收到的证书 - 请参阅 Create and merge a CSR in Key Vault

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

对于导入操作非常简单: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 文件中。

关于azure - SSL 证书 - 在 Azure KeyVault 中导入根和链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47232905/

相关文章:

Azure Key Vault 证书 - 创建基本约束 CA :True

asp.net-core - 使用 Azure KeyVault 的 ASP.NET Core - 委托(delegate) KeyVaultClient.AuthenticationCallback 时出错

mysql - AKS MySQL SSL 问题(nodejs、knex)

azure - 文档中显示的sql代码未在azure synapse专用sql池上运行

java - 如何部署和分发新的 Java 应用程序软件 - 从简单而有效的技术到详细而专业的方法

pdf - 具有多个签名的数字签名 PDF 的到期时间

Azure DevOps 自定义规则 - 当状态更改时将 Bug 分配给 @me

c# - Azure 存储连接错误(如果系统时间存在差异)

javascript - 在 JavaScript 上请求客户端证书

azure - 使用客户端 key 检索 Azure KeyVault key