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

前
 
次
 

20 仮想認証デバイスのカスタマイズ

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


注意:

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

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

20.1 仮想認証デバイスについて

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

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

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

表20-1 VAD用語

用語 説明

オーセンティケータ/AuthentiPad

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

パーソナライズ

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

仮想Keypad/キーボード

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

ジッター

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

サブ・ジッター

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

オフセット

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

キーのランダム化

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

タイムスタンプ

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

マスキング

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


20.1.2 仮想認証デバイスのタイプ

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

図20-1 パーソナライズ

図20-1の説明が続きます。
「図20-1 パーソナライズ」の説明

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

20.1.2.1 TextPad

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

20.1.2.2 PinPadおよびKeyPad

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

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

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

20.1.2.3 QuestionPad

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

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

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

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

図20-6の説明が続きます
「図20-6 仮想認証デバイスの構成」の説明

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

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

要素 説明

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

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

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

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

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

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

HTMLコントロール

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


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

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

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

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

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

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


注意:

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

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

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

bharosa.authentipad.padtype.property.subproperty=value

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

bharosa.authentipad.textpad.datafield.x=100

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

  • textpad

  • keypad

  • pinpad

  • questionpad

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

20.4 オーセンティケータの要素のカスタマイズ

オーセンティケータ・インタフェースの個々の要素はカスタマイズ可能です。すべての変更はカスタム開発とみなされます。

20.4.1 パーソナライズされたイメージの追加

Oracle Adaptive Access Managerには、一連のサンプル・バックグラウンド・イメージが同梱されています。各仮想認証デバイスには、8,423個のパーソナライズされたイメージが存在します。これらのイメージは、仮想認証デバイスのみでの使用を目的としています。セキュリティ上の理由から、仮想認証デバイスのコンテキスト以外でエンド・ユーザーに使用可能にしないでください。あらゆるユーザーを対象にした迅速なダウンロードを可能にするために、その内容、ファイル・サイズおよびその他の属性が最適化されています。パッケージでは、各サポート言語用のサンプル・フレーズ・テキストが提供されています。これらのイメージやテキストに対する変更は、カスタム開発とみなされます。イメージを編集するときには、そのイメージの物理的寸法を拡大したり、サンプル・イメージのアスペクト率を変更したりしないでください。そのイメージがゆがんでしまうからです。これらの要素には、ボタン、フィールド、個人フレーズおよび個人イメージが含まれます。

1つのイメージ・ファイルには、ブランド、フレームおよびボタン・イメージが含まれます。特に注意を要するのは、テキスト、ホット・スポットおよびキー・サイズに関する問題です。これらは、提供サンプルよりもサイズを小さくしないでください。また、デプロイメントで使用されている仮想認証デバイスごとに同じ名前のイメージが存在している必要があります。

表20-3に、仮想認証デバイスのデフォルト・イメージ・プロパティを示します。

表20-3 パーソナライズ用のデフォルト・イメージ

要素 プロパティ

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

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

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

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

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

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

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

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

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

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

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

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


カスタム・バックグラウンド・イメージの開発

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

グラフィック・エディタを構成すれば、イメージをバッチで変換できます。

正しいディレクトリへのイメージの追加

カスタム・パッド関連のイメージをoaam_extensions\WEB-INF\classes\bharosa_propertiesに追加します。

OAAMインストール内にロゴなしフレームなどのイメージがある場合、そのイメージはこのフォルダに移動する必要はありません。カスタム・ファイルを追加する場合にのみ、それをこのフォルダに追加する必要があります。

client_resource_locale.propertiesへのイメージの場所の追加

カスタム・バックグラウンド・イメージがVADに表示されるようにするには、OAAM拡張ライブラリ内のclient_resource_locale.propertiesにイメージの場所を追加する必要があります。

vcrypt.user.image.dirlist.property.name=bharosa.image.dirlist
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

client_resource_locale.propertiesへのイメージ・プロパティの追加

イメージのデフォルト値はoaam_custom.propertiesファイルにあります。デフォルト値を上書きするには、OAAM拡張ライブラリ内のclient_resource_locale.propertiesにプロパティを追加する必要があります。たとえば、次のようになります。

bharosa.uio.default.DeviceTextPad.default.image = textpad_bg/BG_003.jpg

ファイルをoaam_extensions\WEB-INF\classesフォルダに保存します。

20.4.2 オーセンティケータのフレームの変更

TextPad、KeyPad、PinPadなどの各オーセンティケータ・インタフェースには、フレームが存在します。フレームはオーセンティケータ・ユーザー・インタフェースの外側の境界を示しており、仮想認証デバイスをページ上の残りの領域から区別するものです。

