Azure KeyVault:如何判断密钥是否受 HSM 保护

Azure KeyVault: How to tell if a key is HSM protected

我有一个密钥保管库,是我在几个月前创建并导入了一个密钥。我根据文档创建了带有 SKU of premium 的保管库,以启用 Key Vault 对 HSM 的使用。我还导入了将目标设置为 HSM

的密钥
Add-AzureKeyVaultKey -VaultName 'ContosoKeyVaultHSM' -Name 'ContosoFirstHSMKey' -Destination 'HSM'

现在,我被要求验证密钥实际上是否受硬件保护,但我无法找到任何过于令人信服的属性来告诉我这一点。如果我 运行: Get-AzureKeyVaultKey -VaultName "Contoso" -KeyName "ITPfx"

我可以在 JSON "kty: RSA-HSM" 中看到软件保护密钥的 kty 值只是 RSA。这是我在硬件和软件保护密钥之间看到的唯一区别。

这真的是判断密钥是否在密钥保管库的 HSM 中的唯一方法吗?

或者有更直观的判断方法吗?

使用 PowerShell,这是我用来确定密钥是否受软件或 hsm 保护的代码:

$keyInVault = Get-AzureKeyVaultKey -VaultName $keyVaultName -Name $keyName
$keyInVault.Key.Kty

输出类似于:

RSA-HSM

所以,是的,使用 JSON 通常是唯一的方法。