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.
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 21-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 21-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 21-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 21-5.
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.
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.
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
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
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
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
Specific elements of the Authenticator interfaces may be customized. The following are details on these configurations.
A virtual authentication device is composed of many elements. Table 21-2 describes each element in the composition.
Table 21-2 Elements of an authenticator
There are 8,423 personalization images for each virtual authentication device. For the background images to be displayed in the virtual authentication device, set the following property:
vcrypt.user.image.dirlist.property.name=bharosa.image.dirlist bharosa.image.dirlist=<absolute_folder_path_where_oaam_images_are_available>
To develop custom background images for the virtual authentication devices, perform the following steps:
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 the images to the correct directories for each virtual authentication device. For example, the TextPad images is placed into the textpad
folder.
For each virtual authentication device, set the following property:
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>
where <virtual_authentication_device>
is one of the subdirectories: keypad
, questionpad
, or textpad
.
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. If any of 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.
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
Table 21-1 lists the TextPad Authenticator Properties
Table 21-3 TextPad Authenticator Properties
Feature | Property |
---|---|
Default background graphic (Can be application specific) |
bharosa.uio.<appId>.DeviceTextPad.default.image = textpad_bg/UIO_BG.jpg |
Password Frame File (Can be application specific) |
bharosa.uio.<appId>.password.DeviceTextPad.frame = |
Challenge Frame File (Can be application specific) |
bharosa.uio.<appId>.<challengeType>.DeviceTextPad.frame = Note: Challenge type can be any configured challenge type (ChallengeQuestion, ChallengeEmail, and others) |
Registration Frame File (Can be application specific) |
bharosa.uio.<appId>.register.DeviceTextPad.frame = textpad_bg/TP_O_preview.png |
User Preferences Frame File (Can be application specific) |
bharosa.uio.<appId>.userpreferences.DeviceTextPad.frame = textpad_bg/TP_O_preview.png |
Table 21-1 lists the PinPad Authenticator Properties
Table 21-4 PinPad Authenticator Properties
Feature | Property |
---|---|
Default background graphic (Can be application specific) |
bharosa.uio.default.DevicePinPad.default.image = pinpad_bg/UIO_BG.jpg |
Password Frame File (Can be application specific) |
bharosa.uio.<appId>.password.DevicePinPad.frame = |
Challenge Frame File (Can be application specific) |
bharosa.uio.<appId>.<challengeType>.DevicePinPad.frame = Note: Challenge type can be any configured challenge type (ChallengeQuestion, ChallengeEmail, and others) |
Registration Frame File (Can be application specific) |
bharosa.uio.<appId>.register.DevicePinPad.frame = pinpad_bg/PP_v02_frame_preview.png |
User Preferences Frame File (Can be application specific) |
bharosa.uio.<appId>.userpreferences.DevicePinPad.frame = pinpad_bg/PP_v02_frame_preview.png |
Table 21-1 lists the QuestionPad Authenticator Properties
Table 21-5 QuestionPad Authenticator Properties
Feature | Property |
---|---|
Default background graphic (Can be application specific) |
bharosa.uio.<appId>.DeviceQuestionPad.default.image = textpad_bg/UIO_BG.jpg |
Challenge Frame File (Can be application specific) |
bharosa.uio.<appId>.<challengeType>.DeviceQuestionPad.frame = Note: Challenge type can be any configured challenge type (ChallengeQuestion, ChallengeEmail, and others) |
Table 21-1 lists the KeyPad Authenticator Properties
Table 21-6 KeyPad Authenticator Properties
Feature | Property |
---|---|
Default background graphic (Can be application specific) |
bharosa.uio.<appId>.DeviceKeyPadFull.default.image = keypad_bg/UIO_BG.jpg |
Password Frame File (Can be application specific) |
bharosa.uio.<appId>.password.DeviceKeyPadFull.frame = |
Challenge Frame File (Can be application specific) |
bharosa.uio.<appId>.<challengeType>.DeviceKeyPadFull.frame = Note: Challenge type can be any configured challenge type (ChallengeQuestion, ChallengeEmail, and others) |
Registration Frame File ( (Can be application specific) |
bharosa.uio.<appId>.register.DeviceKeyPadFull.frame = alphapad_bg/kp_O_preview.png |
User Preferences Frame File (Can be application specific) |
bharosa.uio.<appId>.userpreferences.DeviceKeyPadFull.frame = alphapad_bg/kp_O_preview.png |
Each virtual authentication device has its own unique security features. The default positioning of these elements are provided for your reference.
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
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 21-8 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. |
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.
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
The frame itself must have some elements.
A space for user password entry – recognizable as a form field.
An enter or login button.
A space for the personalized phrase.
A space for the timestamp string.
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 properties documented in Section 21.2.4, "Enter Key, Personalized Phrase, and Time Stamp Positioning." All properties use standard X,Y coordinates from 0,0 in the top left of the image.
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 21-9 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 21-10 describes fields that may need to be set on the virtual authentication device once it is created.
Table 21-10 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 UIO, the property to control the virtual authentication devices is
bharosa.uio.default.authentipad.is_ada_compliant
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.
Unzip 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 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.Re-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.
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.