どんなグラフィック処理を行ったとしてもデバイスの外観が維持されるように、このフレームは常に識別可能な状態にある必要があります。フレームは、視覚から消えてしまうほど、HTMLページの周囲の要素に溶け込んではならないということです。

各パッドの全体サイズとアスペクト率は固定されているため変更できません。インタフェースのすべての要素は、フレーム内に収まっている必要があります。

フレームとキーのサンプルは、英語のみで提供されています。仮想認証デバイスのフレームとキーのマスター・ファイル、また各部の説明は、必要に応じて提供されています。独自のカスタム・フレームとキー・イメージを作成して、本番ドキュメントを使用してデプロイできますが、これらのイメージや対応するプロパティに対する変更は、カスタム開発とみなされます。

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

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

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

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


注意:

デフォルト値が「リソース」ファイル内にある場合は、client_resource.propertiesでオーバーライド値を指定する必要があります。

20.4.2.1 TextPadのオーセンティケータのフレーム・プロパティ

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

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

機能 プロパティ

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

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

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

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

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

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

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

登録フレーム・ファイル

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

このプロパティは登録ページに適用されます。

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.4.2.2 PinPadのオーセンティケータのフレーム・プロパティ

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

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

機能 プロパティ

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

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

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

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

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

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

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

登録フレーム・ファイル

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

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.4.2.3 QuestionPadのオーセンティケータのフレーム・プロパティ

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

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

機能 プロパティ

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

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

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

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


20.4.2.4 KeyPadのオーセンティケータのフレーム・プロパティ

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

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

機能 プロパティ

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

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

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

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

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

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

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

登録フレーム・ファイル

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

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.4.3 [Enter]キー、パーソナライズされたフレーズおよびタイムスタンプの位置、ディメンションおよびカラーの変更

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

表20-8 独自のセキュリティ機能

ビジュアル要素 説明

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

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

フレーズ

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

タイムスタンプ

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


20.4.3.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.4.3.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=<
bharosa.authentipad.pinpad.backspace.enable=true

20.4.3.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.4.3.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.4.3.5 Apple iPhone用のテキスト・サイズの構成

TextPadのパスワードおよびQuestionPadの回答のフォント・サイズをApple iPhoneにあわせて変更する場合は、次のプロパティをclient_resource.propertiesファイルに追加します。

bharosa.authentipad.textpad.datafield.font.size=12
bharosa.authentipad.questionpad.datafield.font.size=12

20.4.4キー・セットの変更

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-9 行のプロパティ

プロパティ 説明

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-10 各キーのプロパティ

プロパティ 説明

name

キーの名前。

description

キーの説明。

value

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

shiftvalue

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

image

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

order

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


20.4.5 構成の簡単な例

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

20.4.5.1 フレームの設計

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

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

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

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

  • パスワード・エントリ。

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

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

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

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

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

20.4.5.2 要素の位置決定

20.4.3項「[Enter]キー、パーソナライズされたフレーズおよびタイムスタンプの位置、ディメンションおよびカラーの変更」に記述されているプロパティを使用して、要素が設定されます。すべてのプロパティで、イメージの左上を「0,0」に設定した標準的なXY座標が使用されます。

