Import hardware tokens
When you purchase OATH tokens, they are delivered with a key file (also called a seed file) that contains all OATH keys for the tokens. This OATH key file must be imported to the OTP Server database used to be able to assign the OATH key to specific users.
The OATH key file format must be one of the following:
- Semicolon separated file
- PSKC format (RFC 6030) NOTE: PSKC RFC 6030 version 1.0 is the official version. RFC 6030 versions 1.1 and 1.2 are drafts and are not supported.
Note:
Before you begin start by taking a full backup of the system
Prepare the system
Start by verifying that the two directories used for token import are present (otherwise create them):
- <phenixid_server_root>/tokensin
- <phenixid_server_root>/tokensout
Installing the import module
The first option is to run the OTP administration guide to configure PhenixID for different one-time password methods, including hardware tokens.
This will install the necessary modules.
Manually install the import module
The second option is to manually install the hardware token import module.
Open the store.json file with texteditor.
Locate the node id/hostname in the file onto witch you intend to install the module. Install the module by adding:
{
"module" : "com.phenixidentity~phenix-hwtoken-mgr~1.4.0(change according to version)",
"enabled" : true,
"config" : {
"tokens.assignable.file" : "<path_to_phenixid_server_root>/config/tokenlist.json",
"tokens.import.directory" : "<path_to_phenixid_server_root>/tokensin/",
"tokens.backup.directory" : "<path_to_phenixid_server_root>/tokensout/",
"encryption.key" : "<my_supersecret_ password>",
"otp_length" : "<otp_length>"
}
}
Example for Windows: "tokens.import.directory" : "C:\\Program Files\\PhenixID\\Server\\tokensin\\"
Save the file. If system is not running start it.
Note: "otp_length" : "<otp_length>" is used for Yubikey and HOTP CSV seed files where the otp length is not specified.
Self Service enrollment, OTP length other than 6
By default the system assumes an otp length of 6.
If tokens have another length than default, the parameter:
"otp_length" : "<length>"
must be configured on the Prism OTPEnrollment module (under NODES).
Example:
"userLookUpPipe" : "enrollmentuserLookUpPipe",
"userUpdatePipe" : "enrollmentuserUpdatePipe",
"userNameAttribute" : "sAMAccountName",
"otp_length" : "8",
"displayNameAttribute" : "cn",
Importing tokens from PSKC file
Tokens are automatically imported. A token can only be imported once.
Place the import file in the <path_to_phenixid_server_root>/tokensin/ directory. Once processed it will be moved to <path_to_phenixid_server_root>/tokensout/.
Note: The file must have the extension .xml
After import, verify that the tokenlist.json/phenix-assignable-tokens.json contains the tokens.
Information regarding encrypted tokens in PSKC file
Many token vendors will send the PSKC file with encrypted data.
This means that we need a corresponding key file to decrypt the data, when doing the import.
The key file must be placed in the same directory as the PSKC file.
Make sure that the key file name is matched in the PSKC file.
Key file must contain only the key itself, not any additional text.
Example extracted from PSKC file:
<EncryptionKey>
<ds:KeyName>Pre-shared-key</ds:KeyName>
</EncryptionKey>
In this example the key file name MUST be "Pre-shared-key".
If this file is not in place or if the name does not match, the import will fail and a message will be written to log, indicating that the file cannot be found.
Using CSV as import file
For scenarios where token file format not complies with the PSKC 1.0 format it is possible to create a import file using CSV format.
Note: The file must have the extension .csv
The syntax then must match the following:
- For HOTP: HOTP;serial;key;counter ( or serial;key;counter )
- For TOTP: TOTP;serial;SHA;key;epoch;timeinterval;otplength
Importing Yubikey tokens
Note: The file must have the extension .yubikey
The syntax then must match:
id,serial,counter,key,password,timestamp,
where id, password and timestamp are not used.