【问题标题】:Add bitcoin private key to Azure Key Vault将比特币私钥添加到 Azure Key Vault
【发布时间】:2018-11-17 21:11:18
【问题描述】:

我有一个想法,将比特币/山寨币私钥作为加密密钥存储在 Azure Key Vault 中。 Azure Key Vault 允许使用其(例如散列或加密)执行一些加密方法,而无需从 Vault 中取出密钥。比特币使用 ECDSA 算法进行签名,Key Vault 也可以。如何将 btc 私钥导入 KeyVault?我使用 c#。

【问题讨论】:

    标签: c# cryptography bitcoin azure-keyvault


    【解决方案1】:

    此时看来只能导入RSA密钥,不能导入BTC使用的secp256k1等EC类型的密钥。但是

    您可以在受 HSM 保护的密钥保管库中生成自己的 secp256k1 密钥。然后您可以进行计算以确定关联的公钥和 BTC 地址,然后将您的所有 BTC 发送到该地址。一样的!

    您甚至可以从 HSM 下载 secp256k1 密钥的加密备份,以便以后恢复它,但您永远不会知道私钥是什么。

    【讨论】:

      【解决方案2】:

      我能够使用以下代码将 PEM 格式的 secp256k1 私钥导入 KeyVault。

       var client = new KeyClient(new Uri("https://myKeyVault.vault.azure.net"), new ClientSecretCredential("tenantid", "clientid", "clientSecret"));
      
       var key = ECDsa.Create();
       key.ImportFromPem(@"-----BEGIN EC PARAMETERS-----
           ....
           -----END EC PARAMETERS-----
           -----BEGIN EC PRIVATE KEY-----
           ...
           -----END EC PRIVATE KEY-----
           ");
      
       JsonWebKey jwk = new JsonWebKey(key, true);
       await client.ImportKeyAsync("MyKey", jwk);
      

      您需要设置应用注册并在密钥保管库中创建访问策略,以便能够按照此处所述进行导入 https://www.c-sharpcorner.com/blogs/fetching-secrets-from-key-vault-in-net-console-app

      【讨论】:

        猜你喜欢
        • 2019-07-28
        • 2021-03-20
        • 2019-05-25
        • 2022-11-19
        • 2021-10-10
        • 2020-02-13
        • 1970-01-01
        • 2023-01-26
        • 2020-08-11
        相关资源
        最近更新 更多