License server and watched folder packager overview

The reference implementation server can help you create a license server using the Adobe Access SDK. In this implementation, users are authenticated based on user entries in a database. The server includes demonstration business logic for issuing licenses. It also implements compatibility support for Flash Media Rights Management Server 1.0 and 1.5.

The reference implementation server also includes a watched folder implementation of the packager. This component may be deployed along with the license server or on a separate machine. With this packager implementation, multiple watched folders can be created. When content is dropped into the watched folder, the packager automatically packages the content.

The license server and packager are deployed as separate WAR files, so you can choose whether to run them on separate servers or in a single Apache Tomcat® instance. The license server is in the flashaccess.war and the packager is in flashaccess-packager.war. The optional edcws.war contains support for license requests from FMRMS 1.x clients.

The Reference Implementation sample code demonstrates the following features:

  • License Server:

    • Handling authentication requests, using a database to validate username/password
    • Handling license requests and determining which type of license to issue when license chaining is used.
    • Issuing licenses for content containing multiple policies
    • Issue licenses that support Remote Key delivery to iOS clients (requires Adobe Primetime)
    • Issuing licenses that require an external lookup/retrieval of the Content Encryption Key (CEK)
    • Using database to determine if user is authorized to view content
    • Using policy update lists
    • Using machine revocation lists
    • Using an HSM or PKCS12 file to store credentials
    • Encrypting passwords specified in properties file
    • Specifying multiple license server or transport credentials (after credentials are renewed, the old credentials are kept on the server so existing content can be consumed without needing to repackage)
    • Restricting DRM/Runtime versions allowed to make requests to the license server
    • Setting client clock windback preferences
    • Restricting time difference allowed between request time and server time (to prevent replay attacks)
    • Handling requests from FMRMS 1.x clients (triggers FMRMS 1.x client to upgrade to Adobe Access 2.0 or later)
    • Converting FMRMS 1.x metadata to Adobe Access metadata on the fly, using FMRMS 1.x license information stored in a database
    • Sample code for converting FMRMS 1.x policies to Adobe Access policies
    • Sample scripts for importing FMRMS 1.x license information from an existing database
    • Get Server Version
    • Domain registration
    • Domain de-registration
    • Synchronization requests
    • License Return
  • Packager Server:

    • Implementing a packager implementation that automatically packages content added to a watched folder
    • Using an HSM or PKCS12 file to store credentials
    • Encrypting passwords specified in properties file
    • Configuring the packager, creating policies, and creating policy update lists using an AIR application

On this page