Issuing Licenses Based on Client Version and Individualization Information
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:
- Use the WMRMLicGen.IndividualizedVersion property to enforce the latest security version. While you can use the minimum required value that is specified in the content header (as shown in the example code that follows), you can also specify the latest value recommended by Microsoft. For the latest individualization version information, see the Microsoft Web site https://licenseserver.windowsmedia.com/.
- Query the client's security version using the WMRMChallenge.ClientAttribute property.
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
- Generating and Issuing Licenses
- Keeping the Registry Current on the Licensing Server
- Requiring Individualized Players
- RMGetLicense.GetSystemInfo
- Simple License Generation
- WMRMChallenge Object
- WMRMLicGen Object
Previous | Next |