ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Adaptive Access Manager開発者ガイド
11gリリース2(11.1.2)
B71697-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

20 仮想認証デバイスの開発

OAAMには、非常にセキュアな仮想認証デバイス一式が、ユーザーの選択に応じてデプロイできるサンプルとして組み込まれています。これらのサンプルの変更は、カスタム開発と見なされます。この章のソース画像と情報は、ユーザーが独自のカスタム仮想認証デバイスを開発するための参考用に提供されています。


注意:

これらのサンプルは、英語のみで提供されています。


この章は、次の項で構成されています。

20.1 仮想認証デバイスとは

仮想認証デバイスは、認証資格証明の入力と送信のプロセスにおいて、エンド・ユーザー情報の保護に使用されるオーセンティケータ・インタフェースで、エンド・ユーザーは、有効なアプリケーションに対して認証していることを確認できます。オーセンティケータのユーザー・インタフェースには、数多くのセキュリティ技術が実装されています。それぞれの仮想認証デバイスには、独自のユニークなセキュリティ機能のセットが用意されており、それらの機能は、仮想認証デバイスがただ単にWebページ上のイメージではないことを印象付けています。

20.1.1 仮想認証デバイスの用語

ここでは、この章で使用される用語の定義を紹介します。

表20-1 VAD用語

用語 説明

オーセンティケータ/AuthentiPad

OAAMに付属するユーザー入力のコントロール。キーボードを提供し、パーソナライズを可能にします。

パーソナライズ

登録時におけるイメージおよび生成されたフレーズの割当て。このフレーズとイメージによって、エンド・ユーザーは、有効なアプリケーションに対して認証していることを確認できます。

仮想Keypad/キーボード

ユーザーが、外部キーボードではなく画面上のキーをクリックする、ユーザー入力の方式。

ジッター

オーセンティケータが生成されるたびにキーの位置が少しずれる動作。

サブ・ジッター

ジッター値が計算された後、個別のキーが移動されます。

オフセット

画面上のキー・セット全体が動く動作。

キーのランダム化

キー順序のランダム化の動作。(スクランブル)

タイムスタンプ

現在のシステム時間またはクライアント側の時間から生成された文字列。

マスキング

HTML入力フィールドにおける文字の置換え。


20.1.2 仮想認証タイプ

仮想認証デバイスは、ユーザー情報をフィッシング攻撃、データ盗難およびボットから保護します。各ユーザーには、企業とエンド・ユーザーとの間の共有シークレットとして使用される、イメージとフレーズが割り当てられます。共有シークレットによって、エンド・ユーザーのWebサイトへのアクセスが認証されます。これにより、エンド・ユーザーはフィッシング操作(ソーシャル・エンジニアリングによってユーザーをだますこと)から保護されます。

図20-1 パーソナライズ

KeyPadのパーソナライズが示されています。

PinPadまたはKeyPadが使用されるたびに、Web上に送信されるデータはランダム化されます。エンド・ユーザーが実際の資格証明を入力して送信することはありません。かわりに、画面上の座標が送信されます。基本的なジッター、サブ・ジッターおよびスクランブルが提供されます。次の各項では、仮想認証デバイスについて説明します。

20.1.2.1 TextPad

TextPadは、通常のキーボードを使用してパスワードやPINを入力するための単一のフォーム・フィールドを持つ、パーソナライズされたデバイスです。このデータ入力方法は、主に、フィッシングからの防御に役立ちます。このフィールドは、データ入力をマスキングするパスワードHTMLのコントロールとして機能できます。TextPadは、一般的に、大規模なデプロイメントにおいて、すべてのユーザーのデフォルトとしてデプロイされます。その後、各ユーザーが必要に応じて個別に別のデバイスにアップグレードできます。ユーザーが登録した個人イメージおよびフレーズは、ユーザーが有効なサイトにログインするたびに表示され、ユーザーとサーバーとの間の共有シークレットとして機能します。この共有シークレットが表示されないか、間違った内容が表示されると、ユーザーは気付きます。TextPadの例を図20-2に示します。

図20-2 TextPad

TextPadの図です。

20.1.2.2 PinPadおよびKeyPad

PinPadとKeyPadは、認証資格証明の間接的な入力仮想デバイスです。これらは必要に応じて、ログイン時またはセッション中に起動できます。ユーザーは、マウスを使用して視覚的なキーをクリックすることによって移動します。Web上では、入力したデータは、OAAMサーバーのみが有効なパスワード/PIN/データにデコードできる、ランダム数値からなる文字列になります。構成可能な複数のランダム化メカニズムにより、ユーザビリティと必要なセキュリティ・レベルとの間のバランスを取ることができます。PinPadとKeyPadは通常、ユーザーがその使用を選択できるオプション・アップグレードとして提供されています。これにより、データ保護を強化したいユーザーのみがこれらの機能を利用することになります。そのナビゲーションには、多少の習熟を要するからです。

PinPadは、数値PINを入力するための軽量な認証デバイスです。データ入力は、数字に限定されています。これは、キー・ジッター、ランダム化およびオフセットをサポートしています。PinPadの例を図20-3に示します。

図20-3 PinPad

PinPadの図です。

KeyPadは、パーソナライズされたグラフィック・キーボードです。これは、通常のキーボードを使用して英数字や特殊文字を入力するために使用されます。KeyPadはパスワードやその他の機密データの入力に最適です。たとえば、クレジット・カード番号を入力できます。KeyPadの例を図20-4に示します。

図20-4 KeyPad

KeyPadの図です。

20.1.2.3 QuestionPad

QuestionPadは、プロンプトまたは質問の形式でテキストをレンダリングするパーソナライズされたデバイスです。ユーザーは、通常のキーボードを使用して情報を提供したり、質問に回答します。QuestionPadでは、チャレンジ質問を質問イメージに組み込むことができます。他の適応性の高い厳密認証デバイスと同様、QuestionPadはフィッシングの問題の解決にも役立ちます。QuestionPadの例を図20-5に示します。

図20-5 QuestionPad

QuestionPadの図です。

20.1.3 仮想認証デバイスの構成ファイルとプロパティ

仮想認証デバイスのレンダリング方法と動作方法の制御は、サーバー側のテキスト・ベースのプロパティ・ファイルに保存されています。これらのファイルは、ネイティブ・デプロイメントではビジネス・アプリケーション内に、UIOデプロイメントではアプリケーション内にあります。この章では参考用に、仮想認証デバイスのプロパティの詳細を示します。

20.1.3.1 仮想認証デバイスの構成で使用されるファイル

仮想認証デバイスでは、次のファイルを使用します。

  • oaam_custom.properties: 仮想認証デバイスのカスタム・プロパティが追加され、KeyPadおよびPinPadデバイスで使用されるKeySetが定義され、ローカライズ(翻訳)されない構成プロパティが存在するファイル。

  • oaam_custom_<locale>.properties: 管理者がアプリケーションをカスタマイズして、翻訳された表示メッセージなどのロケール固有のプロパティを組み込む際に作成するファイル。ロケール識別子は、言語識別子(必須)と地域識別子(必要な場合)で構成されています。たとえば、US Englishのカスタム・プロパティ・ファイルはoaam_custom_en_US.propertiesになります。


注意:

仮想認証デバイス関連のプロパティの多くは、ローカライズできるようにリソース・バンドルに含められています。リソース・ファイルにデフォルト値が存在する場合は、クライアント・オーバーライド・ファイルのリソース・バンドル値(client_resource.properties)に対してオーバーライド値を指定する必要があります。


20.1.3.2 仮想認証デバイスのプロパティ構成

プロパティは次のように構成されます。

bharosa.authentipad.<padtype>.<property>.<subproperty>=<value>

たとえば、次のようになります。

bharosa.authentipad.textpad.datafield.x=100

パッド・タイプ値は次のとおりです。

  • textpad

  • keypad

  • pinpad

  • questionpad

定義されたすべてのプロパティは、oaam_custom.propertiesファイルのプロパティを再定義することにより上書きまたは更新できます。これにより、新しいセットのすべてのプロパティを再コーディングすることなく、関連するプロパティのみを変更できます。

20.1.3.3 ランダム化とジッターのプロパティ

PinPad、KeyPadおよびQuestionPadが使用されるたびに、Web上に送信されるデータはランダム化されます。エンド・ユーザーが実際の資格証明を入力して送信することはありません。かわりに、画面上の座標やオフセット値が送信されます。また、これらのプロパティを介して、基本的なジッター、サブ・ジッターおよびスクランブルが提供されます。次の図に、ジッターの生成方法を示します。

図20-6 ランダム化およびジッター

