你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ContentKey

ContentKey 提供对资产的安全访问。 除创建 ContentKey 实体以外,你还必须使用保护密钥来加密生成的内容密钥。 有关检索保护密钥的详细信息,请参阅 加密资产 (可选) REST API 函数

本主题提供 ContentKey 实体的概述,并且还演示如何使用 Media Services REST API 执行各种操作。

重要

访问媒体服务中的实体时,必须在 HTTP 请求中设置特定标头字段和值。
有关详细信息,请参阅设置媒体服务 REST API 开发和使用媒体服务 REST API 连接到媒体服务

ContentKey 实体属性

属性 类型 说明
Id

必需。 媒体服务未设置此值。
Edm.String 用户定义的唯一标识符。
Created

只读。 由媒体服务在创建时设置。
Edm.DateTime 此值由媒体服务在创建时设置。
LastModified

只读。 由 Media Services 设置。
Edm.DateTime 进行任何属性更改后,媒体服务会更新此值。
ContentKeyType

可选。
Edm.Int32 指定内容密钥类型的枚举值。 有效值为:

- CommonEncryption = 0
- StorageEncryption = 1
- ConfigurationEncryption = 2
- EnvelopeEncryption = 4
EncryptedContentKey

可选。
Edm.String 使用 X.509 证书的公钥加密的内容密钥。 最大长度为 4000。
Name

可选。
Edm.String ContentKey 的友好名称。 最大长度为 4000。
ProtectionKeyId

可选。
Edm.String X.509 证书的指纹,用于加密存储、常用加密或配置加密密钥。 调用 GetProtectionKeyId 函数时,将向你返回此值。 最大长度为 4000。
ProtectionKeyType

可选。
Edm.Int32 指定保护密钥类型的枚举值。 有效值为:

- X509CertificateThumbprint = 0
Checksum

可选。
Edm.String ContentKey 的校验和。 最大长度为 4000。
AuthorizationPolicyId Edm.String 与 ContentKey 关联的授权策略 ID。

创建 ContentKey

可以使用 POST HTTP 请求创建 ContentKey。

方法 请求 URI HTTP 版本
POST <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys> HTTP/1.1

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

POST https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization:  Bearer <token value>  
Host: media.windows.net  
Content-Length: 572  
Expect: 100-continue  
  
{"Id" : "nb:kid:UUID:316d14d4-b603-4d90-b8db-0fede8aa48f8", "ContentKeyType" : 1, "EncryptedContentKey" : "Y4NPej7heOFa2vsd8ZEOcjjpu/qOq3RJ6GRfxa8CCwtAM83d6J2mKOeQFUmMyVXUSsBCCOdufmieTKi+hOUtNAbyNM4lY4AXI537b9GaY8oSeje0NGU8+QCOuf7jGdRac5B9uIk7WwD76RAJnqyep6U/OdvQV4RLvvZ9w7nO4bY8RHaUaLxC2u4aIRRaZtLu5rm8GKBPy87OzQVXNgnLM01I8s3Z4wJ3i7jXqkknDy4VkIyLBSQvIvUzxYHeNdMVWDmS+jPN9ScVmolUwGzH1A23td8UWFHOjTjXHLjNm5Yq+7MIOoaxeMlKPYXRFKofRY8Qh5o5tqvycSAJ9KUqfg==", "ProtectionKeyId" : "7D9BB04D9D0A4A24800CADBFEF232689E048F69C", "ProtectionKeyType" : 1, "Checksum" : "TfXtjCIlq1Y=" }  
  

获取密钥传送 URL

获取指定内容密钥传递方法的密钥传送 URL。 客户端使用返回的 URL 来请求 AES 密钥或 PlayReady 许可证,以播放受保护内容。

指定要在 HTTP 请求正文中获取的 URL 类型。 如果要使用 PlayReady 保护内容,请使用 请求媒体服务 PlayReady 许可证获取 URL 1keyDeliveryType{"keyDeliveryType":1}。 如果要使用信封加密保护内容,请通过指定 2keyDeliveryType请求密钥获取 URL: {"keyDeliveryType":2}

方法 请求 URI HTTP 版本
POST <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys ('ContentkeyId>') /GetKeyDeliveryUrl HTTP/1.1

示例

可以在 Fiddler 的“编辑器”选项卡中试用以下示例。该示例获取 PlayReady 许可证获取 URL。

请求标头:

POST https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:14e7e815-5db3-4027-9578-a55a416a3367')/GetKeyDeliveryUrl HTTP/1.1  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json  
Accept-Charset: UTF-8  
User-Agent: Microsoft ADO.NET Data Services  
Authorization:  Bearer <token value>  
x-ms-version: 2.19  
Content-Type: application/json  
Host: media.windows.net  
Content-Length: 21  
  

请求正文:

{"keyDeliveryType":1}  

如果成功,此操作将返回“200 正常”状态代码和指定的 URL。 例如:https://account001.keydelivery.mediaservices.windows.net/PlayReady/

列出 ContentKey

ContentKey 使用 GET HTTP 请求进行检索。

方法 请求 URI HTTP 版本
GET <https:// accountname.restv2>。<location.media.azure.net/api/ContentKeys> HTTP/1.1
方法 请求 URI HTTP 版本
GET https://< accountname.restv2>。<location.media.azure.net/api/ContentKeys ('contentkeyid>') HTTP/1.1
方法 请求 URI HTTP 版本
GET https://< accountname.restv2>。<location.media.azure.net/api/Assets ('assetid>') /ContentKeys HTTP/1.1

示例请求

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

GET https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization:  Bearer <token value>  
Host: media.windows.net  
  

删除 ContentKey

ContentKey 通过 DELETE HTTP 请求删除。

方法 请求 URI HTTP 版本
DELETE https://< accountname.restv2>。<location.media.azure.net/api/ContentKeys ('contentkeyid>') HTTP/1.1

示例请求

可以在 Fiddler 的“编辑器”选项卡中尝试以下示例。

若要获取最新的 x-ms-version:,请参阅 媒体服务 REST

DELETE https://<accountname>.restv2.<location>.media.azure.net/api/ContentKeys('nb:kid:UUID:58b522a5-be4e-4988-8958-ee0cdb179273') HTTP/1.1  
Content-Type: application/json;odata=verbose  
Accept: application/json;odata=verbose  
DataServiceVersion: 3.0  
MaxDataServiceVersion: 3.0  
x-ms-version: 2.19  
Authorization: Bearer <token value>  
Host: media.windows.net  
Content-Length: 0  
  

另请参阅

AccessPolicy
资产
AssetFile
作业
作业模板
定位
MediaProcessor
任务
任务模板
配额和限制