com.adobe.flashaccess.sdk.protocol
Class HandlerConfiguration

java.lang.Object
  extended by com.adobe.flashaccess.sdk.protocol.HandlerConfiguration

public class HandlerConfiguration
extends java.lang.Object

This class contains configuration information used by various Flash Access handlers.

A context instance is not guaranteed to be synchronized against concurrent access by multiple threads. Threads that need to access a single context instance concurrently should be synchronized amongst themselves and provide the necessary locking.


Field Summary
static java.lang.String licenseAuditLogCategory
          The log category used for license audit information if isLogRequestData == true.
 
Constructor Summary
HandlerConfiguration()
          Creates an empty HandlerConfiguration instance.
 
Method Summary
 java.util.List getAdditionalServerTransportCredentials()
          Retrieves additional server transport credentials (certificate and private key) issued by the Flash Access CA, which are allowed for decrypting requests.
 ModuleRequirements getDRMModuleRequirements()
          Retrieves the DRM versions that are restricted.
 PolicyUpdateList getPolicyUpdateList()
          Retrieves the list of policies which have either been revoked or updated (post-packaging) by the server.
 RevocationList getRevocationList()
          Retrieves a list of revoked certificates.
 ModuleRequirements getRuntimeModuleRequirements()
          Retrieves the runtime versions that are restricted.
 ServerConfigData getServerConfigData()
          Retrieves the server configuration data to respond to client requests for the server's current server configuration data.
 ServerCredential getServerTransportCredential()
          Retrieves the server transport credential (certificate and private key) issued by the Flash Access CA.
 int getTimestampTolerance()
          Retrieves the maximum time, in seconds, allowed by the server between the time in the request and the server's time.
 boolean isLogLicensesIssued()
          Determines whether license audit information will be written to the log using the log category com.adobe.flashaccess.sdk.protocol.license.Audit and log level information.
 boolean isLogRequestData()
          Determines whether unencrypted requests/responses are logged to aid in debugging during server development.
 void setAdditionalServerTransportCredentials(java.util.Collection serverCredentials)
          Sets the additional server transport credentials (certificate and private key) issued by the Flash Access CA, which are allowed for decrypting requests.
 void setDRMModuleRequirements(ModuleRequirements requirements)
          Sets the DRM versions that are restricted.
 void setLogLicensesIssued(boolean logLicensesIssued)
          Sets whether license audit information will be written to the log using log category com.adobe.flashaccess.sdk.protocol.license.Audit.
 void setLogRequestData(boolean logRequestData)
          Sets whether unencrypted requests/responses are logged to aid in debugging during server development.
 void setPolicyUpdateList(PolicyUpdateList policyUpdateList)
          Sets the list of policies which have either been revoked or updated (post-packaging) by the server.
 void setRevocationList(RevocationList revocationList)
          Sets the list of revoked certificates.
 void setRuntimeModuleRequirements(ModuleRequirements requirements)
          Sets the runtime versions that are restricted.
 void setServerConfigData(ServerConfigData serverConfigData)
          Sets the server configuration data to respond to client requests for the server's current server configuration data.
 void setServerTransportCredential(ServerCredential serverCredential)
          Sets the server transport credential (certificate and private key) issued by the Flash Access CA.
 void setTimestampTolerance(int timestampTolerance)
          Sets the maximum time, in seconds, allowed by the server between the time in the request and the server's time.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

licenseAuditLogCategory

public static final java.lang.String licenseAuditLogCategory
The log category used for license audit information if isLogRequestData == true.

See Also:
Constant Field Values
Constructor Detail

HandlerConfiguration

public HandlerConfiguration()
Creates an empty HandlerConfiguration instance. By default, request data is not logged, and no checking is done to ensure the client's timestamp is close to the server's time.

Method Detail

getServerTransportCredential

public ServerCredential getServerTransportCredential()
Retrieves the server transport credential (certificate and private key) issued by the Flash Access CA. The private key is used for such operations as decrypting requests, signing responses, and signing authentication tokens.

Returns:
The server transport credential.

setServerTransportCredential

public void setServerTransportCredential(ServerCredential serverCredential)
Sets the server transport credential (certificate and private key) issued by the Flash Access CA. The private key is used for decrypting requests, signing responses, and signing authentication tokens.

Parameters:
serverCredential - The server's certificate and key.

getAdditionalServerTransportCredentials

public java.util.List getAdditionalServerTransportCredentials()
Retrieves additional server transport credentials (certificate and private key) issued by the Flash Access CA, which are allowed for decrypting requests. Only the server credential specified using HandlerConfiguration.setServerTransportCredential(ServerCredential) will be used for signing responses and authentication tokens.

Returns:
List<ServerCredential> containing additional server transport credentials.

setAdditionalServerTransportCredentials