VADのキーボードのジッターが示されています。
20.1.3.3.1 TextPadのランダム化とジッターのプロパティ
bharosa.authentipad.textpad.encrypt.checksum = true
#This contains the values for the checksum encryption process
bharosa.authentipad.textpad.checksum.min = 100 
bharosa.authentipad.textpad.checksum.max = 200
bharosa.authentipad.textpad.checksum.total = 300
20.1.3.3.2 KeyPadのランダム化とジッターのプロパティ
bharosa.authentipad.keypad.encrypt.jitter = true
bharosa.authentipad.keypad.randomizeKeys=false
bharosa.authentipad.keypad.keyWidthJitter=50
bharosa.authentipad.keypad.keyHeightJitter=15
bharosa.authentipad.keypad.encrypt.checksum = true
bharosa.authentipad.keypad.checksum.min = 100
bharosa.authentipad.keypad.checksum.max = 200
bharosa.authentipad.keypad.checksum.total = 300
20.1.3.3.3 PinPadのランダム化とジッターのプロパティ
bharosa.authentipad.pinpad.encrypt.jitter = true
bharosa.authentipad.pinpad.randomizeKeys=false
bharosa.authentipad.pinpad.keyWidthJitter=50
bharosa.authentipad.pinpad.keyHeightJitter=15
bharosa.authentipad.pinpad.encrypt.checksum = true
#This contains the values for the checksum encryption process
bharosa.authentipad.pinpad.checksum.min = 100
bharosa.authentipad.pinpad.checksum.max = 200
bharosa.authentipad.pinpad.checksum.total = 300
20.1.3.3.4 QuestionPadのランダム化とジッターのプロパティ
bharosa.authentipad.questionpad.encrypt.checksum = true
#This contains the values for the checksum encryption process
bharosa.authentipad.questionpad.checksum.min = 100
bharosa.authentipad.questionpad.checksum.max = 200
bharosa.authentipad.questionpad.checksum.total = 300

20.2 カスタマイズできるオーセンティケータの要素

オーセンティケータ・インタフェースの個々の要素はカスタマイズ可能です。これらの構成の詳細は次のとおりです。

20.2.1 仮想認証デバイスの構成

仮想認証デバイスは多くの要素から構成されます。図20-7に、クライアント側で表示される仮想認証デバイスを生成するために実行時に組み合される各要素を示します。

図20-7 仮想認証デバイスの構成

仮想デバイスの構成が示されています。

表20-2に、この構成の各要素を示します。

表20-2 オーセンティケータの要素

要素 説明

パーソナライズされたイメージ

登録時にユーザーが選択したイメージ。これは、OAAMのユーザー・リポジトリに格納されます。

オーセンティケータ・フレーム

オーセンティケータのフレームを形成するイメージ。ユーザー・コントロールのグラフィックを含みます。

タイムスタンプ、フレーズおよびKeyset

オーセンティケータのパーソナライズを構築するために生成されるイメージ要素。

HTMLコントロール

JavaScriptで制御される、データ入力とデータ送信のための一連のHTML要素。


20.2.2 パーソナライズされたイメージ

各仮想認証デバイスには、8,423個のパーソナライズされたイメージが存在します。仮想認証デバイスでバックグラウンド・イメージを表示するには、次のプロパティを設定します。

vcrypt.user.image.dirlist.property.name=bharosa.image.dirlist
bharosa.image.dirlist=<absolute_folder_path_where_oaam_images_are_available>

仮想認証デバイスに対してカスタム・バックグラウンド・イメージを作成するには、次の手順を実行します。

  1. 使用される仮想認証デバイスごとに、イメージが適切な解像度になるように処理します。

    イメージのバッチ変換を構成可能なグラフィック・エディタを使用します。

  2. 仮想認証デバイスごとに、イメージを正しいディレクトリに追加します。たとえば、TextPadイメージはtextpadディレクトリ内に配置されます。

  3. 仮想認証デバイスごとに、次のプロパティを設定します。

    bharosa.image.dirlist=<absolute_folder_path_where_oaam_images_are_available>
    

    たとえば、次のようになります。

    bharosa.image.dirlist=/scratch/user/Oracle/Middleware/Oracle_IDM1/oaam/oaam_images/<virtual_authentication_device>
    

    ここで、<virtual_authentication_device>は、keypadquestionpadtextpadサブディレクトリのうちの1つになります。

20.2.3 フレーム

TextPad、KeyPad、PinPadなどの各オーセンティケータ・インタフェースには、フレームが存在します。フレームはオーセンティケータ・ユーザー・インタフェースの外側の境界を示しており、仮想認証デバイスをページ上の残りの領域から区別するものです。どんなグラフィック処理を行ったとしてもデバイスの外観が維持されるように、このフレームは常に識別可能な状態にある必要があります。フレームは、視覚から消えてしまうほど、HTMLページの周囲の要素に溶け込んではならないということです。各パッドの全体サイズとアスペクト率は固定されているため変更できません。インタフェースのすべての要素は、フレーム内に収まっている必要があります。イメージを編集するときには、そのイメージの物理的寸法を拡大したり、サンプル・イメージのアスペクト率を変更したりしないでください。そのイメージがゆがんでしまうからです。これらの要素には、ボタン、フィールド、個人フレーズおよび個人イメージが含まれます。1つのイメージ・ファイルには、ブランド、フレームおよびボタン・イメージが含まれます。

フレームは、次の方法でのみ変更できます。

  • フレームのアウトラインおよび塗りつぶしのカラーを変更できます。

  • フレームのボタンのカラーを変更できます。

  • ブランドを変更できます。

20.2.3.1 TextPadのオーセンティケータ・イメージおよびフレーム・プロパティ

表20-3に、TextPadのオーセンティケータのプロパティを示します。

表20-3 TextPadのオーセンティケータのプロパティ

機能 プロパティ

デフォルトのバックグラウンド・グラフィック

(アプリケーション固有でも可能)

bharosa.uio.<appId>.DeviceTextPad.default.image = textpad_bg/UIO_BG.jpg

パスワード・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.password.DeviceTextPad.frame =

チャレンジ・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.<challengeType>.DeviceTextPad.frame =

注意: チャレンジ・タイプとして、構成されているすべてのチャレンジ・タイプ(ChallengeQuestion、ChallengeEmailなど)を指定できます。

登録フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.register.DeviceTextPad.frame = textpad_bg/TP_O_preview.png

ユーザー・プリファレンス・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.userpreferences.DeviceTextPad.frame = textpad_bg/TP_O_preview.png


20.2.3.2 PinPadのオーセンティケータ・イメージおよびフレーム・プロパティ

表20-4に、PinPadのオーセンティケータのプロパティを示します。

表20-4 PinPadのオーセンティケータのプロパティ

機能 プロパティ

デフォルトのバックグラウンド・グラフィック

(アプリケーション固有でも可能)

bharosa.uio.default.DevicePinPad.default.image = pinpad_bg/UIO_BG.jpg

パスワード・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.password.DevicePinPad.frame =

チャレンジ・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.<challengeType>.DevicePinPad.frame =

注意: チャレンジ・タイプとして、構成されているすべてのチャレンジ・タイプ(ChallengeQuestion、ChallengeEmailなど)を指定できます。

登録フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.register.DevicePinPad.frame = pinpad_bg/PP_v02_frame_preview.png

ユーザー・プリファレンス・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.userpreferences.DevicePinPad.frame = pinpad_bg/PP_v02_frame_preview.png


20.2.3.3 QuestionPadのオーセンティケータ・イメージおよびフレーム・プロパティ

表20-5に、QuestionPadのオーセンティケータのプロパティを示します。

表20-5 QuestionPadのオーセンティケータのプロパティ

機能 プロパティ

デフォルトのバックグラウンド・グラフィック

(アプリケーション固有でも可能)

bharosa.uio.<appId>.DeviceQuestionPad.default.image = textpad_bg/UIO_BG.jpg

チャレンジ・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.<challengeType>.DeviceQuestionPad.frame =

注意: チャレンジ・タイプとして、構成されているすべてのチャレンジ・タイプ(ChallengeQuestion、ChallengeEmailなど)を指定できます。


20.2.3.4 KeyPadのオーセンティケータ・イメージおよびフレーム・プロパティ

表20-6に、KeyPadのオーセンティケータのプロパティを示します。

表20-6 KeyPadのオーセンティケータのプロパティ

機能 プロパティ

デフォルトのバックグラウンド・グラフィック

(アプリケーション固有でも可能)

bharosa.uio.<appId>.DeviceKeyPadFull.default.image = keypad_bg/UIO_BG.jpg

パスワード・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.password.DeviceKeyPadFull.frame =

チャレンジ・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.<challengeType>.DeviceKeyPadFull.frame =

注意: チャレンジ・タイプとして、構成されているすべてのチャレンジ・タイプ(ChallengeQuestion、ChallengeEmailなど)を指定できます。

登録フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.register.DeviceKeyPadFull.frame = alphapad_bg/kp_O_preview.png

ユーザー・プリファレンス・フレーム・ファイル

(アプリケーション固有でも可能)

bharosa.uio.<appId>.userpreferences.DeviceKeyPadFull.frame = alphapad_bg/kp_O_preview.png


20.2.4 [Enter]キー、パーソナライズされたフレーズおよびタイムスタンプの位置

それぞれの仮想認証デバイスには、独自のユニークなセキュリティ機能が用意されています。これらの要素のデフォルトの位置を参考用に示します。

ビジュアル要素 説明

[Enter]キーのホットスポット

ユーザーが、認証デバイスに入力したデータを送信できるリンク領域。

フレーズ

登録時にユーザーに割り当てられたパーソナライズされたフレーズ。ユーザーは、このフレーズによって目的のWebサイトを利用していることを確認できます。

タイムスタンプ

イメージ生成時のタイムスタンプ。ユーザーは、認証デバイスが最新の状態であることを確認できます。


20.2.4.1 TextPadのビジュアル要素

この項では、TextPadのビジュアル要素について説明します。

フレーズ(キャプション)

bharosa.authentipad.textpad.caption.personalize = true
bharosa.authentipad.textpad.caption.x = 14
bharosa.authentipad.textpad.caption.y = 203
bharosa.authentipad.textpad.caption.frame = false
bharosa.authentipad.textpad.caption.wrap = false
bharosa.authentipad.textpad.caption.width = 130
bharosa.authentipad.textpad.caption.height = 16
bharosa.authentipad.textpad.caption.font.name = Arial
bharosa.authentipad.textpad.caption.font.color = 000000
bharosa.authentipad.textpad.caption.font.type= 0
bharosa.authentipad.textpad.caption.font.size = 9

