Condividi tramite


ContentKey

Un'entità ContentKey corrisponde a una chiave simmetrica e garantisce l'accesso sicuro a un asset. Oltre a creare un'entità ContentKey, è necessario usare una chiave di protezione per crittografare la chiave simmetrica generata. Per altre informazioni sul recupero della chiave di protezione, vedere Crittografare l'asset (facoltativo) e le funzioni API REST.

Questo argomento presenta informazioni generali sull'entità ContentKey e mostra come eseguire varie operazioni con l'API REST di Servizi multimediali.

Importante

Quando si accede alle entità in Servizi multimediali, è necessario impostare valori e campi di intestazione specifici nelle richieste HTTP.
Per altre informazioni, vedere Configurazione per lo sviluppo di API REST di Servizi multimediali e connessione a Servizi multimediali con l'API REST di Servizi multimediali.

Proprietà dell'entità ContentKey

Proprietà Type Descrizione
Id

Obbligatorio. Questo valore non è impostato da Servizi multimediali.
Edm.String Identificatore univoco definito dall'utente.
Created

Di sola lettura. Impostato da Servizi multimediali in fase di creazione.
Edm.DateTime Questo valore viene impostato da Servizi multimediali in fase di creazione.
LastModified

Di sola lettura. Impostata da Servizi multimediali.
Edm.DateTime Questo valore viene aggiornato da Servizi multimediali dopo che vengono apportate modifiche alle proprietà.
ContentKeyType

Facoltativa.
Edm.Int32 Valore di enumerazione che specifica il tipo di chiave simmetrica. I valori validi sono:

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

Facoltativa.
Edm.String Chiave simmetrica crittografata con la chiave pubblica del certificato X.509. La lunghezza massima è 4000.
Name

Facoltativa.
Edm.String Nome descrittivo dell'entità ContentKey. La lunghezza massima è 4000.
ProtectionKeyId

Facoltativa.
Edm.String Identificazione personale del certificato X.509 usato per crittografare le chiavi di crittografia di archiviazione, di crittografia comune o di crittografia di configurazione. Questo valore viene restituito quando viene chiamata la funzione GetProtectionKeyId. La lunghezza massima è 4000.
ProtectionKeyType

Facoltativa.
Edm.Int32 Valore di enumerazione che specifica il tipo di chiave di protezione. I valori validi sono:

- X509CertificateThumbprint = 0
Checksum

Facoltativa.
Edm.String Checksum dell'entità ContentKey. La lunghezza massima è 4000.
AuthorizationPolicyId Edm.String ID dei criteri di autorizzazione associato all'entità ContentKey.

Creare un'entità ContentKey

Le entità ContentKey possono essere create tramite una richiesta HTTP POST.

Metodo URI richiesta Versione HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1

Richiesta di esempio

Per ottenere l'ultima versione x-ms-version:, vedere REST servizi multimediali.

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=" }  
  

Ottenere l'URL di distribuzione delle chiavi

Ottiene l'URL di distribuzione delle chiavi per il metodo di distribuzione della chiave simmetrica specificato. Un client usa l'URL restituito per richiedere una chiave AES oppure una licenza PlayReady allo scopo di riprodurre contenuto protetto.

Specificare il tipo di URL da ottenere nel corpo della richiesta HTTP. Se si protegge il contenuto con PlayReady, richiedere un URL di acquisizione delle licenze PlayReady di Servizi multimediali usando 1 per keyDeliveryType: {"keyDeliveryType":1}. Se si protegge il contenuto con la crittografia busta, richiedere un URL di acquisizione delle chiavi specificando 2 per keyDeliveryType: {"keyDeliveryType":2}.

Metodo URI richiesta Versione HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('ContentkeyId')/GetKeyDeliveryUrl HTTP/1.1

Esempio

È possibile provare l'esempio seguente nella scheda Compositore di Fiddler. L'esempio ottiene l'URL di acquisizione delle licenze PlayReady.

Intestazioni della richiesta:

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 della richiesta:

{"keyDeliveryType":1}  

Se riesce, questa operazione restituisce un codice di stato 200 OK e l'URL specificato. Ad esempio: https://account001.keydelivery.mediaservices.windows.net/PlayReady/.

Elencare le entità ContentKey

Le entità ContentKey possono essere recuperate tramite una richiesta HTTP GET.

Metodo URI richiesta Versione HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys> HTTP/1.1
Metodo URI richiesta Versione HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1
Metodo URI richiesta Versione HTTP
GET <https:// accountname.restv2>.<location.media.azure.net/api/Assets>('assetid')/ContentKeys HTTP/1.1

Richiesta di esempio

Per ottenere l'ultima versione x-ms-version:, vedere REST servizi multimediali.

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  
  

Eliminare un'entità ContentKey

Le entità ContentKey possono essere eliminate tramite una richiesta HTTP DELETE.

Metodo URI richiesta Versione HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/ContentKeys>('contentkeyid') HTTP/1.1

Richiesta di esempio

È possibile provare l'esempio seguente nella scheda Compositore di Fiddler.

Per ottenere l'ultima versione x-ms-version:, vedere REST servizi multimediali.

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  
  

Vedere anche

AccessPolicy
Asset
AssetFile
Processo
JobTemplate
Locator
MediaProcessor
Attività
TaskTemplate
Quote e limitazioni