我正在使用azure media services rest api创建一个应该存储加密的资产。
以下步骤成功:
1:使用“选项”创建资产:“1”(存储加密)。 2:使用ContentKeyType创建内容密钥“:”1“”ProtectionKeyType“:”0“。 3:将内容密钥与创建的资产相关联。 4:创建资产文件。 5:创建了Access策略。 6:创建SAS url(StartTime是当前时间前五分钟)。 7:通过正确指定文件名将文件上传到SAS URL(我将块上传到blob存储)。 8:删除了定位器& AcessPolicy。
问题:
答案 0 :(得分:2)
来自文档 - "如果您希望在上传之前加密未加密的媒体,则应在创建资产时指定AssetCreationOptions.StorageEncrypted。这会在将媒体上载到Azure存储之前对其进行本地加密,然后将其加密存储。"
来自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媒体服务将能够在编码期间将您的内容解密为其他格式。