Use the Checks pages in DashO to enable runtime check injection, choose how annotations are processed, add checks and responses, and select the methods where DashO injects protection code. Most check types use the same table and configuration fields. Shelf Life and Tamper add feature-specific settings.
Configure check injection options
Navigate to Checks and configure the following settings:
| Setting | Description |
|---|---|
| Enable Check Injection | Enables or disables runtime check injection for the project. |
| Honor Annotations | Includes supported check annotations from the application code and merges them with checks configured in DashO. |
| Strip Annotations | Removes supported DashO check annotations from the processed input classes. |
| Java Environment | Selects the target runtime environment and determines which check and Shelf Life runtime implementations DashO uses. |
Use the check table
Each feature page contains a table of configured checks and responses.
| Column | Description |
|---|---|
| Type | Identifies whether the row is a check or a response. |
| Description | Summarizes the classes and methods where DashO injects the check or response. |
| Properties | Summarizes the action, response, probability, and other feature-specific settings. |
- Select Add and choose a check or response to create a configuration.
- Select an existing row and choose Edit to update it.
- Select an existing row and choose Delete to remove it.
Configure a check
| Field | Description |
|---|---|
| Action | Optional field or method that receives the check result. Most checks return true when triggered and false when not. |
| Response | Built-in action to perform when the check is triggered: None, Exit, Hang, Error, or Exception. |
| Where | Inject at the Beginning, End, or both of each selected method. |
| Locations | Select methods directly or define a selection rule. |
Android behavior: Exit closes only the top Activity. The application closes if that Activity is the only one on the stack.
Configure a separate response
| Field | Description |
|---|---|
| Source | Boolean field or method that indicates whether the corresponding check was triggered. |
| Response | Built-in action to perform when the source value is true. |
| Probability | Likelihood that the built-in response runs, from 0.0 to 1.0. The default is 1.0. |
| Where | Inject at the Beginning, End, or both of each selected method. |
| Locations | Select methods directly or define a selection rule. |
Define a selection rule
A selection rule identifies the methods where DashO inserts a check or response. Configure these fields:
| Field | Description |
|---|---|
| Type | Use a DashO pattern or a regular expression. |
| Class Modifiers | Optional class modifiers used to narrow the match. |
| Full Class Name | Fully qualified class name or matching expression. |
| Method Modifiers | Optional method modifiers used to narrow the match. |
| Method Name | Method name or matching expression. |
| Method Signature | Method signature or matching expression. |
Configure Shelf Life checks
Checks > Shelf Life uses the standard check table and adds project defaults. Individual Shelf Life checks can override or supplement those defaults.
| Field | Description |
|---|---|
| Key File | Location of the Shelf Life activation-key file issued by PreEmptive. |
| Expiration Date | Absolute expiration date in MM/DD/YYYY format. |
| Warning Date | Absolute date when expiration warnings begin, in MM/DD/YYYY format. |
| Properties | Custom name-value pairs stored in the token and available to a custom Shelf Life action. |
| Start Date Source | Field or method that supplies a java.util.Date for relative expiration. |
| Expiration Period | Number of days from the runtime start date until expiration. |
| Warning Period | Number of days before expiration when warnings begin. |
| Token Source | Field or zero-argument method that supplies an external token as a java.io.Reader. |
Configure Tamper checks
Checks > Tamper uses the standard check fields and adds signing-certificate settings:
| Field | Description |
|---|---|
| Keystore | URL of the keystore. The default is .keystore in the current user's home directory. |
| Keystore Type | Keystore format, such as JKS or PKCS12. The default is the type used by the JVM running DashO. |
| Keystore Password | Password used to open the keystore. DashO can store a value entered in the UI in encoded form. |
| Alias | Alias of the expected signing key or certificate. Android projects can specify multiple aliases separated by commas. |
Standard mode: If the four Tamper signing fields are blank, DashO uses the keystore and alias configured on the Output Signing page.
Android mode: The DashO Gradle Plugin for Android supplies the signing keystore and alias as default values for Tamper checks.