Issuing Licenses Based on Client Version and Individualization Information

banner art

Previous Next

Issuing Licenses Based on Client Version and Individualization Information

You can issue licenses based on the whether the digital rights management (DRM) component of a consumer's player has received a security upgrade (a process known as individualization). When you receive a license request, retrieve the required individualization version for the content from the content header, then put this value into the WMRMLicGen.IndividualizedVersion property. If the consumer's player meets the individualization requirement, a license is generated. If the consumer's player does not meet the individualization requirement and license generation fails, you can initiate the individualization process indirectly. This process is initiated only when a consumer tries to play a packaged file that requires an individualized player.

Updates to the individualization version are released on an ongoing basis to address issues and possible security breaches. To ensure that consumers have the latest version of the security component, we recommend that you do the following:

Note   To set, require, and detect individualization versions greater than 2.10, you must use version 10.1.1 or later of the Windows Media Rights Manager SDK.

When you receive a license request from a player that has not received a security upgrade (or is not the latest version), you can display a Web page with an embedded packaged file requiring individualization (for example, you can embed a very small dummy file that opens automatically). After the dummy file opens, the consumer is prompted to get a security upgrade. When the consumer installs the security upgrade, you can continue with the license acquisition process.

The following Visual Basic Scripting Edition (VBScript) code example shows how to retrieve the client information.

VBScript Example

' Retrieve the license request from the client computer.
  strLicenseRequested = Request.Form("challenge")

' Set the license request into the WMRMChallenge object.
  ChallengeObj.Challenge = strLicenseRequested

' Retrieve the security version from the client.
    sVerSecurity = ChallengeObj.ClientAttribute("SECURITYVERSION")

    ' TO DO: Perform actions based on the security version number.

' Retrieve the header from the challenge.
  header = ChallengeObj.Header

' Set the header into the WMRMHeader object.
  HeaderObj.header = header

' Retrieve the required individualization version of the client from the
' WMRMHeader object.
  indiversion = HeaderObj.IndividualizedVersion

' Set the required individualization version into the WMRMLicGen object.
  LicGenObj.IndividualizedVersion = indiversion

' Continue generating a license.

See Also

Previous Next

© 2007 Microsoft Corporation. All rights reserved.