Windows Media Rights Manager SDK banner art

Choosing the Rights to Allow in Licenses

This topic provides guidelines for setting rights for digital media files that are available for downloading or streaming, and for files based on Windows Media Rights Manager 1.

Rights for Downloaded Packaged Files

Use the following guidelines when setting rights for digital media files that you provide for download:

  • Set an expiration date. For example, set licenses to expire at the end of each month. The expiration date might also include a few extra days for late payment.

  • Allow unlimited play (rather than limiting the number of times a file can be played).

  • Allow or disallow transfer of files to a portable device, depending on how strictly you want to restrict playback of expired files. Many portable devices based on Portable Device DRM version 1 do not enforce expiration dates. That is, if a license for a digital media file expires, the consumer cannot play it on his or her computer. But if the file is transferred to a portable device, the consumer could continue to play the file after the expiration date. Devices based on Windows Media DRM 10 for Portable Devices, however, can support more features such as license chains, secure clocks, and metering. 

    The AllowTransferToSDMI and AllowTransferToNonSDMI rights allow content to be transferred to device that supports Portable Device DRM version 1 or Windows Media DRM 10 for Portable Devices. The AllowCopy right only allows content to be transferred to devices that support Windows Media DRM 10 for Portable Devices.

    If you do allow transfer of files to portable device, you can restrict the number of transfers that are allowed.

  • Do not allow files to be copied to CD. Packaged files that are copied to a CD are no longer secure.

  • Do not allow the back up and restoration of licenses. The backup and restore feature is primarily for those consumers who purchase digital media files and want to have backups of their licenses. You should set up a different method of reissuing licenses to those consumers who lose their licenses.

The following code is an example of how you might specify rights for a subscription service that allows downloads:

With rightsObj
    .AllowPlay = true
    .ExpirationDate = "#20051201Z#"
    .AllowBackupRestore = false
    .DisableOnClockRollback = true
    .MinimumSecurityLevel = 1000
    .AllowCopy = false
    .AllowTransferToSDMI = false
    .AllowTransferToNonSDMI = false
    .AllowPlaylistBurn = false
    .AllowCopy = false
End With

Rights for Streamed Packaged Files

Use the following guideline when setting rights for digital media files that you stream:

  • Set an expiration date. Applications are available that allow a consumer to save a streamed file to their computer. If you do not want consumers to be able to play saved copies of your files, set an expiration date (such as the next day). This date ensures that the consumer can play the digital media file as it is streamed, but cannot play a saved stream past the expiration date you set.

Rights for Files Packaged with Windows Media Rights Manager 1

If you issue version 1 licenses, you must set rights differently. Another point to consider is that the technology in Windows Media Rights Manager SDK offers greater security and improved revocation—features such as Secure Audio Path and Individualization are not available in version 1, nor are rights such as DisableOnClockRollBack.

  • Set rights using the varRights parameter of the LicenseGenerator.IssueLicense method. This parameter is a set of two 32-bit arrays (four bytes each). To allow the right to play the file (and disallow all other rights), the first byte in each array is set to 5. The following code example shows how the sample page Getlic.asp in the Windows Media Rights Manager v1 installation could be modified:

    rights(0) = 5
    rights(1) = 0
    rights(2) = 0
    rights(3) = 0
    
    rights(4) = 5
    rights(5) = 0
    rights(6) = 0
    rights(7) = 0
    

    For information about setting rights in Windows Media Rights Manager version 1, see Understanding and Setting License Properties in Windows Media Rights Manager 1 on the MSDN Web site.

  • Expiration is set by using the varNumDaysToExpiry parameter of the LicenseGenerator.IssueLicense method. You cannot specify an expiration date, but rather an expiration period in days. The expiration date is then calculated when the license is issued, according to the issue date of the license. For example, set this value to 30 if you want licenses to expire 30 days after they are issued.

  • The minimum application security level for players is set by using the varMinClientSecurity parameter of the LicenseGenerator.IssueLicense method.

For an example of how the LicenseGenerator.IssueLicense method is used, see the sample page Getlic.asp, which is included with Windows Media Rights Manager 1.

See Also