【问题标题】:Is it possible to get the private key out of Azure Key Vault Keys?是否可以从 Azure Key Vault Keys 中获取私钥?
【发布时间】:2019-01-27 03:27:53
【问题描述】:

我在 Azure 密钥库中看到的所有数据加密/解密示例都使用 keyVaultClient.DecryptAsync() 方法在 Azure 内部进行本地加密和解密。

我知道这更安全,因为私钥永远不会离开 Azure 并泄漏到您的应用程序代码中,但是如果我也想在本地进行解密,我该如何取出私钥?

我正在使用keyVaultClient.GetKeyAsync(),但它似乎只包含公钥。

我在 Azure 中解密时遇到的一个问题是,如果开发人员无法访问 Azure,我就无法在开发环境中复制它。 Azure Key Vault 似乎没有模拟器。

看来实现我想要的唯一方法是使用 Azure Key Vault Secret 并在其中存储包含公钥/私钥的 PFX 证书?

【问题讨论】:

    标签: c# azure encryption azure-keyvault


    【解决方案1】:

    对不起,没有。

    Azure Key Vault does not support EXPORT operations:一旦在系统中配置了密钥,就无法提取或修改其密钥材料。

    您可以进行备份,但这样做的好处是恢复到 Azure。您不能在其他任何地方使用它。

    【讨论】:

    • 谢谢。我最终改用了 X509 证书的解决方法,您可以为其检索秘密(私钥)。
    【解决方案2】:

    正如 TerryCarmen 所说,您无法在本地解密系统只能使用公钥。对 GetKeyAsync 的 API 调用不返回私钥数据。这就是 DecryptAsync 包装器方法使用 Key Vault API 进行解密的原因。

    换句话说,私钥永远不会离开保管库,这是使用 Key Vault 进行解密而不是将私钥带入过程的原因之一。

    更多详情可以参考这个article

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 2020-02-07
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 2019-01-02
      • 2020-08-11
      • 2020-01-03
      • 1970-01-01
      相关资源
      最近更新 更多