-->

Azure blob metadata property EncryptionData is not

2019-09-13 16:54发布

问题:

I am encrypting a blob using secret from a keyvault. Unfortunately, the EncryptionData metadata propery is not being set for the blob. It was working previously, but for some reason the property is not being set now. Can anyone help please? Please find below the code i am using to set the encryption policy.

private void SetEncryptionPolicy(string containerName)
{
    IKey cloudKey1;

    var secret = string.Format(ConfigurationManager.AppSettings["SecretUri"], containerName);

    //// Create key instances corresponding to the key IDs. This will cache the secrets.
    try
    {
        cloudKey1 = _cloudResolver.ResolveKeyAsync(secret, CancellationToken.None).GetAwaiter().GetResult();
    }
    catch (AggregateException e)
    {
        _logger.Error("Azure KeyVault resolve key failed. Error: " + e.InnerException.Message);

        throw;
    }

    var encryptionPolicy = new BlobEncryptionPolicy(cloudKey1, _cloudResolver);

    _blobClient.DefaultRequestOptions.EncryptionPolicy = encryptionPolicy;
    _blobClient.DefaultRequestOptions.RequireEncryption = true;
}

回答1:

You provided a very incomplete code sample but it doesn't seem to follow the documented pattern. I would review the example code here. I can vouch it works right: https://azure.microsoft.com/en-us/documentation/articles/storage-encrypt-decrypt-blobs-key-vault/