首页 > 解决方案 > 如何检索生成的 Azure Key Vault 证书的 PFX 密码?

问题描述

Azure Key Vault 允许你直接在 GUI 中生成证书。之后,您可以将这些证书下载为 pfx 文件。

这些 pfx 文件是否受密码保护?我正在尝试在某处使用此证书,它不会让我在没有密码的情况下继续操作。

Azure Key Vault 创建证书

标签: azureazure-keyvault

解决方案


使用 AzureRM 的以下 PowerShell 脚本,我可以使用密码从 Key Vault 导出 pfx:

# Replace these variables with your own values
$vaultName = "<KEY_VAULT>"
$certificateName = "<CERTIFICATE_NAME>"
$pfxPath = [Environment]::GetFolderPath("Desktop") + "\$certificateName.pfx"
$password = "<PASSWORD>"

$pfxSecret = Get-AzureKeyVaultSecret -VaultName $vaultName -Name $certificateName
$pfxUnprotectedBytes = [Convert]::FromBase64String($pfxSecret.SecretValueText)
$pfx = New-Object Security.Cryptography.X509Certificates.X509Certificate2
$pfx.Import($pfxUnprotectedBytes, $null, [Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
$pfxProtectedBytes = $pfx.Export([Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
[IO.File]::WriteAllBytes($pfxPath, $pfxProtectedBytes)

归功于 Brendon Coombes 在他的博客文章中。


推荐阅读