linotp.tokens.yubikeytoken module¶
This file contains the YubiKey token class where the YubiKey is run in Yubico AES mode without the YubiCloud
- class linotp.tokens.yubikeytoken.YubikeyTokenClass(aToken)¶
Bases:
TokenClass
The YubiKey Token in Yubico AES mode
- checkOtp(otpVal, counter=None, window=None, options=None)¶
checkOtp - validate the token otp against a given otpvalue
- Parameters
otpVal (string) – the to be verified otpvalue
counter – the counter state. It is not used by the YubiKey because the current counter value
is sent encrypted inside the OTP value :type counter: int
- Parameters
window – the counter +window, which is not used in the YubiKey because the current
counter value is sent encrypted inside the OTP, allowing a simple comparison between the encrypted counter value and the stored counter value :type window: int
- Parameters
options (dict) – the dict, which could contain token specific info
- Returns
the counter state or an error code (< 0):
-1 if the OTP is old (counter < stored counter) -2 if the private_uid sent in the OTP is wrong (different from the one stored with the token) -3 if the CRC verification fails :rtype: int
- From: http://www.yubico.com/wp-content/uploads/2013/04/YubiKey-Manual-v3_1.pdf
6 Implementation details
- check_otp_exist(otp, window=None, user=None, autoassign=False)¶
checks if the given OTP value is/are values of this very token. This is used to autoassign and to determine the serial number of a token.
- classmethod getClassInfo(key=None, ret='all')¶
getClassInfo - returns a subtree of the token definition
- Parameters
key (string) – subsection identifier
ret (user defined) – default return value, if nothing is found
- Returns
subsection if key exists or user defined
- Return type
s.o.
- classmethod getClassPrefix()¶
- classmethod getClassType()¶
- is_challenge_request(passw, user, options=None)¶
This method checks, if this is a request, that triggers a challenge.
- Parameters
passw (string) – password, which might be pin or pin+otp
user (User object) – The user from the authentication request
options (dict) – dictionary of additional request parameters
- Returns
true or false
- resetTokenInfo()¶
resetTokenInfo - hook called during token init/update
in yubikey we have to reset the tokeninfo as it preserves the tokenid and or public_uid which changes with an token update
- resync(otp1, otp2, options=None)¶
resyc the yubikey token
this is done by checking two subsequent otp values for their counter
- Parameters
otp1 – first otp value
otp2 – second otp value
- Returns
boolean
- update(param, reset_failcount=True)¶
update - process the initialization parameters
- Parameters
param (dict) – dict of initialization parameters
- Returns
nothing