2016-01-27 47 views
1

我正在使用azure媒体服务rest api创建一个应该存储加密的资产。Azure Media服务:存储加密rest api没有工作

下面的步骤,其中成功的:

1:创建资产与 “选项”: “1”(存储加密)。 2:创建ContentKeyType为“:”1“”ProtectionKeyType“:”0“的内容密钥 3:将内容密钥与创建的资产关联 4:创建资产文件 5:创建Access策略。 6:创建SAS网址(StartTime是当前时间的前五分钟) 7:通过正确指定文件名(我做了一个块上传到blob存储),将文件上传到SAS网址 8:已删除定位器& AcessPolicy

问题:

  1. 我不能编码资产。
  2. 从blob存储中,我能够下载文件并播放。该文件未在存储器中加密!

进一步推断

  1. 我可以验证与AMS资源管理器的资源文件(图片附后)。
  2. 从AMS Explorer下载文件不起作用。 enter image description here

回答

1

从文档 - “如果你有,你想之前加密上传创建资产时,应指定AssetCreationOptions.StorageEncrypted未加密的媒体这本地之前上传到Azure存储在那里将加密媒体被加密存储“。

从REST API参考(https://msdn.microsoft.com/en-us/library/azure/hh974277.aspx) -

StorageEncrypted = 1:指定资产的文件应为上传和存储在创建资产时被加密上。

什么意思是提供StorageEncryption选项,您只需告诉系统您的资产在上传之前已被加密。 .Net SDK为你做,但是当你使用休息API时,你必须在上传前自己加密文件。

您可以查看https://github.com/Azure/azure-sdk-for-media-services/blob/dev/src/net/Client/Entities/AssetFileData.cs,了解如何在.net SDK中实施资产文件的加密。

您必须创建内容密钥并将其与资产关联并用于加密。 一旦你拥有了所有这些信息我的系统,天蓝媒体服务将能够解码您的内容在编码为其他格式。

+1

我深信。感谢乔治。 –