public void setAdditionalServerTransportCredentials(java.util.Collection serverCredentials)
Sets the additional server transport credentials (certificate and private key) issued by the Flash Access CA, which are allowed for decrypting requests. Only the server credential specified using HandlerConfiguration.setServerTransportCredential(ServerCredential) will be used for signing responses and authentication tokens.

Parameters:
serverCredentials - List<ServerCredential> specifying the server's transport credentials (each credential includes a certificate and key).

getRevocationList

public RevocationList getRevocationList()
Retrieves a list of revoked certificates.

Returns:
The list of revoked certificates.

setRevocationList

public void setRevocationList(RevocationList revocationList)
Sets the list of revoked certificates. If the revocation list has an expiration date, the caller is responsible for passing in an updated revocation list before the expiration date. Attempts to use an expired Revocation List will result in an ExpiredRevocationListException when the list is checked.

Parameters:
revocationList - The list of revoked certificates.

getDRMModuleRequirements

public ModuleRequirements getDRMModuleRequirements()
Retrieves the DRM versions that are restricted.

Returns:
The restricted DRM versions, or null if there are no restrictions on the DRM version.

setDRMModuleRequirements

public void setDRMModuleRequirements(ModuleRequirements requirements)
Sets the DRM versions that are restricted. If DRM module requirements are set, the DRM module must meet the specified requirements. Otherwise, there are no restrictions on the DRM module (unless a license is being requested and restrictions are specified in a policy).

Parameters:
requirements - The DRM module restrictions.

getRuntimeModuleRequirements

public ModuleRequirements getRuntimeModuleRequirements()
Retrieves the runtime versions that are restricted.

Returns:
The restricted runtime versions, or null if no restrictions set.

setRuntimeModuleRequirements

public void setRuntimeModuleRequirements(ModuleRequirements requirements)
Sets the runtime versions that are restricted. If runtime module requirements are set, the runtime module must meet the specified requirements. Otherwise, there are no restrictions on the runtime module (unless a license is being requested and restrictions are specified in a policy).

Parameters:
requirements - The runtime module restrictions.

getPolicyUpdateList

public PolicyUpdateList getPolicyUpdateList()
Retrieves the list of policies which have either been revoked or updated (post-packaging) by the server. Before processing a policy from a client license request, this list is consulted to determine if a newer policy exists or if the policy in question has been revoked.

Returns:
The list of policies which have either been revoked or updated (post-packaging) by the server.

setPolicyUpdateList

public void setPolicyUpdateList(PolicyUpdateList policyUpdateList)
Sets the list of policies which have either been revoked or updated (post-packaging) by the server. If the policy update list has an expiration date, the caller is responsible for passing in an updated policy update list before the expiration date. Attempts to use an expired Policy Update List will result in an ExpiredPolicyUpdateListException when the list is checked.

Parameters:
policyUpdateList - The list of policies which have either been revoked or updated (post-packaging) by the server.

getServerConfigData

public ServerConfigData getServerConfigData()
Retrieves the server configuration data to respond to client requests for the server's current server configuration data.

Returns:
The server configuration data.

setServerConfigData

public void setServerConfigData(ServerConfigData serverConfigData)
Sets the server configuration data to respond to client requests for the server's current server configuration data. During requests, a client may indicate what version of the server config data it has locally. If the client's local version is less than the version set here, the newest server config data will be sent to the client.

Parameters:
serverConfigData - The server configuration data.

getTimestampTolerance

public int getTimestampTolerance()
Retrieves the maximum time, in seconds, allowed by the server between the time in the request and the server's time. The timestamp tolerance can be used to limit replay attacks; requests that are too old will be rejected.

Returns:
The timestamp tolerance.

setTimestampTolerance

public void setTimestampTolerance(int timestampTolerance)
Sets the maximum time, in seconds, allowed by the server between the time in the request and the server's time. The timestamp tolerance can be used to limit replay attacks; requests that are too old will be rejected.

Parameters:
timestampTolerance - The timestamp tolerance.

isLogRequestData

public boolean isLogRequestData()
Determines whether unencrypted requests/responses are logged to aid in debugging during server development.

Returns:
true if request data will be logged, false otherwise.

setLogRequestData

public void setLogRequestData(boolean logRequestData)
Sets whether unencrypted requests/responses are logged to aid in debugging during server development.

Parameters:
logRequestData - true if request data will be logged, false otherwise.

isLogLicensesIssued

public boolean isLogLicensesIssued()
Determines whether license audit information will be written to the log using the log category com.adobe.flashaccess.sdk.protocol.license.Audit and log level information.

The audit information will include:

No audit information is written for preview licenses.

Returns:
true if license audit information will be logged, false otherwise.

setLogLicensesIssued

public void setLogLicensesIssued(boolean logLicensesIssued)
Sets whether license audit information will be written to the log using log category com.adobe.flashaccess.sdk.protocol.license.Audit.

Parameters:
logLicensesIssued - true if license audit information will be logged, false otherwise.


[an error occurred while processing this directive] [an error occurred while processing this directive]