Partilhar via


ContentKey

Uma Chave de Conteúdo fornece acesso seguro a um Recurso. Além de criar uma entidade ContentKey, também tem de utilizar uma chave de proteção para encriptar a chave de conteúdo que gera. Para obter mais informações sobre como obter a chave de proteção, veja Encriptar as Funções da API REST(Opcional) e do Recurso.

Este tópico fornece uma descrição geral da ContentKey entidade e também demonstra como executar várias operações com a API REST dos Serviços de Multimédia.

Importante

Ao aceder a entidades nos Serviços de Multimédia, tem de definir campos e valores de cabeçalho específicos nos seus pedidos HTTP.
Para obter mais informações, veja Setup for Media Services REST API Development and Connecting to Media Services with the Media Services REST API ( Configurar o Desenvolvimento da API REST dos Serviços de Multimédia e Ligar aos Serviços de Multimédia com a API REST dos Serviços de Multimédia).

Propriedades da Entidade ContentKey

Propriedade Tipo Description
Id

Obrigatório. Este valor não é definido pelos Serviços de Multimédia.
Edm.String Identificador exclusivo definido pelo utilizador.
Created

Só de leitura. Definido pelos Serviços de Multimédia no momento da criação.
Edm.DateTime Este valor é definido pelos Serviços de Multimédia no momento da criação.
LastModified

Só de leitura. Definido pelos Serviços de Multimédia.
Edm.DateTime Este valor é atualizado pelos Serviços de Multimédia depois de serem efetuadas alterações de propriedade.
ContentKeyType

Opcional.
Edm.Int32 Um valor de enumeração que especifica o tipo de chave de conteúdo. Os valores válidos são:

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

Opcional.
Edm.String Chave de conteúdo encriptada com a chave pública do certificado X.509. O comprimento máximo é 4000.
Name

Opcional.
Edm.String Nome amigável da sua Chave de Conteúdo. O comprimento máximo é 4000.
ProtectionKeyId

Opcional.
Edm.String Thumbprint do certificado X.509 que é utilizado para encriptar o armazenamento, encriptação comum ou chaves de encriptação de configuração. Este valor é-lhe devolvido ao chamar a função GetProtectionKeyId. O comprimento máximo é 4000.
ProtectionKeyType

Opcional.
Edm.Int32 Um valor de enumeração que especifica o tipo de chave de proteção. Os valores válidos são:

- X509CertificateThumbprint = 0
Checksum

Opcional.
Edm.String A soma de verificação da Chave de Conteúdo. O comprimento máximo é 4000.
AuthorizationPolicyId Edm.String O ID da política de autorização associado à Chave de Conteúdo.

Criar uma Chave de Conteúdo

Os ContentKeys podem ser criados com um pedido POST HTTP.

Método URI do pedido Versão HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1

Pedido de Amostra

Para obter as versões mais recentes x-ms-version:, veja Serviços de Multimédia 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=" }  
  

Obter URL de Entrega de Chaves

Obtém o URL de entrega da chave para o método de entrega especificado da chave de conteúdo. Um cliente utiliza o URL devolvido para pedir uma chave AES ou uma licença PlayReady para reproduzir o conteúdo protegido.

Especifique o tipo de URL a obter no corpo do pedido HTTP. Se estiver a proteger os seus conteúdos com o PlayReady, peça um URL de aquisição de licença playReady dos Serviços de Multimédia, utilizando 1 para : keyDeliveryType{"keyDeliveryType":1}. Se estiver a proteger o seu conteúdo com a encriptação de envelope, peça um URL de aquisição de chave ao especificar 2 para keyDeliveryType: {"keyDeliveryType":2}.

Método URI do pedido Versão HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl HTTP/1.1

Sample

Pode experimentar o seguinte exemplo no separador Compositor do Fiddler. O exemplo obtém o URL de aquisição da licença PlayReady.

Cabeçalhos de pedido:

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  
  

Corpo do pedido:

{"keyDeliveryType":1}  

Se for bem-sucedida, esta operação devolve um código de estado 200 OK e o URL especificado. Por exemplo: https://account001.keydelivery.mediaservices.windows.net/PlayReady/.

Listar Chaves de Conteúdo

Os ContentKeys são obtidos com um pedido GET HTTP.

Método URI do pedido Versão HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1
Método URI do pedido Versão HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1
Método URI do pedido Versão HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid')/ContentKeys HTTP/1.1

Pedido de Amostra

Para obter a versão mais recente x-ms-version:, consulte REST dos Serviços de Multimédia.

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  
  

Eliminar uma Chave de Conteúdo

As ContentKeys são eliminadas através de um pedido HTTP DELETE.

Método URI do pedido Versão HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1

Pedido de Amostra

Pode experimentar o seguinte exemplo no separador Compositor do Fiddler.

Para obter a versão mais recente x-ms-version:, consulte REST dos Serviços de Multimédia.

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  
  

Consulte também

AccessPolicy
Recurso
AssetFile
Tarefa
JobTemplate
Localizador
MediaProcessor
Tarefa
TaskTemplate
Quotas e Limitações