タイムスタンプ

bharosa.authentipad.textpad.timestamp.x = 25
bharosa.authentipad.textpad.timestamp.y = 165
bharosa.authentipad.textpad.timestamp.width = 132
bharosa.authentipad.textpad.timestamp.height = 16
bharosa.authentipad.textpad.timestamp.frame = false
bharosa.authentipad.textpad.timestamp.wrap = false
bharosa.authentipad.textpad.timestamp.font.name = Arial
bharosa.authentipad.textpad.timestamp.font.color = ffffff
bharosa.authentipad.textpad.timestamp.font.type= 0
bharosa.authentipad.textpad.timestamp.font.size = 9

[Enter]キーのホットスポット

bharosa.authentipad.textpad.enterkey.x=98
bharosa.authentipad.textpad.enterkey.y=181
bharosa.authentipad.textpad.enterkey.width=45
bharosa.authentipad.textpad.enterkey.height=19
bharosa.authentipad.textpad.enterkey.label=enter
bharosa.authentipad.textpad.enterkey.enable=true

20.2.4.2 PinPadのビジュアル要素

この項では、PinPadのビジュアル要素について説明します。

フレーズ(キャプション)

bharosa.authentipad.pinpad.caption.personalize = true
bharosa.authentipad.pinpad.caption.x = 5
bharosa.authentipad.pinpad.caption.y = 206
bharosa.authentipad.pinpad.caption.frame = false
bharosa.authentipad.pinpad.caption.wrap = false
bharosa.authentipad.pinpad.caption.width = 130
bharosa.authentipad.pinpad.caption.height = 16
bharosa.authentipad.pinpad.caption.font.name = Arial
bharosa.authentipad.pinpad.caption.font.color = 000000
bharosa.authentipad.pinpad.caption.font.type= 0
bharosa.authentipad.pinpad.caption.font.size = 9

タイムスタンプ

bharosa.authentipad.pinpad.timestamp.x = 15
bharosa.authentipad.pinpad.timestamp.y = 165
bharosa.authentipad.pinpad.timestamp.width = 132
bharosa.authentipad.pinpad.timestamp.height = 16
bharosa.authentipad.pinpad.timestamp.frame = false
bharosa.authentipad.pinpad.timestamp.wrap = false
bharosa.authentipad.pinpad.timestamp.font.name = Arial
bharosa.authentipad.pinpad.timestamp.font.color = ffffff
bharosa.authentipad.pinpad.timestamp.font.type= 0
bharosa.authentipad.pinpad.timestamp.font.size = 9

[Enter]キーのホットスポット

bharosa.authentipad.pinpad.enterkey.x=78
bharosa.authentipad.pinpad.enterkey.y=182
bharosa.authentipad.pinpad.enterkey.width=49
bharosa.authentipad.pinpad.enterkey.height=20
bharosa.authentipad.pinpad.enterkey.label=enter
bharosa.authentipad.pinpad.enterkey.enable=true

[Back Space]キーのホットスポット

bharosa.authentipad.pinpad.backspace.x=86
bharosa.authentipad.pinpad.backspace.y=8
bharosa.authentipad.pinpad.backspace.width=20
bharosa.authentipad.pinpad.backspace.height=20
bharosa.authentipad.pinpad.backspace.label=&lt;
bharosa.authentipad.pinpad.backspace.enable=true

20.2.4.3 QuestionPadのビジュアル要素

この項では、QuestionPadのビジュアル要素について説明します。


注意:

10.1.4.5以降では、QuestionPadは単一行のフィールドです。


フレーズ(キャプション)

bharosa.authentipad.questionpad.caption.personalize = true
bharosa.authentipad.questionpad.caption.x = 14
bharosa.authentipad.questionpad.caption.y = 203
bharosa.authentipad.questionpad.caption.frame = false
bharosa.authentipad.questionpad.caption.wrap = false
bharosa.authentipad.questionpad.caption.width = 130
bharosa.authentipad.questionpad.caption.height = 16
bharosa.authentipad.questionpad.caption.font.name = Arial
bharosa.authentipad.questionpad.caption.font.color = 000000
bharosa.authentipad.questionpad.caption.font.type= 0
bharosa.authentipad.questionpad.caption.font.size = 9

タイムスタンプ

bharosa.authentipad.questionpad.timestamp.x = 25
bharosa.authentipad.questionpad.timestamp.y = 165
bharosa.authentipad.questionpad.timestamp.width = 132
bharosa.authentipad.questionpad.timestamp.height = 16
bharosa.authentipad.questionpad.timestamp.frame = false
bharosa.authentipad.questionpad.timestamp.wrap = false
bharosa.authentipad.questionpad.timestamp.font.name = Arial
bharosa.authentipad.questionpad.timestamp.font.color = ffffff
bharosa.authentipad.questionpad.timestamp.font.type= 0
bharosa.authentipad.questionpad.timestamp.font.size = 9

質問のテキスト

bharosa.authentipad.questionpad.question.x = 9
bharosa.authentipad.questionpad.question.y = 32
bharosa.authentipad.questionpad.question.width = 132
bharosa.authentipad.questionpad.question.height = 62
bharosa.authentipad.questionpad.question.frame = false
bharosa.authentipad.questionpad.question.wrap = true
bharosa.authentipad.questionpad.question.font.name = Arial
bharosa.authentipad.questionpad.question.font.color = 000000
bharosa.authentipad.questionpad.question.font.type= 0
bharosa.authentipad.questionpad.question.font.size = 9

[Enter]キーのホットスポット

bharosa.authentipad.questionpad.enterkey.x=98
bharosa.authentipad.questionpad.enterkey.y=181
bharosa.authentipad.questionpad.enterkey.width=45
bharosa.authentipad.questionpad.enterkey.height=19
bharosa.authentipad.questionpad.enterkey.label=enter
bharosa.authentipad.questionpad.enterkey.enable=true

表示されるテキスト入力またはパスワード(非表示)の入力設定

oaam_custom.propertiesの次のプロパティにより、QuestionPadに表示されるテキスト入力が設定されるか、それともパスワード(非表示)入力が設定されるかが決定されます。

bharosa.authentipad.questionpad.datafield.input.type

有効な値はtextおよびpasswordです。

20.2.4.4 KeyPadのビジュアル要素

この項では、KeyPadのビジュアル要素について説明します。

フレーズ(キャプション)

bharosa.authentipad.keypad.caption.personalize = true
bharosa.authentipad.keypad.caption.x = 240
bharosa.authentipad.keypad.caption.y = 206
bharosa.authentipad.keypad.caption.frame = false
bharosa.authentipad.keypad.caption.wrap = false
bharosa.authentipad.keypad.caption.width = 130
bharosa.authentipad.keypad.caption.height = 16
bharosa.authentipad.keypad.caption.font.name = Arial
bharosa.authentipad.keypad.caption.font.color = 000000
bharosa.authentipad.keypad.caption.font.type= 0
bharosa.authentipad.keypad.caption.font.size = 9

タイムスタンプ

bharosa.authentipad.keypad.timestamp.x = 110
bharosa.authentipad.keypad.timestamp.y = 202
bharosa.authentipad.keypad.timestamp.width = 132
bharosa.authentipad.keypad.timestamp.height = 16
bharosa.authentipad.keypad.timestamp.frame = false
bharosa.authentipad.keypad.timestamp.wrap = false
bharosa.authentipad.keypad.timestamp.font.name = Arial
bharosa.authentipad.keypad.timestamp.font.color = ffffff
bharosa.authentipad.keypad.timestamp.font.type= 0
bharosa.authentipad.keypad.timestamp.font.size = 9

[Enter]キーのホットスポット

bharosa.authentipad.keypad.enterkey.x=292
bharosa.authentipad.keypad.enterkey.y=8
bharosa.authentipad.keypad.enterkey.width=50
bharosa.authentipad.keypad.enterkey.height=20
bharosa.authentipad.keypad.enterkey.label=enter
bharosa.authentipad.keypad.enterkey.enable=true

[Back Space]キーのホットスポット

bharosa.authentipad.keypad.backspace.x=164
bharosa.authentipad.keypad.backspace.y=8
bharosa.authentipad.keypad.backspace.width=20
bharosa.authentipad.keypad.backspace.height=20
bharosa.authentipad.keypad.backspace.enable=true

[Caps Lock]キーの状態

bharosa.authentipad.keypad.capslock.x=188   
bharosa.authentipad.keypad.capslock.y=0
bharosa.authentipad.keypad.capslock.width=43
bharosa.authentipad.keypad.capslock.height=29
bharosa.authentipad.keypad.capslock.capsonimg=kp_v2_all_caps.jpg
bharosa.authentipad.keypad.capslock.capsshiftimg=kp_v2_first_caps.jpg

20.2.5 KeysSet

KeySetは、仮想認証デバイスにどの文字キーを表示するかを定義する構成です。KeySetは、KeyPadおよびPinPad仮想認証デバイスで使用されます。

KeySetsは、一連のユーザー定義の列挙で定義されます。

最初の列挙はKeySetの行を定義し、その行に存在する各キーを記述する別の列挙を指します。

たとえば、次の列挙は、PinPadのキーの各行を定義します。

