Objects
Previous | Next |
Objects
The following diagram illustrates the objects you must use to package a Windows Media file. To package content in response to a consumer request, you must create a Windows Media file that contains a version 10 header, a version 1 header, and the encrypted content.
When a consumer submits a request to play content, you must create a header containing the following items. It is recommended that you use a database to store these.
Item | Description |
License acquisition URL | URL of the Web site used to issue licenses. |
Individualized version number | An optional number identifying the individualized client version needed to play the content on the consumer's computer. |
Content ID | An optional string that uniquely identifies the content. The inclusion of a content ID is strongly recommended. |
Key ID | A string used by both the content packager and the license issuer to generate a key. |
Attributes | Optional name-value pairs that can be used to identify the content owner, the name of the author, the type of content, and so on. The use of attributes is strongly recommended. |
The following items are not included in the header.
Item | Description |
Key | A value used to encrypt the content. |
License key seed | A secret shared between the content packager and the license issuer. The license key seed and the key ID are used to generate the key. |
Private signing key | Private key used by the content packager to sign the header. |
Public signing key | Public key generated by the content packager and delivered to the license issuer to use when verifying the header. |
You can use the WMRMKeys object to create the key, key ID, license key seed, content ID, private signing key and public signing key. You must use the WMRMHeader object to retrieve the required items, and create and sign a content header. Signing is required.
You must use the WMRMProtect object to encrypt the clear content and package it, along with the version 1 and version 10 headers, in a Windows Media file.
The following diagram illustrates the objects you must use to create and deliver a license.
To request a license, the player on the consumer's computer posts a challenge to the license issuer. A challenge consists of the version 10 content header, information about the consumer's computer, a list of requested actions, and an optional version 1 challenge. You must use the WMRMChallenge object to retrieve these items.
In the current Windows Media Rights Manager release, the action list in the challenge requests only the right to play the encrypted content. The content packager can specify additional rights by using the WMRMRights object. If the content packager and the license issuer are not the same person or organization, then the content packager must tell the licence issuer which rights to issue with the license.
To create licenses, a license issuer requires a certificate from Windows Media License Service. To sign the license, the license issuer uses the private signing key.
After you have retrieved the challenge and specified the rights, you must use the WMRMLicGen object to create and sign a license. The license contains the encrypted key used to encrypt the content, the specified rights, information about the client computer, optional attributes, a priority number, and the certificate of the license issuer.
You must use the WMRMResponse object to generate a response string for the licenses to be transmitted to Windows Media Rights Manager on the consumer's computer.
The Windows Media Rights Manager SDK has been designed for scripting languages. It supports the following objects.
Object | Description |
Download | Enables a content header to be modified dynamically. |
LicenseGenerator | Creates version 1 licenses. |
RMGetLicense | Enables client-side license acquisition. |
WMRMChallenge | Processes a license request. |
WMRMHeader | Manages content headers. |
WMRMKeys | Manages encryption keys and license key seeds. |
WMRMLicenseRevocationAcknowledger | Receives an acknowledgement from the client confirming that the specified licenses were revoked. |
WMRMLicenseRevocationChallenge | Receives a license revocation challenge from the client computer, initiating the process to revoke licenses. |
WMRMLicenseRevocationResponse | Generates a license revocation response. This response is sent to the client and indicates which licenses to revoke. |
WMRMLicenseStateData | Retrieves data from the licenses in a license chain, enabling the License Service to determine which licenses must be reissued. |
WMRMLicGen | Generates licenses. |
WMRMMetering | Used by a metering aggregation service to gather metering data from client applications, such as media players. The data is sent by the client in the form of a metering challenge. After the data has been collected, the metering aggregation service must send a response to the client so that the client can clear and reset the data store. |
WMRMMeteringAction | Retrieves information about a specific metered action. |
WMRMMeteringActionCollection | Manages a collection of metered actions for one content item. |
WMRMMeteringContent | Manages metering data for individual content items. |
WMRMMeteringContentCollection | Manages metering data that is organized by content. From this collection, you can retrieve the count of metered actions for individual content items. |
WMRMMeteringData | Retrieves metering information from the WMRMMetering object. |
WMRMProtect | Encrypts files. |
WMRMResponse | Delivers a license to the consumer. |
WMRMRestrictions | Defines which media technologies can or cannot be used for playing or copying protected content. |
WMRMRights | Specifies the rights that govern the use of encrypted content. |
WMRMTools | Generates a content revocation string. |
WMRMUplink | Manages information about the elements in a license chain. |
WMRMUplinkCollection | Manages a collection of WMRMUplink objects, which correspond to the elements in a license chain specified in the license request. |
See Also
Previous | Next |