Detecting Client Versions and Capabilities
License issuers can issue licenses that are based on different information about the client making the request. A license request contains information such as the version of the client player and the version of the security component. Using this information, you can determine the type of license to issue.
Basing a license on client version
While it is possible to issue a version 10 license without any backward-compatibility issues because each version of Windows Media DRM offers different features, the license issuer might find it more efficient and effective to issue different licenses that are based on the client version. For example, Windows Media Rights Manager 10 offers new rights that cannot be interpreted by version 9 players.
- Retrieve the client version using the WMRMChallenge.ClientVersion property. This property is only available in the Windows Media Rights Manager 10 SDK.
Basing a license on security version
License issuers may also want to issue licenses based on security version, which indicates whether the client has been individualized and to which version.
- For information about the latest security version, go to the Microsoft Web site https://licenseserver.windowsmedia.com/ and click View the latest individualization information.
- Retrieve the security version using the WMRMLicGen.GetClientVersion method. Although you can find this value using other properties, using the WMRMLicGen.GetClientVersion method is recommended because the resulting value is digitally signed and cannot be tampered with.
- To require a client to be individualized in order to receive a license, when protecting content, set the WMRMHeader.IndividualizedVersion property to the current minimum security version. When a player tries to play this content and has not yet been individualized or does not meet the minimum security version, the user is prompted to individualize the player before continuing.
Basing a license on whether a device is making the request
License issuers may want to issue different licenses, depending on whether the license request comes from a computer or a device. You can determine the source of the request from the client information that is returned by the WMRMChallenge.ClientInfo property. If the license request is from a device, this XML string contains a <DEVCERT> node. Then, the license issuer could generate a license specifically for devices. For example, licenses have a size limit of 5K characters, and the license issuer might want to issue different licenses for devices.
See Also