bharosa.authentipad.pinpad.default.keyset.enum=Default PinPad Keyset Enum
bharosa.authentipad.pinpad.default.keyset.enum.row1=0
bharosa.authentipad.pinpad.default.keyset.enum.row1.name=Default PinPad Keyset Row 1
bharosa.authentipad.pinpad.default.keyset.enum.row1.description=Default PinPad Keyset Row 1
bharosa.authentipad.pinpad.default.keyset.enum.row1.keys=bharosa.authentipad.pinpad.default.keyset.row1.enum
bharosa.authentipad.pinpad.default.keyset.enum.row1.order=1
 
bharosa.authentipad.pinpad.default.keyset.enum.row2=1
bharosa.authentipad.pinpad.default.keyset.enum.row2.name=Default PinPad Keyset Row 2
bharosa.authentipad.pinpad.default.keyset.enum.row2.description=Default PinPad Keyset Row 2
bharosa.authentipad.pinpad.default.keyset.enum.row2.keys=bharosa.authentipad.pinpad.default.keyset.row2.enum
bharosa.authentipad.pinpad.default.keyset.enum.row2.order=2
 
bharosa.authentipad.pinpad.default.keyset.enum.row3=2
bharosa.authentipad.pinpad.default.keyset.enum.row3.name=Default PinPad Keyset Row 3
bharosa.authentipad.pinpad.default.keyset.enum.row3.description=Default PinPad Keyset Row 3
bharosa.authentipad.pinpad.default.keyset.enum.row3.keys=bharosa.authentipad.pinpad.default.keyset.row3.enum
bharosa.authentipad.pinpad.default.keyset.enum.row3.order=3
 
bharosa.authentipad.pinpad.default.keyset.enum.row4=3
bharosa.authentipad.pinpad.default.keyset.enum.row4.name=Default PinPad Keyset Row 4
bharosa.authentipad.pinpad.default.keyset.enum.row4.description=Default PinPad Keyset Row 4
bharosa.authentipad.pinpad.default.keyset.enum.row4.keys=bharosa.authentipad.pinpad.default.keyset.row4.enum
bharosa.authentipad.pinpad.default.keyset.enum.row4.order=4

各行は次のプロパティから構成されます。

表20-7 行のプロパティ

プロパティ 説明

name

行の名前。

description

行の説明。

keys

行のキーを定義する列挙の列挙識別子。

order

キー行における特定のキーの配列順。


この場合、row1列挙は次のように定義されます。

bharosa.authentipad.pinpad.default.keyset.row1.enum=Default Pinpad Keyset Row 1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1=0
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.name=1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.description=1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.value=1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.shiftvalue=1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.image=kp_v2_1.png
bharosa.authentipad.pinpad.default.keyset.row1.enum.key1.order=1
 
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2=1
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.name=2
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.description=2
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.value=2
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.shiftvalue=2
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.image=kp_v2_2.png
bharosa.authentipad.pinpad.default.keyset.row1.enum.key2.order=2
 
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3=2
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.name=3
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.description=3
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.value=3
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.shiftvalue=3
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.image=kp_v2_3.png
bharosa.authentipad.pinpad.default.keyset.row1.enum.key3.order=3

各キーは次のプロパティから構成されます。

表20-8 各キーのプロパティ

プロパティ 説明

name

キーの名前。

description

キーの説明。

value

クリックされたときにキーが表す文字値。

shiftvalue

[Caps Lock]キーのモードがオンになっているときにキーが表す文字値。

image

キーの視覚表現を表示するために使用されるイメージ・ファイルの名前。

order

キー行における特定のキーの配列順。


20.3 カスタマイズ手順

このプロセスは、次のとおりです。

  1. 仮想認証デバイス関連のプロパティとカスタムKeySet関連の列挙プロパティをoaam_custom.propertiesに追加し、<temp-folder>/WEB-INF/classesフォルダに保存します。この章では、Keysetや他の仮想認証デバイスのプロパティの定義方法についても説明されています。

  2. キー・イメージ・ファイルを<temp-folder>/WEB-INF/classes/bharosa_properties/<pad>_skinsに追加します。

  3. フレーム・イメージ・ファイルを<temp-folder>//WEB-INF/classes/bharosa_properties/<pad>_bgに追加します。

  4. oaam_custom.propertiesを使用して、OAAM拡張共有ライブラリを作成します。

  5. カスタムのOAAM拡張共有ライブラリを、両方のOAAM管理対象サーバー(OAAM管理サーバーおよびOAAMサーバー)にデプロイします。

    1. 次のコマンドを使用して、WARファイルを再パッケージ化します。

      jar -cvfm oracle.oaam.extensions.war <temp-folder>/META-INF/MANIFEST.MF -C <temp-folder>
      

      注意:

      元のMANIFEST.MFが、共有ライブラリ情報を含んだMANIFEST.MFと同じであることを確認してください。


    2. 更新されたoracle.oaam.extensions.warを、ターゲットにoaam_serverとoaam_adminを指定した共有ライブラリとして再デプロイします。

  6. OAAMサーバーを再起動し、アプリケーションにアクセスすることで変更内容を検証します。

20.4 構成の簡単な例

オーセンティケータを開発する例が紹介されています。

20.4.1 フレームの設計

次のプロパティで指定されているとおり、デフォルトのTextpadフレームは幅148px、高さ223pxになります。

bharosa.authentipad.textpad.width=148
bharosa.authentipad.textpad.height=223

これらのプロパティを変更して、より大きなAuthentiPadを新規作成するには、oaam_custom.propertiesファイルに2つの新しいプロパティを追加します。

たとえば、次のようになります。

bharosa.authentipad.textpad.width=368
bharosa.authentipad.textpad.height=223

フレーム自体には、次の要素が存在している必要があります。

  • ユーザー・パスワード入力用のスペース: フォーム・フィールドとして認識されます。

  • [Enter]キーまたはログイン・ボタン。

  • パーソナライズされたフレーズ用のスペース。

  • タイムスタンプ文字列用のスペース。

  • パーソナライズされたイメージが透けて見える透明セクション。

これらのすべての要素を含む新しいイメージを、指定の幅ピクセルと高さピクセルで作成します。

20.4.2 要素の位置決定

次のプロパティを使用して、各要素が設定されます。すべてのプロパティで、イメージの左上を「0,0」に設定した標準的なXY座標が使用されます。

パーソナライズされたフレーズ(キャプション)

bharosa.authentipad.textpad.caption.personalize = true
bharosa.authentipad.textpad.caption.x = 14
bharosa.authentipad.textpad.caption.y = 203
bharosa.authentipad.textpad.caption.frame = false
bharosa.authentipad.textpad.caption.wrap = false
bharosa.authentipad.textpad.caption.width = 130
bharosa.authentipad.textpad.caption.height = 16
bharosa.authentipad.textpad.caption.font.name = Arial
bharosa.authentipad.textpad.caption.font.color = 000000
bharosa.authentipad.textpad.caption.font.type= 0
bharosa.authentipad.textpad.caption.font.size = 9

タイムスタンプ

bharosa.authentipad.textpad.timestamp.x = 25
bharosa.authentipad.textpad.timestamp.y = 165
bharosa.authentipad.textpad.timestamp.width = 132
bharosa.authentipad.textpad.timestamp.height = 16
bharosa.authentipad.textpad.timestamp.frame = false
bharosa.authentipad.textpad.timestamp.wrap = false
bharosa.authentipad.textpad.timestamp.font.name = Arial
bharosa.authentipad.textpad.timestamp.font.color = ffffff
bharosa.authentipad.textpad.timestamp.font.type= 0
bharosa.authentipad.textpad.timestamp.font.size = 9

[Enter]キー

bharosa.authentipad.textpad.enterkey.x=98
bharosa.authentipad.textpad.enterkey.y=181
bharosa.authentipad.textpad.enterkey.width=45
bharosa.authentipad.textpad.enterkey.height=19
bharosa.authentipad.textpad.enterkey.label=enter
bharosa.authentipad.textpad.enterkey.enable=true

20.5 仮想認証デバイスの表示

この項では、仮想認証デバイスをレンダリングする流れを説明します。内容は次のとおりです。

20.5.1 get<pad_type>メソッドをコールする前の設定

bgFileは、次のように実行してユーザーから取得する必要があります。

String bgFile = (String) authUser.getSecurityPreferences().get("imagePath");

20.5.2 仮想認証デバイスの取得

仮想認証デバイスの生成を担当する主なAPIはBharosaClientImpl.getInstance().get<pad type>です。

次のメソッドを使用すると、一般的に使用されている仮想認証デバイスを取得できます。

  • BharosaClientImpl.getInstance().getFullKeyPad(...)

  • BharosaClientImpl.getInstance().getAlphaNumericKeyPad(...)

  • BharosaClientImpl.getInstance().getTextPad(...)

  • BharosaClientImpl.getInstance().getQuestionPad(...)

  • BharosaClientImpl.getInstance().getPinPad(...)

各メソッドは、次の同じパラメータのセットをとります。

表20-9 仮想認証デバイス: メソッドのパラメータ

パラメータ 説明

String padName

仮想認証デバイスの識別子。HTMLで、入力フィールドとJavaScript変数のベース名として使用されています。

String frameFile

フレームに対して使用するイメージ・パス。

String backgroundFile

バックグラウンド・イメージに対して使用するイメージ・パス。

OAAM割当てAPIを使用する場合、ユーザーが割り当てたイメージがVCryptAuthUserオブジェクト(String) authUser.getSecurityPreferences().get("imagePath")に保存されます。

VCryptLocalizedString captionText

