---
title: "MediaKeys | JavaScript maps SDK"
description: "Documentation for MapTiler SDK"
---

> For AI agents: a documentation index is available at [/llms.txt](https://docs.maptiler.com/llms.txt). Markdown versions of all pages are available by appending .md to any URL.

# Interface MediaKeys

The **`MediaKeys`** interface of Encrypted Media Extensions API represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback. Available only in secure contexts.

[MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys)

interface MediaKeys {  
    [createSession](#createsession-1)(sessionType?: [MediaKeySessionType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeySessionType/)): [MediaKeySession](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeySession/);  
    [getStatusForPolicy](#getstatusforpolicy-1)(policy?: [MediaKeysPolicy](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeysPolicy/)): Promise<[MediaKeyStatus](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeyStatus/)\>;  
    [setServerCertificate](#setservercertificate-1)(serverCertificate: [BufferSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.BufferSource/)): Promise<boolean\>;  
}

##### Index

### Methods[](#methods)

[createSession](#createsession) [getStatusForPolicy](#getstatusforpolicy) [setServerCertificate](#setservercertificate)

## Methods[](#methods-1)

### createSession[](#createsession)

-   createSession(sessionType?: [MediaKeySessionType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeySessionType/)): [MediaKeySession](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeySession/)[](#createsession-1)
    
    The **`createSession()`** method of the MediaKeys interface returns a new MediaKeySession object, which represents a context for message exchange with a content decryption module (CDM).
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/createSession)
    
    #### Parameters
    
    -   `Optional`sessionType: [MediaKeySessionType](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeySessionType/)
    
    #### Returns [MediaKeySession](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeySession/)
    

### getStatusForPolicy[](#getstatusforpolicy)

-   getStatusForPolicy(policy?: [MediaKeysPolicy](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeysPolicy/)): Promise<[MediaKeyStatus](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeyStatus/)\>[](#getstatusforpolicy-1)
    
    The **`getStatusForPolicy()`** method of the MediaKeys interface is used to check whether the Content Decryption Module (CDM) would allow the presentation of encrypted media data using the keys, based on the specified policy requirements.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/getStatusForPolicy)
    
    #### Parameters
    
    -   `Optional`policy: [MediaKeysPolicy](https://docs.maptiler.com/sdk-js/api-reference/interfaces/Externals.MediaKeysPolicy/)
    
    #### Returns Promise<[MediaKeyStatus](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.MediaKeyStatus/)\>
    

### setServerCertificate[](#setservercertificate)

-   setServerCertificate(serverCertificate: [BufferSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.BufferSource/)): Promise<boolean\>[](#setservercertificate-1)
    
    The **`setServerCertificate()`** method of the MediaKeys interface provides a server certificate to be used to encrypt messages to the license server.
    
    [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate)
    
    #### Parameters
    
    -   serverCertificate: [BufferSource](https://docs.maptiler.com/sdk-js/api-reference/types/Externals.BufferSource/)
    
    #### Returns Promise<boolean\>
