End-User Licenses
An end-user license (EUL) is an XrML license that includes a list of rights granted to a particular user, with certain conditions specified, for one or more pieces of content. This is the license that allows a user to consume content (providing all the conditions are met). An EUL is self-proving, which means that it contains all the information necessary to validate the content.
The content consumer acquires this license by passing the signed issuance license (obtained from the license producer) to the license service specified in the signed issuance license, along with their rights account certificate. The license service determines whether the requesting user matches any users specified in the issuance license, and returns an end-user license that contains all the rights assigned to the user. (If the user is not granted any rights, no license is returned.)
The end-user license is the last license in a certificate chain that leads back to the root, with any number of server licensor certificates in between. If the user's rights account certificate, machine certificates, or lockbox are from a different root, the end-user license cannot be used.
The content consumer then uses AD RMS functions to try to bind to the license. If the license requires revocation lists, the user must obtain them, and if all conditions are met, the user may then use or edit the content (as the license specifies).
The following diagram shows the possible locations of the content key in a generic, unbound license.
The publishing APIs in the current version of AD RMS only allow the creation of a single rights group, "Main-Rights," a single condition list, and a single work. However, DRMCreateBoundLicense allows you to specify a rights group and work, so if you create additional rights groups and works by creating your own XrML, you can bind to the item of your choice. For an example of an end-user license in a chain, see Sample End-User License Chain.
See Also
Binding to the License
Licenses and Certificates
DRMAcquireLicense
Send comments about this topic to Microsoft
Build date: 3/13/2008