仮想認証デバイスのキャプションとして表示されるローカライズされた文字列。

  • VCryptLocalizedString(String, VCryptLocale)

  • VCryptLocalizedString(String, Locale)

  • VCryptLocalizedString(String)

boolean isADACompliant

スクリーン・リーダー用のテキストとリンクが追加された仮想認証デバイスをレンダリングする必要がある場合に指定するフラグ。

boolean hasJS

ユーザーがJavaScriptを有効にした場合に指定するフラグ。

boolean hasImages

ユーザーがイメージを有効にした場合に指定するフラグ。


20.5.3 タイムスタンプとタイムゾーンの設定

取得した仮想認証デバイスに対して、タイムスタンプ、タイムゾーンおよび表示プロパティを設定する必要があります。

表20-10に、仮想認証デバイスを作成した後で設定が必要な場合がある各フィールドを示します。

表20-10 仮想認証デバイス: 追加フィールドの設定

パラメータ 説明

authentiPad.setTimeStamp(Date timeStamp)

仮想認証デバイスに表示されるタイムスタンプを設定します。

authentiPad.setTimeZone(TimeZone timeZone)

仮想認証デバイスに表示されるタイムゾーンを設定します。

authentiPad.setDisplayOnly(boolean displayOnly)

対話型のフィールドとリンクなしで仮想認証デバイスをレンダリングする必要がある場合に指定するフラグ。イメージを登録する際に一般的に使用されています。

authentiPad.setQuestionText(VCryptLocalizedString questionText)

QuestionPadの質問を表示するために使用されます。


20.5.4 仮想認証デバイスの表示

VADは、HTMLページでレンダリングされます。VADのレンダリングに使用されるすべてのページには、JavaScriptファイルbharosa_pad.jsが組み込まれている必要があります。bharosa_pad.jsファイルは、VADをレンダリングし、ユーザー操作を処理するJavaScriptライブラリです。

HTMLまたはJavaScriptでレンダリングされた文字列を取得してHTMLページに配置するには、authentiPad.getHTML()をコールします。

このメソッドの出力は、VADを表示するために必要なイメージ・マップとJavaScriptコンストラクタを含むHTML文字列です。

レンダリング後は、VADによってイメージの表示を求めるリクエストが送信されます。イメージのレンダリングに使用するURLは、bharosa.authentipad.image.urlプロパティによって構成されます。

20.6 アクセシビリティ対応バージョンのオーセンティケータの有効化

アシスティブ・テクノロジを使用してアクセスするユーザーは、仮想認証デバイスのアクセシビリティ対応バージョンを使用する必要があります。デフォルトでは、TextPad、QuestionPad、KeyPadおよびPinPadのアクセシビリティ対応バージョンは有効化されていません。デプロイメント内でアクセシビリティ対応バージョンが必要な場合は、所定のプロパティを通して有効化できます。

アクセシビリティ対応バージョンの仮想認証デバイスには、スクリーン・リーダーおよびその他のアシスティブ・テクノロジを使用したナビゲーションで必要なタブ、使用方法およびALTテキストが含まれます。

これらのバージョンを有効にするには、is ADA compliantフラグをtrueに設定します。

ネイティブ統合では、次のプロパティで仮想認証デバイスを制御します。

desertref.authentipad.isADACompliant

UIOでは、次のプロパティで仮想認証デバイスを制御します。

bharosa.uio.default.authentipad.is_ada_compliant

20.7 OAAMサーバー・ページのカスタマイズ

ページ・ディレクションおよび仮想認証デバイスのテキスト(必要な場合)のオーバーライドに使用できるリソース・バンドルの領域は次のとおりです。

# ユーザー名のページ

bharosa.uio.default.signon.page.title=Sign In:
bharosa.uio.default.signon.page.message=Enter your user name.

# パスワード・ページ

bharosa.uio.default.password.page.title=Sign In:
bharosa.uio.default.password.page.message=Use this security device to enter your password.
bharosa.uio.default.password.page.DeviceHTMLControl.message=Enter your password.
bharosa.uio.default.password.page.DeviceKeyPadFull.message=Please use this secure KeyPad to enter your password.
bharosa.uio.default.password.page.DeviceKeyPadAlpha.message=Please use this secure KeyPad to enter your password.
bharosa.uio.default.password.page.DeviceTextPad.message=Please use this secure TextPad to enter your password.
bharosa.uio.default.password.page.DevicePinPad.message=Please use this secure PinPad to enter your PIN.

### KeyPadの説明およびディレクション

bharosa.authentipad.keypad.accessibility.directions = KeyPad directions: Use the following links to enter your password.  Your personalized caption text comes first, followed by control links, which are then followed by the key links.  Once you have entered your password, use shift-tab to return to the enter link to submit your password.
bharosa.authentipad.keypad.security.image.alt = Security Device Image
bharosa.authentipad.keypad.datafield.label=Password
bharosa.authentipad.keypad.enterkey.label=enter

### PinPadの説明およびディレクション

bharosa.authentipad.pinpad.accessibility.directions = PinPad directions: Use the following links to enter your numeric pin.  Your personalized caption text comes first, followed by control links, which are then followed by the numeric links.  Once you have entered your numeric pin, use shift-tab to return to the enter link to submit your pin.
bharosa.authentipad.pinpad.security.image.alt = Security Device Image
bharosa.authentipad.pinpad.datafield.label=Pin
bharosa.authentipad.pinpad.enterkey.label=enter

### TextPadの説明およびディレクション

bharosa.authentipad.textpad.accessibility.directions = TextPad directions: Use the following items to validate your device.  Your personalized caption text comes first, followed by a timestamp to ensure the device was generated for this session.  Once you have entered your password in the previous password entry field, use tab to navigate to the enter link to submit your password.
bharosa.authentipad.textpad.security.image.alt = Security Device Image
bharosa.authentipad.textpad.datafield.label=Password
bharosa.authentipad.textpad.enterkey.label=enter

### TextPadResetの説明およびディレクション

bharosa.authentipad.textpadreset.accessibility.directions = TextPad directions: Use the following items to enter your new password.  Your personalized caption text comes first, followed by a password input field and password confirmation field.  Once you have entered your password, use tab to navigate to the enter link to submit your new password.
bharosa.authentipad.textpadreset.security.image.alt = Security Device Image
bharosa.authentipad.textpadreset.datafield.label=Password
bharosa.authentipad.textpadreset.confirmfield.label=Confirm Password
bharosa.authentipad.textpadreset.enterkey.label=enter

### CaptionPadの説明およびディレクション

bharosa.authentipad.captionpad.accessibility.directions = CaptionPad directions: Use the following items to enter your new caption text.  Control links come first, followed by a text input field.  Once you have entered your caption, use tab to navigate to the enter link to submit your new caption.
bharosa.authentipad.captionpad.security.image.alt = Security Device Image
bharosa.authentipad.captionpad.datafield.label=Security Phrase
bharosa.authentipad.captionpad.enterkey.label=enter

### CaptionPadConfirmの説明およびディレクション

bharosa.authentipad.captionconfirmpad.accessibility.directions = CaptionConfirmPad directions: Use the following items to review your caption text.  To edit your caption text, tab to the Edit link and press Enter.
bharosa.authentipad.captionconfirmpad.security.image.alt = Security Device Image
bharosa.authentipad.captionconfirmpad.datafield.label=Security Phrase
bharosa.authentipad.captionconfirmpad.enterkey.label=enter

### QuestionPadの説明およびディレクション

bharosa.authentipad.questionpad.accessibility.directions = QuestionPad directions: Use the following items to enter your answer.  Your personalized question comes first, followed by your personalized caption, which is then followed by your answer input field.  Once you have entered your answer, use tab to navigate to the enter link to submit your answer.
bharosa.authentipad.questionpad.security.image.alt = Security Device Image
bharosa.authentipad.questionpad.datafield.label=Answer
bharosa.authentipad.questionpad.enterkey.label=enter

20.8 OAAM 11gの仮想認証デバイスのローカライズ

この項では、次の項目について説明します。

20.8.1 概要

このプロセスは、次のとおりです。

  1. 仮想認証デバイス関連のプロパティを指定してoaam_custom_<locale>.propertiesファイルを作成し、<temp-folder>/WEB-INF/classesフォルダに保存します。

  2. カスタムKeySet関連の列挙プロパティをoaam_custom.propertiesに追加し、<temp-folder>/WEB-INF/classesフォルダに保存します。この章では、Keysetや他の仮想認証デバイスのプロパティの定義方法についても説明されています。

  3. キー・イメージ・ファイルを<temp-folder>/WEB-INF/classes/bharosa_properties/alphapad_skins_<locale>に追加します。

  4. フレーム・イメージ・ファイルを<temp-folder>//WEB-INF/classes/bharosa_properties/alphapad_bgに追加します。

  5. client_resource_<locale>.propertiesおよびoaam_custom.propertiesを使用して、OAAM拡張共有ライブラリを作成します。

  6. カスタムのOAAM拡張共有ライブラリを、両方のOAAM管理対象サーバー(OAAM管理サーバーおよびOAAMサーバー)にデプロイします。

  7. ローカライズされた仮想認証デバイスをテストします。

20.8.2 ドイツ語のロケールの使用例

