Modifying the CSVConfig configuration file

The .csv file containing token data requires a configuration file (CSVConfig.json) that defines how the .csv file is parsed by 
BlackBerry UEM
. The .csv file must be parsed correctly before the token data is extracted and imported into the 
BlackBerry UEM
 database.
The first time that you log in to 
BlackBerry UEM
 after you enable the OTP tokens feature, a default CSVConfig.json file is generated. The file is generated with default values and saved in "BESNG_HOME"/otp/config/CSVConfig.json (or C:\otp\config\CSVConfig.json).
The following information will help you modify your CSVConfig.json file to make sure your .csv file is parsed correctly by 
BlackBerry UEM
.
  • The recommended setting for "extension" is "CSV."
  • The recommended setting for "stripSpacesAndQuotations" is "true." All spaces and quotes from the columns are removed.
  • Columns for each data field can have a maximum of four parameters to determine how 
    BlackBerry UEM
     will parse and extract the data from the respective column.
    • "column" determines column number in the .csv file. Columns start at "0."
    • "startCharPos" determines where the token data in the column starts. If "stripSpacesAndQuotations" is set to "true," only the characters before the start of the actual token data are counted, and not spaces and quotation marks.
    • "endCharPos" determines where the token data in the column ends. If "stripSpacesAndQuotations" is set to "true," only the characters before the end of the actual token data are counted, and not spaces and quotation marks. 
    • "encoding" determines character encoding/decoding used. "base64" is standard.
The following is an example of a CSVConfig.json file updated to parse a .csv file populated with RCDevs token information: 
{ "extension" : "CSV", "stripSpacesAndQuotations" : true, "startRow" : 4, "token_serial_number" : { "column" : 1, "startCharPos" : 0 }, "password_seed" : { "column" : 3, "startCharPos" : 9, "encoding" : "base64" }, "password_length" : { "column" : 6, "startCharPos" : 10, "encoding" : "base64" }, "time_step" : { "column" : 7, "startCharPos" : 13, "encoding" : "base64" }, "vendor" : { "column" : 2, "startCharPos" : 0, "endCharPos" : 6 }, "model" : { "column" : 2, "startCharPos" : 6, "endCharPos" : 14 }, "t0" : { "column" : 5, "startCharPos" : 11, "encoding" : "base64" } }
The following is a plaintext example of a .csv file populated with RCDevs token information: 
1 # Inventory Import File for RCDevs WebADM 2 # Generated on June 29, 2016, 2:40 pm 3 4 Type Reference Description Data 5 "OTP Token", "2308602200271", "RCDevs RC200-T6", "TokenKey=P6chCRszGaawHhpzWUHCS8Ua8WE=,TokenType=VE9UUA==,TokenState=MA==,OTPLength=Ng==,TOTPTimeStep=MzA=" 6 "OTP Token", "2308602200272", "RCDevs RC200-T6", "TokenKey=Zghe8fbekGOXpwGM2vmEcZyZnaE=,TokenType=VE9UUA==,TokenState=MA==,OTPLength=Ng==,TOTPTimeStep=MzA=" 7 "OTP Token", "2308602200273", "RCDevs RC200-T6", "TokenKey=EH//86f6pnup3F4AS7w7HNazYjU=,TokenType=VE9UUA==,TokenState=MA==,OTPLength=Ng==,TOTPTimeStep=MzA=" 8 "OTP Token", "2308602200274", "RCDevs RC200-T6", "TokenKey=tzrVqKFMns9/rbAyCYCdDxb04Ig=,TokenType=VE9UUA==,TokenState=MA==,OTPLength=Ng==,TOTPTimeStep=MzA=" 9 "OTP Token", "2308602200275", "RCDevs RC200-T6", "TokenKey=0FuZ/A6ZCVGClaYW3EFCtXWNFFk=,TokenType=VE9UUA==,TokenState=MA==,OTPLength=Ng==,TOTPTimeStep=MzA="