Поделиться через


ContentKey

ContentKey обеспечивает безопасный доступ к ресурсу. В дополнение к созданию сущности ContentKey необходимо также использовать ключ защиты для шифрования создаваемого ключа контента. Дополнительные сведения о получении ключа защиты см. в разделах Шифрование ресурса (необязательно) и Функции REST API.

В данном разделе приводится описание сущности ContentKey и демонстрируется выполнение различных операций с API REST служб мультимедиа.

Важно!

При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в 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 Отпечаток сертификата Х.509, который используется для шифрования хранилища, общего шифрования или конфигурации ключей шифрования. Это значение возвращается при вызове функции GetProtectionKeyId. Максимальная длина — 4000.
ProtectionKeyType

Необязательный элемент.
Edm.Int32 Значение перечисления, которое указывает на тип ключа защиты. Допустимые значения:

- X509CertificateThumbprint = 0
Checksum

Необязательный элемент.
Edm.String Контрольная сумма ContentKey. Максимальная длина — 4000.
AuthorizationPolicyId Edm.String Идентификатор политики авторизации, связанный с ContentKey.

Создание ContentKey

ContentKey может быть создан с помощью HTTP-запроса POST.

Метод Универсальный код ресурса (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, чтобы воспроизвести защищенное содержимое.

Укажите тип URL-адреса, который необходимо получить в тексте HTTP-запроса. Если вы защищаете содержимое с помощью PlayReady, запросите URL-адрес получения лицензии PlayReady служб мультимедиа, используя 1 для keyDeliveryType: {"keyDeliveryType":1}. Если вы защищаете содержимое с помощью шифрования конверта, запросите URL-адрес получения ключа, указав 2 для keyDeliveryType: {"keyDeliveryType":2}.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl HTTP/1.1

Пример

Вы можете опробовать следующий пример на вкладке Fiddler's Composer. В этом примере возвращается URL-адрес приобретения лицензии PlayReady.

Заголовки запроса:

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 можно получить с помощью HTTP-запроса GET.

Метод Универсальный код ресурса (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 можно удалить с помощью HTTP-запроса DELETE.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию 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
Задание
JobTemplate
Локатор
MediaProcessor
Задача
TaskTemplate
Квоты и ограничения