次の例では、仮想認証デバイスをドイツ語でローカライズする方法について説明します。

  1. OAAM拡張共有ライブラリのWARファイルを、作業ディレクトリ<temp-folder>で解凍します。

  2. <temp-folder>/WEB-INF/classes/でclient_resource_de.propertiesを作成します(存在しない場合)。

  3. client_resource_de.propertiesに、次のプロパティを追加します。

    # Keyset to use for German locale
    bharosa.authentipad.keypad.default.keyset=german
                  
     # Caption Coordinates for new German Pad
    bharosa.authentipad.keypad.caption.y = 330
    bharosa.authentipad.keypad.caption.frame = false
    bharosa.authentipad.keypad.caption.wrap = false
    bharosa.authentipad.keypad.caption.width = 130
    bharosa.authentipad.keypad.caption.height = 16
    bharosa.authentipad.keypad.caption.font.name = Arial
    bharosa.authentipad.keypad.caption.font.color = 000000
    bharosa.authentipad.keypad.caption.font.type= 0
    bharosa.authentipad.keypad.caption.font.size = 9
     
    # Frame files to use for new German Pad
    bharosa.authentipad.keypad.frame.file=alphapad_bg/kp_frame_O3.png
    bharosa.authentipad.keypad.sample.frame.file=alphapad_bg/kp_frame_O3.png
    bharosa.uio.default.register.DeviceKeyPadFull.frame = alphapad_bg/kp_frame_O3.png
    bharosa.uio.default.userpreferences.DeviceKeyPadFull.frame = alphapad_bg/kp_frame_O3.png
     
    # Skins directory containing German key images
    bharosa.authentipad.keypad.skins.dirlist=alphapad_skins_de/square
     
     
    # Timestamp Coordinates for new German Pad
    bharosa.authentipad.keypad.timestamp.y = 330
    bharosa.authentipad.keypad.timestamp.width = 132
    bharosa.authentipad.keypad.timestamp.height = 16
    bharosa.authentipad.keypad.timestamp.frame = false
    bharosa.authentipad.keypad.timestamp.wrap = false
    bharosa.authentipad.keypad.timestamp.font.name = Arial
    bharosa.authentipad.keypad.timestamp.font.color = ffffff
    bharosa.authentipad.keypad.timestamp.font.type= 0
    bharosa.authentipad.keypad.timestamp.font.size = 9
    
  4. <temp-folder>/WEB-INF/classesoaam_custom.propertiesを作成します(存在しない場合)。

    ################# German Full Keypad Keyset #############################
     
    bharosa.authentipad.keypad.german.keyset.enum=German KeyPad Keyset Enum
    bharosa.authentipad.keypad.german.keyset.enum.row1=0
    bharosa.authentipad.keypad.german.keyset.enum.row1.name=German KeyPad Keyset Row 1
    bharosa.authentipad.keypad.german.keyset.enum.row1.description=German KeyPad Keyset Row 1
    bharosa.authentipad.keypad.german.keyset.enum.row1.keys=bharosa.authentipad.keypad.german.keyset.row1.enum
    bharosa.authentipad.keypad.german.keyset.enum.row1.order=1
     
    bharosa.authentipad.keypad.german.keyset.enum.row2=1
    bharosa.authentipad.keypad.german.keyset.enum.row2.name=German KeyPad Keyset Row 2
    bharosa.authentipad.keypad.german.keyset.enum.row2.description=German KeyPad Keyset Row 2
    bharosa.authentipad.keypad.german.keyset.enum.row2.keys=bharosa.authentipad.keypad.german.keyset.row2.enum
    bharosa.authentipad.keypad.german.keyset.enum.row2.order=2
     
    bharosa.authentipad.keypad.german.keyset.enum.row3=2
    bharosa.authentipad.keypad.german.keyset.enum.row3.name=German KeyPad Keyset Row 3
    bharosa.authentipad.keypad.german.keyset.enum.row3.description=German KeyPad Keyset Row 3
    bharosa.authentipad.keypad.german.keyset.enum.row3.keys=bharosa.authentipad.keypad.german.keyset.row3.enum
    bharosa.authentipad.keypad.german.keyset.enum.row3.order=3
     
    bharosa.authentipad.keypad.german.keyset.enum.row4=3
    bharosa.authentipad.keypad.german.keyset.enum.row4.name=German KeyPad Keyset Row 4
    bharosa.authentipad.keypad.german.keyset.enum.row4.description=German KeyPad Keyset Row 4
    bharosa.authentipad.keypad.german.keyset.enum.row4.keys=bharosa.authentipad.keypad.german.keyset.row4.enum
    bharosa.authentipad.keypad.german.keyset.enum.row4.order=4
     
    bharosa.authentipad.keypad.german.keyset.enum.row5=4
    bharosa.authentipad.keypad.german.keyset.enum.row5.name=German KeyPad Keyset Row 5
    bharosa.authentipad.keypad.german.keyset.enum.row5.description=German KeyPad Keyset Row 5
    bharosa.authentipad.keypad.german.keyset.enum.row5.keys=bharosa.authentipad.keypad.german.keyset.row5.enum
    bharosa.authentipad.keypad.german.keyset.enum.row5.order=5
     
    #########################\u00C0 to \u00FF Keyset ##############################
     
    bharosa.authentipad.keypad.german.keyset.enum=German KeyPad Keyset Enum
    bharosa.authentipad.keypad.german.keyset.enum.row6=5
    bharosa.authentipad.keypad.german.keyset.enum.row6.name=German KeyPad Keyset Row 6
    bharosa.authentipad.keypad.german.keyset.enum.row6.description=German KeyPad Keyset Row 6
    bharosa.authentipad.keypad.german.keyset.enum.row6.keys=bharosa.authentipad.keypad.german.keyset.row6.enum
    bharosa.authentipad.keypad.german.keyset.enum.row6.order=6
     
    bharosa.authentipad.keypad.german.keyset.enum.row7=6
    bharosa.authentipad.keypad.german.keyset.enum.row7.name=German KeyPad Keyset Row 7
    bharosa.authentipad.keypad.german.keyset.enum.row7.description=German KeyPad Keyset Row 7
    bharosa.authentipad.keypad.german.keyset.enum.row7.keys=bharosa.authentipad.keypad.german.keyset.row7.enum
    bharosa.authentipad.keypad.german.keyset.enum.row7.order=7
     
    bharosa.authentipad.keypad.german.keyset.enum.row8=7
    bharosa.authentipad.keypad.german.keyset.enum.row8.name=German KeyPad Keyset Row 8
    bharosa.authentipad.keypad.german.keyset.enum.row8.description=German KeyPad Keyset Row 8
    bharosa.authentipad.keypad.german.keyset.enum.row8.keys=bharosa.authentipad.keypad.german.keyset.row8.enum
    bharosa.authentipad.keypad.german.keyset.enum.row8.order=8
     
    bharosa.authentipad.keypad.german.keyset.enum.row9=8
    bharosa.authentipad.keypad.german.keyset.enum.row9.name=German KeyPad Keyset Row 9
    bharosa.authentipad.keypad.german.keyset.enum.row9.description=German KeyPad Keyset Row 9
    bharosa.authentipad.keypad.german.keyset.enum.row9.keys=bharosa.authentipad.keypad.german.keyset.row9.enum
    bharosa.authentipad.keypad.german.keyset.enum.row9.order=9
     
    bharosa.authentipad.keypad.german.keyset.enum.row10=9
    bharosa.authentipad.keypad.german.keyset.enum.row10.name=German KeyPad Keyset Row 10
    bharosa.authentipad.keypad.german.keyset.enum.row10.description=German KeyPad Keyset Row 10
    bharosa.authentipad.keypad.german.keyset.enum.row10.keys=bharosa.authentipad.keypad.german.keyset.row10.enum
    bharosa.authentipad.keypad.german.keyset.enum.row10.order=10
     
     
    ###############################################################################
     
     
     
    bharosa.authentipad.keypad.german.keyset.row1.enum=German KeyPad Keyset Row 1
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.name=!
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.description=!
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.value=!
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.shiftvalue=!
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.image=kp_v2_exclaim.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.name=@
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.description=@
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.value=@
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.shiftvalue=@
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.image=kp_v2_rate.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.name=#
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.description=#
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.value=#
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.shiftvalue=#
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.image=kp_v2_hash.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.name=$
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.description=$
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.value=$
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.shiftvalue=$
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.image=kp_v2_dollar.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.name=%
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.description=%
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.value=%
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.shiftvalue=%
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.image=kp_v2_percent.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.name=^
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.description=^
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.value=^
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.shiftvalue=^
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.image=kp_v2_carat.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.name=&
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.description=&
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.value=&
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.shiftvalue=&
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.image=kp_v2_and.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.name=*
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.description=*
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.value=*
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.shiftvalue=*
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.image=kp_v2_asterisk.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.name=(
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.description=(
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.value=(
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.shiftvalue=(
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.image=kp_v2_leftbraces.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key9.order=9
                                                                      
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.name=)
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.description=)
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.value=)
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.shiftvalue=)
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.image=kp_v2_rightbraces.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key10.order=10
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.name=_
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.description=_
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.value=_
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.shiftvalue=_
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.image=kp_v2_underscore.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.name=+
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.description=+
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.value=+
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.shiftvalue=+
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.image=kp_v2_plus.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.name=~
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.description=~
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.value=~
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.shiftvalue=~
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.image=kp_v2_tilda.png
    bharosa.authentipad.keypad.german.keyset.row1.enum.key13.order=13
     
     
    bharosa.authentipad.keypad.german.keyset.row2.enum=German KeyPad Keyset Row 2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.name=1
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.description=1
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.value=1
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.shiftvalue=1
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.image=kp_v2_1.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.name=2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.description=2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.value=2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.shiftvalue=2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.image=kp_v2_2.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.name=3
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.description=3
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.value=3
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.shiftvalue=3
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.image=kp_v2_3.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.name=4
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.description=4
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.value=4
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.shiftvalue=4
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.image=kp_v2_4.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.name=5
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.description=5
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.value=5
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.shiftvalue=5
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.image=kp_v2_5.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.name=6
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.description=6
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.value=6
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.shiftvalue=6
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.image=kp_v2_6.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.name=7
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.description=7
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.value=7
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.shiftvalue=7
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.image=kp_v2_7.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.name=8
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.description=8
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.value=8
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.shiftvalue=8
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.image=kp_v2_8.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.name=9
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.description=9
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.value=9
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.shiftvalue=9
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.image=kp_v2_9.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.name=0
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.description=0
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.value=0
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.shiftvalue=0
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.image=kp_v2_0.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.name=-
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.description=-
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.value=-
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.shiftvalue=-
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.image=kp_v2_hyphen.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.name==
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.description==
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.value==
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.shiftvalue==
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.image=kp_v2_equals.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.name=`
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.description=`
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.value=`
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.shiftvalue=`
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.image=kp_v2_apost.png
    bharosa.authentipad.keypad.german.keyset.row2.enum.key13.order=13
     
    bharosa.authentipad.keypad.german.keyset.row3.enum=German KeyPad Keyset Row 3
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.name=q
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.description=q
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.value=q
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.shiftvalue=Q
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.image=kp_v2_Q.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.name=w
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.description=w
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.value=w
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.shiftvalue=W
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.image=kp_v2_W.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.name=e
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.description=e
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.value=e
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.shiftvalue=E
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.image=kp_v2_E.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.name=r
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.description=r
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.value=r
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.shiftvalue=R
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.image=kp_v2_R.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.name=t
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.description=t
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.value=t
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.shiftvalue=T
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.image=kp_v2_T.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.name=y
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.description=y
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.value=y
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.shiftvalue=Y
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.image=kp_v2_Y.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.name=u
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.description=u
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.value=u
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.shiftvalue=U
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.image=kp_v2_U.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.name=i
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.description=i
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.value=i
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.shiftvalue=I
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.image=kp_v2_I.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.name=o
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.description=o
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.value=o
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.shiftvalue=O
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.image=kp_v2_O.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.name=p
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.description=p
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.value=p
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.shiftvalue=P
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.image=kp_v2_P.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.name={
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.description={
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.value={
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.shiftvalue={
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.image=kp_v2_leftcurlybraces.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.name=}
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.description=}
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.value=}
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.shiftvalue=}
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.image=kp_v2_rightcurlybraces.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.name="
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.description="
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.value="
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.shiftvalue="
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.image=kp_v2_quotes.png
    bharosa.authentipad.keypad.german.keyset.row3.enum.key13.order=13
     
     
    bharosa.authentipad.keypad.german.keyset.row4.enum=German KeyPad Keyset Row 4
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.name=a
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.description=a
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.value=a
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.shiftvalue=A
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.image=kp_v2_A.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.name=s
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.description=s
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.value=s
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.shiftvalue=S
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.image=kp_v2_S.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.name=d
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.description=d
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.value=d
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.shiftvalue=D
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.image=kp_v2_D.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.name=f
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.description=f
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.value=f
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.shiftvalue=F
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.image=kp_v2_F.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.name=g
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.description=g
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.value=g
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.shiftvalue=G
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.image=kp_v2_G.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.name=h
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.description=h
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.value=h
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.shiftvalue=H
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.image=kp_v2_H.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.name=j
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.description=j
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.value=j
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.shiftvalue=J
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.image=kp_v2_J.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.name=k
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.description=k
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.value=k
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.shiftvalue=K
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.image=kp_v2_K.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.name=l
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.description=l
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.value=l
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.shiftvalue=L
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.image=kp_v2_L.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.name=:
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.description=:
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.value=:
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.shiftvalue=:
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.image=kp_v2_colon.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.name=;
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.description=;
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.value=;
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.shiftvalue=;
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.image=kp_v2_semicolon.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.name=\\
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.description=\\
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.value=\\
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.shiftvalue=\\
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.image=kp_v2_backslash.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.name='
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.description='
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.value='
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.shiftvalue='
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.image=kp_v2_quote.png
    bharosa.authentipad.keypad.german.keyset.row4.enum.key13.order=13
     
    bharosa.authentipad.keypad.german.keyset.row5.enum=German KeyPad Keyset Row 5
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.name=z
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.description=z
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.value=z
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.shiftvalue=Z
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.image=kp_v2_Z.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.name=x
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.description=x
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.value=x
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.shiftvalue=X
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.image=kp_v2_X.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.name=c
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.description=c
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.value=c
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.shiftvalue=C
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.image=kp_v2_C.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.name=v
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.description=v
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.value=v
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.shiftvalue=V
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.image=kp_v2_V.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.name=b
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.description=b
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.value=b
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.shiftvalue=B
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.image=kp_v2_B.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.name=n
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.description=n
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.value=n
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.shiftvalue=N
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.image=kp_v2_N.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.name=m
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.description=m
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.value=m
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.shiftvalue=M
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.image=kp_v2_M.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.name=<
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.description=<
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.value=<
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.shiftvalue=<
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.image=kp_v2_lessthan.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.name=>
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.description=>
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.value=>
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.shiftvalue=>
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.image=kp_v2_greaterthan.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.name=,
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.description=,
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.value=,
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.shiftvalue=,
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.image=kp_v2_comma.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.name=.
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.description=.
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.value=.
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.shiftvalue=.
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.image=kp_v2_period.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.name=/
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.description=/
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.value=/
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.shiftvalue=/
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.image=kp_v2_forwardslash.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.name=?
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.description=?
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.value=?
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.shiftvalue=?
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.image=kp_v2_questionmark.png
    bharosa.authentipad.keypad.german.keyset.row5.enum.key13.order=13
     
     
     
     
     
     
    ######################### Alternate Keypad Keyset ######################
     
    bharosa.authentipad.keypad.german.keyset.row6.enum=German KeyPad Keyset Row 6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.name=\u00C0
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.description=\u00C0
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.value=\u00C0
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.shiftvalue=\u00C0
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.image=kp_v01_00C0.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.name=\u00C1
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.description=\u00C1
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.value=\u00C1
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.shiftvalue=\u00C1
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.image=kp_v01_00C1.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.name=\u00C2
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.description=\u00C2
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.value=\u00C2
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.shiftvalue=\u00C2
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.image=kp_v01_00C2.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.name=\u00C3
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.description=\u00C3
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.value=\u00C3
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.shiftvalue=\u00C3
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.image=kp_v01_00C3.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.name=\u00C4
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.description=\u00C4
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.value=\u00C4
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.shiftvalue=\u00C4
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.image=kp_v01_00C4.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.name=\u00C5
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.description=\u00C5
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.value=\u00C5
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.shiftvalue=\u00C5
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.image=kp_v01_00C5.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.name=\u00C6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.description=\u00C6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.value=\u00C6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.shiftvalue=\u00C6
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.image=kp_v01_00C6.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.name=\u00C7
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.description=\u00C7
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.value=\u00C7
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.shiftvalue=\u00C7
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.image=kp_v01_00C7.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.name=\u00C8
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.description=\u00C8
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.value=\u00C8
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.shiftvalue=\u00C8
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.image=kp_v01_00C8.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.name=\u00C9
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.description=\u00C9
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.value=\u00C9
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.shiftvalue=\u00C9
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.image=kp_v01_00C9.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.name=\u00CA
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.description=\u00CA
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.value=\u00CA
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.shiftvalue=\u00CA
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.image=kp_v01_00CA.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.name=\u00CB
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.description=\u00CB
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.value=\u00CB
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.shiftvalue=\u00CB
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.image=kp_v01_00CB.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.name=\u00CC
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.description=\u00CC
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.value=\u00CC
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.shiftvalue=\u00CC
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.image=kp_v01_00CC.png
    bharosa.authentipad.keypad.german.keyset.row6.enum.key13.order=13
     
     
     
     
    bharosa.authentipad.keypad.german.keyset.row7.enum=German KeyPad Keyset Row 7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.name=\u00CD
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.description=\u00CD
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.value=\u00CD
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.shiftvalue=\u00CD
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.image=kp_v01_00CD.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.name=\u00CE
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.description=\u00CE
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.value=\u00CE
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.shiftvalue=\u00CE
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.image=kp_v01_00CE.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.name=\u00CF
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.description=\u00CF
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.value=\u00CF
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.shiftvalue=\u00CF
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.image=kp_v01_00CF.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.name=\u00D0
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.description=\u00D0
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.value=\u00D0
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.shiftvalue=\u00D0
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.image=kp_v01_00D0.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.name=\u00D1
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.description=\u00D1
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.value=\u00D1
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.shiftvalue=\u00D1
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.image=kp_v01_00D1.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.name=\u00D2
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.description=\u00D2
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.value=\u00D2
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.shiftvalue=\u00D2
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.image=kp_v01_00D2.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.name=\u00D3
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.description=\u00D3
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.value=\u00D3
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.shiftvalue=\u00D3
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.image=kp_v01_00D3.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.name=\u00D4
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.description=\u00D4
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.value=\u00D4
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.shiftvalue=\u00D4
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.image=kp_v01_00D4.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.name=\u00D5
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.description=\u00D5
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.value=\u00D5
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.shiftvalue=\u00D5
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.image=kp_v01_00D5.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.name=\u00D6
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.description=\u00D6
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.value=\u00D6
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.shiftvalue=\u00D6
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.image=kp_v01_00D6.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.name=\u00D7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.description=\u00D7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.value=\u00D7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.shiftvalue=\u00D7
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.image=kp_v01_00D7.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.name=\u00D8
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.description=\u00D8
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.value=\u00D8
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.shiftvalue=\u00D8
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.image=kp_v01_00D8.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.name=\u00D9
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.description=\u00D9
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.value=\u00D9
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.shiftvalue=\u00D9
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.image=kp_v01_00D9.png
    bharosa.authentipad.keypad.german.keyset.row7.enum.key13.order=13
     
     
     
     
    bharosa.authentipad.keypad.german.keyset.row8.enum=German KeyPad Keyset Row8
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.name=\u00DA
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.description=\u00DA
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.value=\u00DA
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.shiftvalue=\u00DA
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.image=kp_v01_00DA.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.name=\u00DB
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.description=\u00DB
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.value=\u00DB
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.shiftvalue=\u00DB
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.image=kp_v01_00DB.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.name=\u00DC
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.description=\u00DC
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.value=\u00DC
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.shiftvalue=\u00DC
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.image=kp_v01_00DC.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.name=\u00DD
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.description=\u00DD
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.value=\u00DD
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.shiftvalue=\u00DD
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.image=kp_v01_00DD.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.name=\u00DE
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.description=\u00DE
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.value=\u00DE
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.shiftvalue=\u00DE
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.image=kp_v01_00DE.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.name=\u00DF
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.description=\u00DF
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.value=\u00DF
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.shiftvalue=\u00DF
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.image=kp_v01_00DF.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.name=\u00E0
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.description=\u00E0
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.value=\u00E0
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.shiftvalue=\u00E0
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.image=kp_v01_00E0.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.name=\u00E1
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.description=\u00E1
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.value=\u00E1
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.shiftvalue=\u00E1
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.image=kp_v01_00E1.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.name=\u00E2
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.description=\u00E2
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.value=\u00E2
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.shiftvalue=\u00E2
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.image=kp_v01_00E2.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.name=\u00E3
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.description=\u00E3
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.value=\u00E3
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.shiftvalue=\u00E3
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.image=kp_v01_00E3.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.name=\u00E4
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.description=\u00E4
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.value=\u00E4
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.shiftvalue=\u00E4
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.image=kp_v01_00E4.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.name=\u00E5
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.description=\u00E5
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.value=\u00E5
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.shiftvalue=\u00E5
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.image=kp_v01_00E5.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.name=\u00E6
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.description=\u00E6
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.value=\u00E6
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.shiftvalue=\u00E6
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.image=kp_v01_00E6.png
    bharosa.authentipad.keypad.german.keyset.row8.enum.key13.order=13
     
     
     
    bharosa.authentipad.keypad.german.keyset.row9.enum=German KeyPad Keyset row9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.name=\u00E7
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.description=\u00E7
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.value=\u00E7
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.shiftvalue=\u00E7
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.image=kp_v01_00E7.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.name=\u00E8
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.description=\u00E8
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.value=\u00E8
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.shiftvalue=\u00E8
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.image=kp_v01_00E8.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.name=\u00E9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.description=\u00E9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.value=\u00E9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.shiftvalue=\u00E9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.image=kp_v01_00E9.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.name=\u00EA
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.description=\u00EA
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.value=\u00EA
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.shiftvalue=\u00EA
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.image=kp_v01_00EA.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.name=\u00EB
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.description=\u00EB
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.value=\u00EB
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.shiftvalue=\u00EB
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.image=kp_v01_00EB.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.name=\u00EC
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.description=\u00EC
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.value=\u00EC
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.shiftvalue=\u00EC
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.image=kp_v01_00EC.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.name=\u00ED
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.description=\u00ED
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.value=\u00ED
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.shiftvalue=\u00ED
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.image=kp_v01_00ED.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.name=\u00EE
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.description=\u00EE
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.value=\u00EE
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.shiftvalue=\u00EE
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.image=kp_v01_00EE.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.name=\u00EF
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.description=\u00EF
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.value=\u00EF
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.shiftvalue=\u00EF
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.image=kp_v01_00EF.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.name=\u00F0
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.description=\u00F0
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.value=\u00F0
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.shiftvalue=\u00F0
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.image=kp_v01_00F0.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.name=\u00F1
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.description=\u00F1
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.value=\u00F1
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.shiftvalue=\u00F1
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.image=kp_v01_00F1.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.name=\u00F2
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.description=\u00F2
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.value=\u00F2
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.shiftvalue=\u00F2
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.image=kp_v01_00F2.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.name=\u00F3
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.description=\u00F3
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.value=\u00F3
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.shiftvalue=\u00F3
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.image=kp_v01_00F3.png
    bharosa.authentipad.keypad.german.keyset.row9.enum.key13.order=13
     
     
     
    bharosa.authentipad.keypad.german.keyset.row10.enum=German KeyPad Keyset row10
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1=0
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.name=\u00F4
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.description=\u00F4
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.value=\u00F4
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.shiftvalue=\u00F4
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.image=kp_v01_00F4.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key1.order=1
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2=1
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.name=\u00F5
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.description=\u00F5
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.value=\u00EF5
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.shiftvalue=\u00F5
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.image=kp_v01_00F5.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key2.order=2
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3=2
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.name=\u00F6
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.description=\u00F6
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.value=\u00F6
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.shiftvalue=\u00F6
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.image=kp_v01_00F6.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key3.order=3
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4=3
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.name=\u00F7
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.description=\u00F7
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.value=\u00F7
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.shiftvalue=\u00F7
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.image=kp_v01_00F7.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key4.order=4
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5=4
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.name=\u00F8
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.description=\u00F8
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.value=\u00F8
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.shiftvalue=\u00F8
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.image=kp_v01_00F8.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key5.order=5
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6=5
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.name=\u00F9
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.description=\u00F9
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.value=\u00F9
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.shiftvalue=\u00F9
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.image=kp_v01_00F9.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key6.order=6
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7=6
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.name=\u00FA
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.description=\u00FA
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.value=\u00FA
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.shiftvalue=\u00FA
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.image=kp_v01_00FA.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key7.order=7
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8=7
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.name=\u00FB
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.description=\u00FB
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.value=\u00FB
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.shiftvalue=\u00FB
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.image=kp_v01_00FB.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key8.order=8
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9=8
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.name=\u00FC
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.description=\u00FC
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.value=\u00FC
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.shiftvalue=\u00FC
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.image=kp_v01_00FC.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key9.order=9
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10=9
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.name=\u00FD
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.description=\u00FD
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.value=\u00FD
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.shiftvalue=\u00FD
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.image=kp_v01_00FD.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key10.order=10
                                                                      
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11=10
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.name=\u00FE
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.description=\u00FE
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.value=\u00FE
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.shiftvalue=\u00FE
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.image=kp_v01_00FE.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key11.order=11
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12=11
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.name=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.description=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.value=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.shiftvalue=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.image=kp_v01_00FF.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key12.order=12
     
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13=12
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.name=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.description=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.value=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.shiftvalue=\u00FF
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.image=kp_v01_00FF.png
    bharosa.authentipad.keypad.german.keyset.row10.enum.key13.order=13
    
  5. フレーム・イメージ・ファイルとキー・イメージ・ファイルを次のディレクトリに追加します。

    • キー・イメージ・ファイル: <temp-folder>/WEB-INF/classes/bharosa_properties/alphapad_skins_de

    • フレーム・イメージ・ファイル: <temp-folder>//WEB-INF/classes/bharosa_properties/alphapad_bg

  6. 次のコマンドを使用して、WARファイルを再パッケージ化します。

    jar -cvfm oracle.oaam.extensions.war <temp-folder>/META-INF/MANIFEST.MF -C <temp-folder>
    

    注意:

    元のMANIFEST.MFが、共有ライブラリ情報を含んだMANIFEST.MFと同じであることを確認してください。


  7. 更新されたoracle.oaam.extensions.warを、ターゲットにoaam_serverとoaam_adminを指定した共有ライブラリとして再デプロイします。

  8. OAAMサーバーを再起動し、ブラウザをドイツ語のロケールに設定してアプリケーションにアクセスすることで変更内容を検証します。

