linotp.lib.ImportOTP.eTokenDat module

eToken dat file importer

class linotp.lib.ImportOTP.eTokenDat.DatToken

Bases: object

eToken class which is equivalent to the token definition of the dat file

add_info(line)

parse a config line into a class attribute by calling a dedicated or the generic setter for an key value pair

Parameters

line – config line which belong to one token

Returns

  • nothing -

get_initparams()

provide all init definitions

set(key, val)

generic setter, so that no attribute will get lost

set_crypto(val)

setter of the hash lib

Parameters

value – value of the setter

Returns

  • nothing -

set_sccAuthenticatorId(value)

take the sccAuthenticatorId for serial number

Parameters

value – value of the setter

Returns

  • nothing -

set_sccKey(val)

set up the secret key

Parameters

value – value of the setter

Returns

  • nothing -

set_sccMode(value)

setter, if the token is counter based or event based

Parameters

value – value of the setter

Returns

  • nothing -

set_sccPrTime(value)

if the token definition hat this attribute, we can assume that we have a timebased eToken, which starts its counter which starts the timecount with 1.1.2000 and not in 1.1.1970 as defined in the standard. So we have to set an offsett of 30 years

Parameters

value – value of the setter

Returns

  • nothing -

set_sccPwLen(value)

take the sccPwLen as otplen value

Parameters

value – value of the setter

Returns

  • nothing -

set_sccTick(value)

take the sccTick as timeStep value

Parameters

value – value of the setter

Returns

  • nothing -

set_sccTokenData(value)

parse the detail token definition by calling again a specific setter (if exist) or the generic one

Parameters

line – config line which belong to one token

Returns

  • nothing -

set_sccTokenType(value)

take the sccTokenType as part of the token description

Parameters

value – value of the setter

Returns

  • nothing -

set_startdate(startdate)

put in the startdate after creating the token

Parameters

startdate – wehen the counter will start counting datetime format

Returns

  • nothing -

linotp.lib.ImportOTP.eTokenDat.create_token(lines, startdate=None)

take an array of lines and create a token out of it

remark: the lines are split up on the caller level

Parameters

lines

linotp.lib.ImportOTP.eTokenDat.get_session(lino_url, user=None, pwd=None)

return an LinOTP Session context, which is the session and the cookie in the header

Parameters
  • lino_url – the linotp base url

  • user – the session for the user

  • pwd – the password of the user

Returns

tuple of session and header

linotp.lib.ImportOTP.eTokenDat.main()

main - parse the args and start the processing

linotp.lib.ImportOTP.eTokenDat.parse_dat_data(data, d_string=None)

this function is called from the web-ui and parses an eToken data file

Parameters

data – data from the web-ui file upload

Returns

It returns a dictionary of serial : { /admin/init parameters }

linotp.lib.ImportOTP.eTokenDat.parse_datetime(d_string)

parse an date string and try to convert it to an datetime object

Parameters

d_string – date string

Returns

datetime object

linotp.lib.ImportOTP.eTokenDat.process_file(filename, startdate, lino_url=None, user=None, password=None)

read the eToken dat file and split it up into a bunch of lines, that define one token. An empty line is considered as separator.

Parameters
  • filename – the eToken dat file

  • lino_url – if defined, the tokens will be created in linotp

linotp.lib.ImportOTP.eTokenDat.submit_tokens(lino_url, tokens, user=None, pwd=None)

submit an /admin/init request to create the token in the linotp server

Parameters
  • linotp_url – the url, where linotp resides

  • tokens – the array of tokens

  • user – the admin user -required to get a session

  • pwd – the admin password -required to get a session

linotp.lib.ImportOTP.eTokenDat.usage()

print usage message