如何使用密钥库秘密加密azure blob中的解密blob

时间:2015-12-09 13:37:09

标签: azure encryption azure-storage-blobs azure-keyvault

如何在azure blob存储中加密/解密blob。我试过以下但是当我使用不同的秘密下载blob,而不是得到任何错误,我能够下载没有任何问题。我错过了 什么?这是我的代码:

string secretKey = "https://testkeyvault.vault.azure.net:433/secrets/SampleSecret1";

KeyVaultKeyResolver cloudResolver = new KeyVaultKeyResolver(AzureHelper.GetAccessToken);

IKey cloudKey1 = cloudResolver.ResolveKeyAsync(secretKey, CancellationToken.None).GetAwaiter().GetResult();
BlobEncryptionPolicy encryptionPolicy = new BlobEncryptionPolicy(cloudKey1, cloudResolver);
client.DefaultRequestOptions.EncryptionPolicy = encryptionPolicy;
client.DefaultRequestOptions.RequireEncryption = true;

CloudBlockBlob blob1 = container.GetBlockBlobReference("blockblob2"); // this blob was uploaded using a different secretKey
using (FileStream file = new FileStream(@"C:\Test\test2.txt", FileMode.Create))
{
    blob1.DownloadToStream(file);
}

AzureHelper.GetAccessToken:

internal static async Task<string> GetAccessToken(string authority, string resource, string scope)
{
    ClientCredential credential = new ClientCredential(ConfigurationManager.AppSettings.Get("ClientId"), ConfigurationManager.AppSettings.Get("ClientKey"));

    AuthenticationContext ctx = new AuthenticationContext(new Uri(authority).AbsoluteUri, false);
    AuthenticationResult result = await ctx.AcquireTokenAsync(resource, credential);

    return result.AccessToken;
}

0 个答案:

没有答案