20.9 シナリオ

キー・ロガーは、ユーザーがキーボードで入力した機密の資格情報を盗み取ることを目的としたソフトウェアまたはハードウェアです。キー・ロガーを防ぐ最善の方法は、機密情報を入力するための別の方法を使用することです。KeyPadでは、キーボードによる入力を排除するのみでなく、セッションごとに個別のデータ送信方法を使用することでデータを盗難から防御します。実際のデータではなく、XY座標位置が送信されます。また、「ジッター」という機能のおかげで、KeyPadを使用するたびに同一のデータが別のXY座標の値セットに変換されます。

ソーシャル・エンジニアリング攻撃は手強い脅威です。パーソナライズは個人バックグラウンド・イメージおよびフレーズから構成されます。サーバーによってタイムスタンプが生成され、再利用を防ぐために、1回のみ使用できるイメージに埋め込まれます。各オーセンティケータ・インタフェースは、1回のみ使用するためにエンド・ユーザーに提供される単一JPEGイメージです。クライアント側のインテリジェンス機能が制約を受けることはありません。

Webアプリケーションのセキュリティ保護は、パスワードに依存せずに実現できます。ユーザーがアクセス・リクエストを送る際には、その他のすべてのデータを使用することでセキュリティ上のリスクを評価できます。また、セキュリティ上のリスクが高い場合にのみ、追加の資格証明を発行して使用できます。