20.5 カスタマイズ手順

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

  1. oaam_extensionsという作業フォルダを作成します。

    このフォルダは、インストール・フォルダ以外であればどこにでも作成できます。

  2. oracle.oaam.extensions.warファイルを作業フォルダ内に抽出します。

    oaam_extensionsフォルダに、次のサブフォルダが表示されます。

    • META-INF

    • WEB-INF

    • WEB-INF\lib

    • WEB-INF\classes

  3. カスタム・プロパティをoaam_custom.propertiesというファイルに追加し、そのファイルをoaam_extensions\WEB-INF\classesディレクトリに保存します。

    oaam_custom.propertiesoaam_extensions\WEB-INF\classes\bharosa_propertiesに保存したら、そのまま何もする必要はありません。いずれの場所も使用できます。

  4. カスタム・リソース・バンドル値をclient_resource_locale.propertiesというファイルに追加し(ここで、localeは、「en」など関連性のあるロケールに置き換わります)、そのファイルをoaam_extensions\WEB-INF\classesフォルダに保存します。

    ユーザーが使用するテキストもリソース・バンドルの値としてみなされるため、これらをファイルに追加する必要があります。OAAMサーバーにはイメージ・パスや正規表現プロパティなど、その他の項目もあり、これらはロケールに基づいてカスタマイズできます。

    たとえば、bharosa.uio.default.register.DeviceTextPad.frame=textpad_bg/TP_nologo_frame_01.pngおよびbharosa.uio.default.DeviceTextPad.default.image = textpad_bg/BG_003.jpgをこのファイルに追加できます。

  5. カスタム・パッド関連のイメージをoaam_extensions\WEB-INF\classes\bharosa_propertiesに追加します。

    OAAMインストール内にロゴなしフレームなどのイメージがある場合、そのイメージはこのフォルダに移動する必要はありません。カスタム・ファイルを追加する場合にのみ、それをこのフォルダに追加する必要があります。

  6. 次のコマンドを使用して、OAAM拡張共有ライブラリ、oracle.oaam.extensions.waroaam_extensionsの親フォルダから再パッケージ化します。

    jar -cvfm oracle.oaam.extensions.war oaam_extensions/META-INF/MANIFEST.MF -C  oaam_extensions/ .
    

    注意:

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

  7. 管理対象サーバーが稼働している場合はすべて停止します。

  8. WebLogic管理サーバーを起動します。

  9. Oracle Adaptive Access ManagerがデプロイされているOracle WebLogic Serverを起動して、Oracle WebLogic管理コンソールにログインします。

  10. 現在デプロイされているoracle.oaam.extensions.warを削除します。

  11. oaam_serverおよびoaam_adminをターゲット・アプリケーションとする、新しいoracle.oaam.extensions.warファイルを、共有ライブラリとしてデプロイします。

    oaam_offlineが同じドメインにデプロイされている場合は、これもターゲットにする必要があります。

  12. 使用するすべての管理対象サーバーを起動します。

  13. カスタム機能をテストして、oracle.oaam.extensions.warに追加したファイルをOracle Adaptive Access Managerアプリケーションが使用していることを確認します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

パラメータ 説明

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.6.3 タイムスタンプとタイムゾーンの設定

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

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

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

パラメータ 説明

authentiPad.setTimeStamp(Date timeStamp)

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

authentiPad.setTimeZone(TimeZone timeZone)

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

authentiPad.setDisplayOnly(boolean displayOnly)

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

authentiPad.setQuestionText(VCryptLocalizedString questionText)

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


20.6.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.7 アクセシビリティ対応バージョンのオーセンティケータの有効化

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

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

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

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

desertref.authentipad.isADACompliant

Oracle Adaptive Access Managerの即時利用可能な機能では、次のプロパティで仮想認証デバイスを制御します。

bharosa.uio.default.authentipad.is_ada_compliant

20.8 ランダム化およびジッターの追加

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

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

図20-7の説明が続きます
「図20-7 ランダム化およびジッター」の説明

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

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.8.2 KeyPadのランダム化とジッターのプロパティ

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.8.3 PinPadのランダム化とジッターのプロパティ

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.8.4 QuestionPadのランダム化とジッターのプロパティ

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.9 パスワードの文字制限の変更

OAAMでは、パスワードの25文字の制限が採用されています。ユーザーがOAAMサーバーに最初にログインするとき、入力したパスワードが25バイトを超える場合、パスワードが無効というエラーが発生し、ユーザー名のページに戻されてしまいます。

OAAMサーバーに入力するパスワードの文字制限を変更するには、次のプロパティの値を更新します。

bharosa.authentipad.textpad.datafield.maxLength

OAAM管理コンソールを使用して、文字制限を更新するには、次の手順に従います。

  1. OAAM管理コンソールにログインします。

  2. 左側のペインで、「環境」をクリックしてから、「プロパティ」をダブルクリックします。「プロパティ」検索ページが表示されます。

  3. bharosa.authentipad.textpad.datafield.maxLengthという名前のプロパティを検索し、その値を変更します。

  4. そのプロパティが存在しない場合は、bharosa.authentipad.textpad.datafield.maxLengthという名前の新しいプロパティおよびその値を追加します。

プロパティを更新するために共有ライブラリを使用する方法については、この章を参照してください。

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

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

20.10.1 概要

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

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

  2. カスタム・キーセット関連列挙プロパティを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.10.2 ドイツ語のロケールの使用例

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

  1. OAAM拡張共有ライブラリのWARファイルを一時フォルダtemp-folderに抽出します。

  2. client_resource_de.propertiestemp-folder/WEB-INF/classes/内に作成します(存在しない場合)。

  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 folder 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. oaam_custom.propertiestemp-folder/WEB-INF/classes内に作成します(存在しない場合)。

    ################# 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. 次のコマンドを使用して、oracle.oaam.extensions.warファイルを再パッケージ化します。

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

    注意:

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

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

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

20.11 KeyPadのシナリオ

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

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

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