Checks(チェック)
Checks — Options
Checks — Options パネルは、アプリケーションにチェックを差し込む設定を制御する場所です。 チェックの差し込みを有効または無効にし、アノテーション処理を定義して、アプリケーションの Java ランタイム環境を選択します。
Enable Check Injection
この機能を有効または無効にします。差し込みは、アプリケーションに改ざんチェック、デバッグ チェック、ルート チェック、および使用期限切れを追加するために使用されます。
Honor Annotations
コードに含まれる PreEmptive チェック アノテーションの参照を使用するか、または無視します。 コード内のアノテーションがチェックの設定とマージされることで、チェックの一覧を確認できるようになります。
Strip Annotations
PreEmptive チェック アノテーションの参照を入力クラスから除去します。
Java Environment
これは、アプリケーションのランタイム環境を選択し、使用するチェック実装と使用期限の実装 jar ファイルを決定します。
Checks — Debug
Checks — Debug パネルは、DebuggingCheck、DebuggingResponse、DebugEnabledCheck、および DebugEnabledResponses を構成する場所です。
Checks — Debug は標準の列を使用します。
Debugging Check
DebuggingCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Debugging Check は標準の構成を使用します。
Debugging Response
DebuggingResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Debugging Response は標準の構成を使用します。
Debug Enabled Check
DebugEnabledCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Debug Enabled Check は標準の構成を使用します。
Debug Enabled Response
DebugEnabledResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Debugging Enabled Response は標準の構成を使用します。
Checks — Emulator
Checks — Emulator パネルは、EmulatorChecks および EmulatorResponses を構成する場所です。
Checks — Emulator は標準の列を使用します。
Emulator Check
EmulatorCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Emulator Check は標準の構成を使用します。
Emulator Response
EmulatorResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Emulator Response は標準の構成を使用します。
Checks — Hook
Checks — Hook パネルは、HookChecks および HookResponses を構成する場所です。
Checks — Hook は標準の列を使用します。
Hook Check
HookCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Hook Check は標準の構成を使用します。
Hook Response
HookResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Hook Response は標準の構成を使用します。
Checks — Root
Checks — Root パネルは、RootChecks および RootResponses を構成する場所です。
Root Check
RootCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Root Check は標準の構成を使用します。
Checks — Root は標準の列を使用します。
Root Response
RootResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Root Response は標準の構成を使用します。
Checks — Shelf Life
Checks — Shelf Life パネルは、アプリケーションの ShelfLifeChecks を構成する場所です。
DashO はこの情報を使用して、期限切れのポリシーを実施するためにコード内に配置される、期限切れトークンを作成します。
Check は、このパネルで構成した場所、あるいは @ShelfLifeCheck
コード アノテーションが使用される場所に基づいて差し込まれます。
Checks — Shelf Life は標準の列を使用します。
Defaults
ここで定義された情報は、Check がこれらの既定値を上書きしない限り、個々のすべての Check に使用されます。 また、生成されたトークンに追加するプロパティを定義する場合にも使用されます。
Key File
PreEmptive Solutions から受け取った、Shelf Life のキー ファイルの場所を入力します。 このファイルは、アプリケーションに Shelf Life チェックを追加することを許可します。
Expiration Date
アプリケーションは、明示的な日付、または動的に決定される開始日から特定の日数後に期限が切れるよう構成することができます。
日付の書式は、地域の設定に関係なく常に MM/DD/YYYY
形式になります。
Warning Date
アプリケーションは、明示的な日付、または期限切れになる予定の特定の日数前に期限切れの警告を発するよう構成することができます。
日付の書式は、地域の設定に関係なく常に MM/DD/YYYY
形式になります。
Properties
アプリケーションで取得できる期限切れトークンに、任意のプロパティを追加することができます。この機能を使用するには、ShelfLifeCheck
にユーザー定義の操作を提供する必要があります。この処置法は、これらのプロパティを取得できる期限切れトークンに渡されます。
ここで留意すべきは、プロパティ名と値の両方に DashO のプロパティ参照を含むことができるということです。
メモ:
このパネルで提供される情報は、ShelfLifeCheck
または@ShelfLifeCheck
コード アノテーションによって、オーバーライドまたは補完することができます。
Shelf Life Check
ShelfLifeCheck を、選択した場所(Locations)に差し込まれるよう構成します。
Shelf Life Check には、Response
を除くすべての標準フィールドがあるほかに、6 つの追加フィールドがあります。
- Expiration Date – アプリケーションの有効期限が切れる絶対日付。
MM/DD/YYYY
形式です。 - Warning Date – 期限切れに関する警告を開始する絶対日付。
MM/DD/YYYY
形式です。 - Start Date Source – 実行時に
java.util.Date
として提供される開始日のソース。 詳細については、ソースおよび操作の指定を参照してください。 - Expiration Period – 相対的な有効期限。開始日からの日数を示します。
- Warning Period – 相対的な警告期間。有効期限までの日数を示します。
- Token Source – Shelf Like トークンを外部で管理する場合に、
java.io.Reader
とするトークンのソース。 詳細については、ソースおよび操作の指定を参照してください。
Checks — Tamper
Checks — Tamper パネルは、TamperCheck および TamperResponse を構成する場所です。
Checks — Tamper は標準の列を使用します。
Tamper Check
TamperCheck を、選択した場所(Locations)に差し込まれるよう構成します。 Tamper Check には、すべての標準フィールドがあるほかに、4 つの追加フィールドがあります。
- Keystore – キー ストアの URL。既定値はユーザーのホーム ディレクトリの
.keystore
になります。 DashO プロパティを参照できます。 - Keystore Type(キー ストアの種類) - キー ストアの種類。既定値として使用されるのは、DashO を実行する JVM(例:
JKS
またはPKCS12
)によって指定された種類です。 DashO プロパティを参照できます。 - Keystore Password – キー ストアのパスワード。ユーザー インターフェイスはこれをエンコード形式で格納しますが、値はプレーン テキストで指定できます。 DashO プロパティを参照できます。
- Alias – キー ストアに非公開鍵を格納するために使用される別名。 DashO プロパティを参照できます。
メモ:
上記 4 つのフィールドを空白のままにすると、Output ー Signing ページのキー ストアおよび別名情報が使用されます。
Tamper Response
TamperResponse を、選択した場所(Locations)に差し込まれるよう構成します。 Tamper Response は標準の構成を使用します。
チェックとレスポンスの構成
チェック テーブル
チェックとレスポンスを示すテーブルには共通の列があります。
- Type 列は、種類(Check または Response)を示します。
- Description 列は、Check または Response が挿入される、コードのメソッドやクラス内の場所を示します。
- Properties 列では、その特定の Check または Response 用の設定を示します。
ツール ヒントが展開し、場所やプロパティの詳細が表示されます。
チェック
チェックには、多くの共通構成要素があります。
- Action - 任意のカスタム動作。詳細については、ソースおよび操作の指定を参照してください。
この
action
には通常、トリガーされる場合はtrue
、されない場合はfalse
が渡されます。 - Response - チェックがトリガーされたときに実行するレスポンス。
- None – 何もしない(既定)。
- Exit – ランダムなゼロ以外のリターン コードを生成してアプリケーションを終了する。
- Hang – 差し込まれたチェックを実行している現在のスレッドを無期限にハングさせる。
- Error –
java.lang.Error
の、ランダムに選択されたサブクラスをスローする。 - Exception –
java.lang.Exception
の、ランダムに選択されたチェックされていないサブクラスをスローする。
- Where – コードを差し込む、メソッド内の場所。
- Beginning – メソッドの最初の部分(既定)。
- End – メソッドの最後の部分。
- Beginning and End – メソッドの最初と最後の部分。
- Locations – チェックを挿入する場所。 Locations を参照してください。
メモ:
Android では、exit
はアクティビティ スタックの最上にあるActivity
のみを閉じます。 スタックにActivity
が 1 つしかない場合は、アプリケーションが閉じます。
レスポンス
すべてのレスポンスは、互いに同じように動作します。
- Source – チェックがトリガーされたかどうかを判断するソース。 詳細については、ソースおよび操作の指定を参照してください。
- Response -
source
が、チェックがトリガーされたことを示す(つまり、true
)場合に、実行するレスポンス。- None – 何もしない(既定)。
- Exit – ランダムなゼロ以外のリターン コードを生成してアプリケーションを終了する。
- Hang – 差し込まれたレスポンスを実行している現在のスレッドを無期限にハングさせる。
- Error –
java.lang.Error
の、ランダムに選択されたサブクラスをスローする。 - Exception –
java.lang.Exception
の、ランダムに選択されたチェックされていないサブクラスをスローする。
- Probability -
Response
(つまりExit
、Hang
、Error
、またはException
)が発生する確率。0.0
から1.0
までの小数を指定できます(既定値:1.0
)。 - Where – コードを差し込む、メソッド内の場所。
- Beginning – メソッドの最初の部分(既定)。
- End – メソッドの最後の部分。
- Beginning and End – メソッドの最初と最後の部分。
- Locations – レスポンスを挿入する場所。 Locations を参照してください。
メモ:
Android では、exit
はアクティビティ スタックの最上にあるActivity
のみを閉じます。 スタックにActivity
が 1 つしかない場合は、アプリケーションが閉じます。
Locations
チェックとレスポンスは 1 つまたは複数の場所へ差し込むことができます。 メソッドを手動で選択する、あるいは選択規則を作成することができます。
Selection Rule
選択するメソッド(単一または複数)を決定するためのパターンまたは正規表現を構成します。
- Type – 正規表現またはパターン。
- Class Modifiers – 任意のクラス修飾子。
- Full Class Name – クラスの完全修飾名。
- Method Modifiers – 任意のメソッド修飾子。
- Method Name – メソッドの名前。
- Method Signature – メソッドの署名。
メモ:
名前と署名のフィールドに有効なエントリを入力する必要があります。
任意の修飾子に使用する値については、Modifiers 属性の説明を参照してください。
名前および署名に使用する値については、パターンおよび正規表現を参照してください。