WMDRM Engine Overview

WMDRM Engine is a component of WMDRM collection. It provides interfaces to perform WMDRM implementations, such as managing WMDRM licenses and decrypting WMDRM content. Applications that require WMDRM functionality must interact with WMDRM plug-ins and Camese components by implementing the interfaces provided by WMDRM engine.

Required Background

Before you start, you must understand the following:

Key concepts

  • Camese: It is the Over-the-air (OTA) download protocol for WMDRM licenses.
  • Secure clock: The clock is for use by secure DRM applications which has TCB capability. For more information, see Date and Time Handling Overview.

Description

WMDRM Engine comprises the following five sub-components:
  • WMDRM CAF Agent: WMDRM CAF Agent implements the CAF Agent interface and plug-in. It allows obtaining rights status information and metadata, and provides a way to delete the data storage as an agent-specific functionality.
    Note: It does not provide functionality to read the decrypted data from ASF content files due to their packetized nature.
  • ASF: ASF is used to read data from ASF files by WMDRM CAF Agent and WMDRM Over The Air (OTA) plug-in.

  • WMDRM Porting Kit Server: WMDRM Porting Kit Server allows you to access functions of the porting kit without the need for DRM capability. For example, to add new usage rights or to check the rights status. It also allows you to access the device certificate and unique id from WMDRM Key Storage. It implements the UI functionality required to be displayed, when license store becomes full or needs to be deleted.

    Note: The Symbian platform does not provide implementation of WMDRM Porting Kit Server. Device creators must provide their own implementation for WMDRM Porting Kit Server.
  • WMDRM Server: The WMDRM Server includes the following functionalities:
    • It manages porting kit data in an encrypted form using SQL database.

    • It implements the data storage functionality and an anti-rollback clock needed for enforcement of time-based licenses.

    • It provides data store state functionality for WMDRM Porting Kit Server. The state information of data store is used to inform the device user to continue synchronizing WMDRM contents to the phone, when the data store runs out of space.

    • It provides data storage deletion functionality for WMDRM Porting Kit Server and WMDRM CAF Agent.

  • WMDRM File Server: The WMDRM File Server has TCB capability and includes the following functionalities:
    • It manages encrypted files in the path c:\sys\private\200b180\

    • It handles low level file server interaction

    • It handles data backwards compatibility and updates the secure time. The secure time can be set using System Static Functions API.

Note: To make the WMDRM content fully functional, device creators must license the WMDRM porting kit from Microsoft and integrate it.