linotp.lib.ImportOTP.eTokenDat module¶
eToken dat file importer
- class linotp.lib.ImportOTP.eTokenDat.DatToken¶
Bases:
objecteToken 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