OAAM includes a suite of highly secure virtual authentication devices as samples to deploy if you choose to. Alteration of these samples is considered custom development. Source art and information in this chapter are provided as a reference to allow you to develop your own custom virtual authentication devices.
Note:
These samples are provided in English only.This chapter contains the following sections:
Virtual authentication devices are authenticator interfaces used to protect end users during the process of entering and transmitting authentication credentials and provide them with verification they are authenticating on the valid application. There are many security technologies employed in the authenticator user interfaces. Each virtual authentication device has its own unique set of security features that makes it much more than just an image on a web page.
This section defines terms used in this chapter.
Term | Description |
---|---|
Authenticator / Authentipad |
A control for user input included in OAAM that provides a keyboard and enables personalization. |
Personalization |
Assigning an image and generated phrase during registration. The phrase and image provide end users with verification they are authenticating on the valid application. |
Virtual Keypad/Keyboard |
A method for user input where the user clicks screen keys instead of an external keyboard. |
Jitter |
The act of moving key location slightly on each time the authenticator is generated. |
Sub-jitter |
After jitter is calculated each individual key is moved. |
Offset |
The act of moving a whole key set on screen. |
Key Randomization |
The act of randomizing the key order. (Scramble) |
Timestamp |
A string generated from the current system time or client side time. |
Masking |
Replacing characters in an HTML input field. |
Virtual authentication devices protect users from phishing attacks, data theft, and bots. Each user has an image and a phrase that are used as a shared secret between the business and the end user. The shared secret authenticates the website to the end user, which helps to protect end users from Phishing operations trying to fool them with social engineering.
Each time PinPad or KeyPad is used the data sent over the wire is random. The actual credential is not entered and sent by the end user. Instead, what is sent are screen coordinates. Basic jitter, sub-jitter and scramble are available. The following subsections introduces you to the virtual authentication devices.
TextPad is a personalized device that consists of a single form field for entering a password or PIN using a regular keyboard. This method of data entry helps to defend against phishing primarily. The field can act as a password HTML control that masks data entry. TextPad is often deployed as the default for all users in a large deployment. Then, each user individually can upgrade to another device if desired. The personal image and phrase a user registers and sees every time the user logs in to the valid site serves as a shared secret between the user and server. If this shared secret is not presented or presented incorrectly, the users will notice. An example TextPad is shown in Figure 9-2.
PinPad and KeyPad are indirect authentication credential entry virtual devices. They can be invoked at the time of login or in-session if required. A user navigates using their mouse to click the visual "keys." On the wire, the data entered is a string of random numbers that only the OAAM server can decode into the valid password/PIN/data. A configurable number of randomization mechanisms control the balance of usability with the level of required strength. The PinPad and KeyPad are generally given as an optional upgrade users can choose to use or not. This flow ensures only users who want the extra protection utilize it since there is a slight learning curve related to navigation.
PinPad is a lightweight authentication device for entering a numeric PIN. Data input is limited to numerals. It supports key jitter, randomization, and offset. An example PinPad is shown in Figure 9-3.
KeyPad is a personalized graphics keyboard. The user uses KeyPad to enter alphanumeric and special character using a traditional keyboard. KeyPad is ideal for entering passwords and other sensitive data. For example, credit card numbers can be entered. An example KeyPad is shown in Figure 9-4.
QuestionPad is a personalized device that renders text in the form of a prompt or question. The user can provide information or an answer for the question using a regular keyboard. The QuestionPad is capable of incorporating the challenge question into the Question image. Like other Adaptive Strong Authentication devices, QuestionPad also helps in solving the phishing problem. An example QuestionPad is shown in Figure 9-5.
A virtual authentication device is composed of many elements. Figure 9-6 shows the elements which are combined at run time to produce the virtual authentication device for display on the client side.
Figure 9-6 Virtual Authentication Device Composition
Table 9-2 describes each element in the composition.
Table 9-2 Elements of an authenticator
Element | Description |
---|---|
Personalized Image |
An image selected by the user during registration. This is stored in the user repository in OAAM. |
Authenticator Frame |
An image that forms the frame of the authenticator. It contains graphics to represent user controls. |
Timestamp, Phrase and Keyset |
Image elements that are generated to build the personalization of the authenticator. |
HTML Controls |
A set of JavaScript controlled HTML elements for data entry and submission of data. |
Text based property files on the server side control how the virtual authentication devices are rendered and how they behave. These files are in the business application for Native deployments or in an application for UIO deployments. Details on the virtual authentication device properties are provided in this chapter for your reference.
Virtual authentication devices uses the following files:
oaam_custom.properties is the file where custom properties are added for virtual authentication devices, KeySet definitions used in the KeyPad and PinPad devices, and configuration properties that are not localized (translated).
oaam_custom_locale
.properties are files the administrator customizing the application creates to contain locale-specific properties such as translated displayed messages. The locale identifier consists of at least a language identifier, and a region identifier (if required). For example, the custom properties file for US English is oaam_custom_en_US.properties
.
Note:
Many of the properties related to the virtual authentication devices are in resource bundles so that they are capable of being localized. If the default value is in a "resource" file, then the override value should be placed in the client override file for resource bundle values (client_resource.properties
).Properties are constructed in the following manner.
bharosa.authentipad.padtype.property.subproperty=value
For example:
bharosa.authentipad.textpad.datafield.x=100
The pad type values are:
textpad
keypad
pinpad
questionpad
Any defined property can be overwritten or updated by redefining the property in the oaam_custom.properties
file. This allows only the relevant properties to be changed without having to rewrite all properties in a new set.
Specific elements of the Authenticator interfaces may be customized. Any and all alterations is considered custom development.
A set of sample background images are shipped with Oracle Adaptive Access Manager. There are 8,423 personalization images for each virtual authentication device. These images are for use in the virtual authentication devices only. For security reasons they should never be available to end users outside the context of the virtual authentication devices. The content, file sizes, and other attributes were optimized for a broad range of user populations and fast download speed. The sample phrase text for each supported language is provided with the package. Any and all alterations to these images or text is considered custom development. If the images are to be edited, make sure not to increase the physical dimensions or change the aspect ratio of the sample images because distortions will occur. These elements include buttons, fields, personal phrase and personal image.
A single image file contains the branding, frame and button images. Some issues to be careful of are text, hot spot, and key sizes. It is not recommended that these be made smaller than the provided samples. Also, there must be an identically named version of each image for each virtual authentication device used in your deployment.
Table 9-3 lists the default image property for the virtual authentication devices.
Table 9-3 Default Images for Personalization
Element | Property |
---|---|
Default TextPad background graphic (Can be application specific) |
|
Default PinPad background graphic (Can be application specific) |
|
Default QuestionPad background graphic (Can be application specific) |
|
Default KeyPad background graphic (Can be application specific) |
|
Develop Custom Background Images
Process the images to the correct resolution for each virtual authentication device being used.
You can configure a graphic editor to transform the images in batches.
Add Images to the Correct Directories
Add custom pad related images to oaam_extensions\WEB-INF\classes\bharosa_properties
.
If the image exists in the OAAM installation, such as the no logo frame, you do not have to move it to this folder. Only if you are adding a custom file would you need to add it to this folder.
Add Location of Images to client_resource_locale.properties
For the custom background images to display in the VAD, you must add the location of the images to client_resource_locale.properties
inside of an OAAM Extension library:
vcrypt.user.image.dirlist.property.name=bharosa.image.dirlist
bharosa.image.dirlist=absolute_folder_path_where_oaam_images_are_available
For example:
bharosa.image.dirlist=/scratch/user/Oracle/Middleware/Oracle_IDM1/oaam/
oaam_images/virtual_authentication_device
The default value is: ${oracle.oaam.home}/oaam_images
.
Add Image Properties to client_resource_locale.properties
The default values for the images are located in the oaam_custom.properties file. To overwrite, the default values, you must add the properties to client_resource_locale.properties inside of an OAAM Extension library. For example:
bharosa.uio.default.DeviceTextPad.default.image = textpad_bg/BG_003.jpg
Save the file in the oaam_extensions\WEB-INF\classes
folder.
Each of the authenticator interfaces, such as TextPad, KeyPad, PinPad, and so on, has a frame. The frame marks the outer boundary of the authenticator user interface and delineates the virtual authentication device from the rest of the page.
The frame must always be apparent regardless of the graphical treatment to preserve the appearance of a device. The frame may not blend into the surrounding elements of an HTML page to the point were it disappears visually.
The overall size and aspect of each pad is fixed and may not be altered. All elements of the interface must be contained within the frame.
The frame and key samples are provided in English only. Master files for the virtual authentication device frames and keys along with descriptions of the parts are provided on request. You may create your own custom frame and key images and deploy them using product documentation, but any and all alterations to these images or the properties that correspond to them are considered custom development.
The frame may be altered only in the following ways:
Colors may be altered for the outline and fill of the frame
Colors of the buttons on the frame may be altered
Branding may be altered
Note:
If the default value is in a "resource" file, you must specify the override value inclient_resource.properties
.Table 9-1 lists the TextPad Authenticator Properties
Table 9-4 TextPad Authenticator Properties
Feature | Property |
---|---|
Password Frame File (Can be application specific) |
|
Challenge Frame File (Can be application specific) |
Note: Challenge type can be any configured challenge type ( |
Registration Frame File (Can be application specific) This property applies to the registration page. |
|
User Preferences Frame File (Can be application specific) This property applies to the self-service user preferences page. |
|
Table 9-1 lists the PinPad Authenticator Properties
Table 9-5 PinPad Authenticator Properties
Feature | Property |
---|---|
Password Frame File (Can be application specific) |
|
Challenge Frame File (Can be application specific) |
Note: Challenge type can be any configured challenge type ( |
Registration Frame File (Can be application specific) |
|
User Preferences Frame File (Can be application specific) |
|
Table 9-1 lists the QuestionPad Authenticator Properties
Table 9-1 lists the KeyPad Authenticator Properties
Table 9-7 KeyPad Authenticator Properties
Feature | Property |
---|---|
Password Frame File (Can be application specific) |
|
Challenge Frame File (Can be application specific) |
Note: |
Registration Frame File ( (Can be application specific) |
|
User Preferences Frame File (Can be application specific) |
|
Each virtual authentication device has its own unique security features. The default properties of these elements are provided for your reference.
Table 9-8 Unique Security Features
Visual Element | Description |
---|---|
Enter Key Hotspot |
The link area which allows user to submit data entered in the authentication device |
Phrase |
The personalized phrase assigned to the user at the time of registration. The phrase allows the user to ensure they are on their intended website |
Timestamp |
The timestamp of when the image was generated, allowing the user to ensure the authentication device is current |
This section provides information on the visual elements of 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
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
This section provides information on the visual elements of 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
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
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
This section provides information on the visual elements of QuestionPad.
Note:
In 10.1.4.5 and above, the QuestionPad is a single line field.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
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
Visible Text Input or Password (Non-Visible) Input Setting
The following property in oaam_custom.properties
determines whether the QuestionPad is set for visible text input or password (non-visible) input.
bharosa.authentipad.questionpad.datafield.input.type
Valid values are text and password.
This section provides information on the visual elements of 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
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
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
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
To change the TextPad password and QuestionPad answer font size so that it is optimal for the Apple iPhone, add the properties to the client_resource.properties
file:
bharosa.authentipad.textpad.datafield.font.size=12 bharosa.authentipad.questionpad.datafield.font.size=12
A KeySet is the configuration that defines what character keys are present on the virtual authentication device. KeySets are used by the KeyPad and PinPad virtual authentication devices.
KeySets are defined by a series user defined enums.
The first enum defines the rows of the KeySet and points to another enum describing the keys present in that row.
For example, the following enum defines the rows of keys in a 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
Each row is made of the following properties:
Property | Description |
---|---|
name |
Name of the row. |
description |
Description of the row. |
keys |
Enum identifier of the enum that defines the keys in the row. |
order |
The order the key resides in the row of keys. |
In this case, the row1 enum is defined as follows:
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
Each key is made of the following properties:
Table 9-10 Properties of Each Key
Property | Description |
---|---|
name |
Name of the key. |
description |
Description of the key. |
value |
The character value the key represents when clicked. |
shiftvalue |
The character value the key represents when in caps mode. |
image |
The image file name that will be used to display the visual representation of the key. |
order |
The order the key resides in the row of keys. |
An example is provided for developing an authenticator.
The default textpad frame is 148px wide by 223px high as denoted by the properties:
bharosa.authentipad.textpad.width=148 bharosa.authentipad.textpad.height=223
If you wanted to change these properties to make the new authentipad bigger, you would add these properties with values to the oaam_custom.properties
file.
The frame itself must have some elements, such as:
Password entry.
Enter or Login button.
A space for the personalized phrase.
A space for the timestamp.
A transparent section for the personalized image to show through.
Create a new image that contains all these elements and conforms to width and height pixels.
The elements are set using the properties documented in Section 9.4.3, "Changing Position, Dimensions, and Color for Enter Key, Personalized Phrase, and Time Stamp." All properties use standard X,Y coordinates from 0,0 in the top left of the image.
The process is as follows:
Create a work folder called oaam_extensions
.
The folder can be created anywhere if it is outside the installation folder.
Extract the oracle.oaam.extensions.war
file into the work folder.
In the oaam_extensions
folder, you should see the following subfolders:
META-INF
WEB-INF
WEB-INF\lib
WEB-INF\classes
Add custom properties to a file named oaam_custom.properties
and save it to the oaam_extensions\WEB-INF\classes
directory.
If your oaam_custom.properties
is saved in the oaam_extensions\WEB-INF\classes\bharosa_properties
, you can leave it in that location. You can use either location.
Add custom resource bundle values to a file named client_resource_
locale
.properties
(where locale
is replaced with relevant locale, such as "en") and save it in the oaam_extensions\WEB-INF\classes
folder.
User facing text is also considered resource bundle values and you should add these to the file. There are some additional items in OAAM Server such as image paths and regular expression properties that can be customized based on locale as well.
For example, bharosa.uio.default.register.DeviceTextPad.frame=textpad_bg/TP_nologo_frame_01.png
and bharosa.uio.default.DeviceTextPad.default.image = textpad_bg/BG_003.jpg
can be added to this file.
Add custom pad related images to oaam_extensions\WEB-INF\classes\bharosa_properties
.
If the image exists in the OAAM installation, such as the no logo frame, you do not have to move it to this folder. Only if you are adding a custom file would you need to add it to this folder.
Repackage the OAAM Extensions Shared Library, oracle.oaam.extensions.war
, from the parent folder of oaam_extensions
using the command:
jar -cvfm oracle.oaam.extensions.war oaam_extensions/META-INF/MANIFEST.MF -C oaam_extensions/ .
Note:
Make sure originalMANIFEST.MF
remains the same as that contains shared library information.Stop all managed servers if they are running.
Start the WebLogic Administration Server.
Start the Oracle WebLogic Server where Oracle Adaptive Access Manager is deployed and log in to the Oracle WebLogic Administration Console.
Remove the oracle.oaam.extensions.war
currently deployed.
Deploy the new oracle.oaam.extensions.war
file as a shared library with oaam_server and oaam_admin as target applications.
You may need to target oaam_ offline as well if it is deployed in the same domain.
Start all managed servers that are to be used.
Test the custom functionality and make sure files added to oracle.oaam.extensions.war
are used by Oracle Adaptive Access Manager applications.
This section describes the flow to render virtual authentication devices. It contains the following topics:
To get the bgFile
, you must obtain it from the user by performing:
String bgFile = (String) authUser.getSecurityPreferences().get("imagePath");
The main API that handles virtual authentication device generation is BharosaClientImpl.getInstance().get<pad type>
.
You can use the following methods to get commonly used virtual authentication devices:
BharosaClientImpl.getInstance().getFullKeyPad(...)
BharosaClientImpl.getInstance().getAlphaNumericKeyPad(...)
BharosaClientImpl.getInstance().getTextPad(...)
BharosaClientImpl.getInstance().getQuestionPad(...)
BharosaClientImpl.getInstance().getPinPad(...)
Each method takes the same set of parameters:
Table 9-11 Virtual Authentication Device: Method Parameters
Parameter | Description |
---|---|
String padName |
Identifier of the virtual authentication device, used in the HTML as the base name of input fields and JavaScript variables. |
String frameFile |
Image path to use for the frame. |
String backgroundFile |
Image path to use for the background image. If using OAAM assignment APIs, OAAM stores the users assigned image in the VCryptAuthUser object: |
VCryptLocalizedString captionText |
A localized string to display as the caption on the virtual authentication device
|
boolean isADACompliant |
Flag to designate if the virtual authentication device should be rendered with extra text and links for screen readers. |
boolean hasJS |
Flag to designate if the user has JavaScript enabled. |
boolean hasImages |
Flag to designate if the user has images enabled. |
You must set timestamp, time zone and display properties to the virtual authentication device that was obtained.
Table 9-12 describes fields that may need to be set on the virtual authentication device once it is created.
Table 9-12 Virtual Authentication Devices: Setting Additional Fields
Parameter | Description |
---|---|
authentiPad.setTimeStamp(Date timeStamp) |
Sets the timestamp to display on the virtual authentication device. |
authentiPad.setTimeZone(TimeZone timeZone) |
Sets the time zone to display on the virtual authentication device. |
authentiPad.setDisplayOnly(boolean displayOnly) |
Flag to designate if the virtual authentication device should be rendered without interactive fields and links. Commonly used to during image registration. |
authentiPad.setQuestionText(VCryptLocalizedString questionText) |
Used to display question on a QuestionPad. |
VADs are rendered in an HTML page. Any page that is to render a VAD must include the bharosa_pad.js
JavaScript file. The bharosa_pad.js
file is a JavaScript library for rendering VADs and handling user interaction.
To get the HTML / JavaScript render string to be placed into an HTML page, call authentiPad.getHTML()
.
The output of this method, will be an HTML string containing required image maps and JavaScript constructors required to display the VAD.
Once rendered, the VAD will make a request for the image to be displayed. The URL used to render the image is configured by the property: bharosa.authentipad.image.url
.
Users who access using assistive techniques will need to use the accessible versions of the virtual authentication devices. Accessible versions of the TextPad, QuestionPad, KeyPad and PinPad are not enabled by default. If accessible versions are needed in a deployment, they can be enabled through properties.
The accessible versions of the virtual authentication devices contain tabbing, directions and ALT text necessary for navigation through screen reader and other assistive technologies.
To enable these versions, set the is ADA compliant
flag to true.
For native integration the property to control the virtual authentication devices is
desertref.authentipad.isADACompliant
For Oracle Adaptive Access Manager out-of-the-box, the property to control the virtual authentication device is
bharosa.uio.default.authentipad.is_ada_compliant
Each time PinPad, KeyPad, and QuestionPad are used the data sent over the wire is random. The actual credential is not entered and sent by the end user. Instead, what is sent are screen coordinates or offset values. In addition to basic jitter, sub-jitter and scramble are available through properties. The subsequent figure illustrates how jittering is achieved.
The textpad randomization and jitter properties are shown as follows:
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
The keypad randomization and jitter properties are shown as follows:
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
The pinpad randomization and jitter properties are shown as follows:
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
The questionpad randomization and jitter properties are shown as follows:
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
OAAM accepts a limit of 25 characters for passwords. When users logs in to OAAM server for the first time, and the password they enter is more than 25 bytes, they are returned to the username page with an error that their password is invalid.
To change the character limit for passwords entered in to OAAM server, update the value for the following property:
bharosa.authentipad.textpad.datafield.maxLength
To update the character limit using the OAAM Administration Console, proceed as follows:
Log in to the OAAM Administration Console.
In the left pane, click Environment and double-click Properties. The Properties search page is displayed.
Search for property with the name bharosa.authentipad.textpad.datafield.maxLength
and change its value.
In cases where the property does not exist, add a new property with the name bharosa.authentipad.textpad.datafield.maxLength
and the value.
For information on using the shared library to update properties, use this chapter as a reference.
This section contains the following topics:
The process is as follows:
Create the oaam_custom_
locale
.properties
file with virtual authentication device related properties and save it in the temp-folder
/WEB-INF/classes
folder.
Add the custom keyset related enum properties to oaam_custom.properties
and save it in the temp-folder
/WEB-INF/classes
folder. This chapter also contains information on defining keysets and other virtual authentication device properties.
Add key image files to temp-folder
/WEB-INF/classes/bharosa_properties/alphapad_skins_
locale
.
Add Frame Image Files: temp-folder
//WEB-INF/classes/bharosa_properties/alphapad_bg
.
Create OAAM Extensions Shared Library using client_resource_
locale
.properties
and oaam_custom.properties
.
Deploy the custom OAAM Extensions Shared Library into both the OAAM Managed Servers (OAAM Admin and OAAM Server).
Test the localized virtual authentication devices.
The following example shows how to localize the virtual authentication devices in German.
Extract the OAAM Extensions shared library WAR file into a temp folder temp-folder
.
Create client_resource_de.properties
in temp-folder
/WEB-INF/classes/
if not already present
Add these in 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
Create oaam_custom.properties
in temp-folder
/WEB-INF/classes
if not already present.
################# 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
Add frame and key image files to following directories:
Key Image Files: temp-folder
/WEB-INF/classes/bharosa_properties/alphapad_skins_de
.
Frame Image Files: temp-folder
/WEB-INF/classes/bharosa_properties/alphapad_bg
.
Repackage the oracle.oaam.extensions.war
file using the command:
jar -cvfm oracle.oaam.extensions.war temp-folder/META-INF/MANIFEST.MF -C <temp-folder> .
Note:
Make sure originalMANIFEST.MF
remains same as that contains shared library information.Deploy the updated oracle.oaam.extensions.war
as a shared library with targets as oaam_server and oaam_admin
Restart OAAM Servers and validate your changes by accessing application with browser set to German locale.
A key-logger is software or hardware aimed at stealing any sensitive credentials you enter on your keyboard. The best way to thwart a key-logger is to use another input method for sensitive information. In addition to removing keyboard input from the equation KeyPad also defends against any attacks aiming to steal the data by using a unique data send every session. XY locations are sent rather than the actual data. Thanks to "jitter" the same data will equal a different set of XY coordinates every time the KeyPad is used.
Social engineering attacks are very hard to combat. Personalization consists of a personal background image and phrase. The timestamp is generated by the server and embedded in the single use image to prevent reuse. Each Authenticator interface is a single JPEG image served up to the end user for a single use. There is no intelligence to be compromised on the client side.
You could secure a web application without relying on the dependability of the password. You can use all other data present when a user makes an access request to evaluate how risky the situation is. As well, you can issue additional credentials for use only in high-risk situations.