Azure 媒体服务:存储加密剩余 api 无效
Azure Media services: storage encrypted rest api didn't work
我正在使用 azure media services rest api 创建一个应该加密存储的资产。
成功的步骤如下:
1:使用 "Options" 创建了一个资产:“1”(存储加密)。
2:使用 ContentKeyType":"1""ProtectionKeyType":"0" 创建了一个内容密钥。
3:将内容密钥与创建的资产相关联。
4:创建资产文件。
5:创建访问策略。
6:创建了 SAS url(StartTime 比当前时间早五分钟)。
7:通过正确指定文件名将文件上传到 SAS url(我将块上传到 blob 存储)。
8: 删除定位器和访问策略。
问题:
- 我无法对资产进行编码。
- 从 blob 存储中,我能够下载文件并播放。文件在存储时未加密!
进一步推论
- 我可以使用 AMS Explorer 验证资产文件(附图)。
- 无法从 AMS Explorer 下载文件。
来自文档 - "If you have unencrypted media that you wish to encrypt prior to upload you should specify AssetCreationOptions.StorageEncrypted when creating the asset. This encrypts media locally prior to uploading it to Azure storage where it will be stored encrypted."
来自 REST API 参考 (https://msdn.microsoft.com/en-us/library/azure/hh974277.aspx) -
StorageEncrypted = 1: 指定在创建资产时应加密资产的文件以便上传和存储。
提供 StorageEncryption 选项意味着您只是告诉系统您的资产在上传前已加密。 .Net SDK 为你做这件事,但是当你使用 rest 时 api 你必须在上传之前自己加密文件。
您可以查看 https://github.com/Azure/azure-sdk-for-media-services/blob/dev/src/net/Client/Entities/AssetFileData.cs 以了解如何在 .net SDK 中实现资产文件的加密。
您必须创建内容密钥并将其与资产相关联并用于加密。
在系统中获得所有这些信息后,azure 媒体服务将能够在编码为其他格式的过程中解密您的内容。
我正在使用 azure media services rest api 创建一个应该加密存储的资产。
成功的步骤如下:
1:使用 "Options" 创建了一个资产:“1”(存储加密)。 2:使用 ContentKeyType":"1""ProtectionKeyType":"0" 创建了一个内容密钥。 3:将内容密钥与创建的资产相关联。 4:创建资产文件。 5:创建访问策略。 6:创建了 SAS url(StartTime 比当前时间早五分钟)。 7:通过正确指定文件名将文件上传到 SAS url(我将块上传到 blob 存储)。 8: 删除定位器和访问策略。
问题:
- 我无法对资产进行编码。
- 从 blob 存储中,我能够下载文件并播放。文件在存储时未加密!
进一步推论
- 我可以使用 AMS Explorer 验证资产文件(附图)。
- 无法从 AMS Explorer 下载文件。
来自文档 - "If you have unencrypted media that you wish to encrypt prior to upload you should specify AssetCreationOptions.StorageEncrypted when creating the asset. This encrypts media locally prior to uploading it to Azure storage where it will be stored encrypted."
来自 REST API 参考 (https://msdn.microsoft.com/en-us/library/azure/hh974277.aspx) -
StorageEncrypted = 1: 指定在创建资产时应加密资产的文件以便上传和存储。
提供 StorageEncryption 选项意味着您只是告诉系统您的资产在上传前已加密。 .Net SDK 为你做这件事,但是当你使用 rest 时 api 你必须在上传之前自己加密文件。
您可以查看 https://github.com/Azure/azure-sdk-for-media-services/blob/dev/src/net/Client/Entities/AssetFileData.cs 以了解如何在 .net SDK 中实现资产文件的加密。
您必须创建内容密钥并将其与资产相关联并用于加密。 在系统中获得所有这些信息后,azure 媒体服务将能够在编码为其他格式的过程中解密您的内容。