eric7.WebBrowser.WebAuth.Fido2Management
Module implementing a manager for FIDO2 security keys.
Global Attributes
Classes
Functions
Fido2DeviceError
Class signaling an issue with the device.
Derived from
Exception
Class Attributes
Class Methods
Methods
Static Methods
Fido2Management
Class implementing a manager for FIDO2 security keys.
Signals
- deviceConnected()
-
emitted to indicate a connect to the security key
- deviceDisconnected()
-
emitted to indicate a disconnect from the security key
Derived from
QObject
Class Attributes
FidoExtension2Str |
FidoInfoCategories2Str |
FidoVersion2Str |
Class Methods
Methods
Fido2Management |
Constructor |
__initConfig |
Private method to initialize a configuration object. |
__initializeCredentialManager |
Private method to initialize a credential manager object. |
__pinErrorMessage |
Private method to get a message for a PIN error. |
canSetMinimumPinLength |
Public method to check, if the 'setMinPINLength' function is available. |
canToggleAlwaysUv |
Public method to check, if the 'toggleAlwaysUv' function is available. |
changePasskeyUserInfo |
Public method to change the user info of a stored passkey. |
changePin |
Public method to change the PIN of the connected security key. |
connectToDevice |
Public method to connect to a given security key. |
deletePasskey |
Public method to delete the passkey of the given ID. |
disconnectFromDevice |
Public method to disconnect from the current device. |
forcePinChange |
Public method to force the PIN to be changed to a new value before use. |
forcePinChangeSupported |
Public method to check, if the 'forcePinChange' function is supported by the selected security key. |
getAlwaysUv |
Public method to get the value of the 'alwaysUv' flag of the current security key. |
getDevices |
Public method to get a list of connected security keys. |
getMinimumPinLength |
Public method to get the minimum PIN length defined by the security key. |
getPasskeys |
Public method to get all stored passkeys. |
getPinRetries |
Public method to get the number of PIN retries left and an indication for the need of a power cycle. |
getSecurityKeyInfo |
Public method to get information about the connected security key. |
hasPin |
Public method to check, if the connected security key has a PIN set. |
isDeviceLocked |
Public method to check, if the device is in locked state (i.e. |
lockDevice |
Public method to lock the device (i.e. |
pinChangeRequired |
Public method to check for a forced PIN change. |
reconnectToDevice |
Public method to reconnect the current security key. |
resetDevice |
Public method to reset the connected security key. |
setMinimumPinLength |
Public method to set the minimum PIN length. |
setPin |
Public method to set a PIN for the connected security key. |
toggleAlwaysUv |
Public method to toggle the 'alwaysUv' flag of the selected security key. |
unlockDevice |
Public method to unlock the device (i.e. |
verifyPin |
Public method to verify a given PIN. |
Static Methods
Fido2Management (Constructor)
Fido2Management(parent=None)
Constructor
- parent (QObject (optional))
-
reference to the parent object (defaults to None)
Fido2Management.__initConfig
__initConfig(pin)
Private method to initialize a configuration object.
- pin (str)
-
PIN to unlock the connected security key
- Return:
-
reference to the configuration object
- Return Type:
-
Config
- Raises Fido2DeviceError:
-
raised to indicate an issue with the selected
security key
- Raises Fido2PinError:
-
raised to indicate an issue with the PIN
Fido2Management.__initializeCredentialManager
__initializeCredentialManager(pin)
Private method to initialize a credential manager object.
- pin (str)
-
PIN to unlock the connected security key
- Return:
-
reference to the credential manager object
- Return Type:
-
CredentialManagement
- Raises Fido2DeviceError:
-
raised to indicate an issue with the selected
security key
- Raises Fido2PinError:
-
raised to indicate an issue with the PIN
Fido2Management.__pinErrorMessage
__pinErrorMessage(err)
Private method to get a message for a PIN error.
- err (CtapError)
-
reference to the exception object
- Return:
-
message for the given PIN error
- Return Type:
-
str
Fido2Management.canSetMinimumPinLength
canSetMinimumPinLength()
Public method to check, if the 'setMinPINLength' function is available.
- Return:
-
flag indicating availability
- Return Type:
-
bool
Fido2Management.canToggleAlwaysUv
canToggleAlwaysUv()
Public method to check, if the 'toggleAlwaysUv' function is available.
- Return:
-
flag indicating availability
- Return Type:
-
bool
Fido2Management.changePasskeyUserInfo
changePasskeyUserInfo(pin, credentialId, userId, userName, displayName)
Public method to change the user info of a stored passkey.
- pin (str)
-
PIN to unlock the connected security key
- credentialId (fido2.webauthn.PublicKeyCredentialDescriptor)
-
ID of the passkey to change
- userId (bytes)
-
ID of the user
- userName (str)
-
user name to set
- displayName (str)
-
display name to set
Fido2Management.changePin
changePin(oldPin, newPin)
Public method to change the PIN of the connected security key.
- oldPin (str)
-
current PIN
- newPin (str)
-
new PIN
- Return:
-
flag indicating success and a message
- Return Type:
-
tuple of (bool, str)
Fido2Management.connectToDevice
connectToDevice(device)
Public method to connect to a given security key.
- device (CtapHidDevice)
-
reference to the security key device class
Fido2Management.deletePasskey
deletePasskey(pin, credentialId)
Public method to delete the passkey of the given ID.
- pin (str)
-
PIN to unlock the connected security key
- credentialId (fido2.webauthn.PublicKeyCredentialDescriptor)
-
ID of the passkey to be deleted
Fido2Management.disconnectFromDevice
disconnectFromDevice()
Public method to disconnect from the current device.
Fido2Management.forcePinChange
forcePinChange(pin)
Public method to force the PIN to be changed to a new value before use.
- pin (str)
-
PIN to unlock the connected security key
Fido2Management.forcePinChangeSupported
forcePinChangeSupported()
Public method to check, if the 'forcePinChange' function is supported by the
selected security key.
- Return:
-
flag indicating support
- Return Type:
-
bool
Fido2Management.getAlwaysUv
getAlwaysUv()
Public method to get the value of the 'alwaysUv' flag of the current security
key.
- Return:
-
return value of the 'alwaysUv' flag
- Return Type:
-
bool
Fido2Management.getDevices
getDevices()
Public method to get a list of connected security keys.
- Return:
-
list of connected security keys
- Return Type:
-
list of CtapHidDevice
Fido2Management.getMinimumPinLength
getMinimumPinLength()
Public method to get the minimum PIN length defined by the security key.
- Return:
-
minimum length for the PIN
- Return Type:
-
int
Fido2Management.getPasskeys
getPasskeys(pin)
Public method to get all stored passkeys.
- pin (str)
-
PIN to unlock the connected security key
- Return:
-
tuple containing a dictionary containing the stored passkeys grouped
by Relying Party ID, the count of used credential slots and the count
of available credential slots
- Return Type:
-
tuple of [dict[str, list[dict[str, Any]]], int, int]
Fido2Management.getPinRetries
getPinRetries()
Public method to get the number of PIN retries left and an indication for the
need of a power cycle.
- Return:
-
tuple containing the number of retries left and a flag indicating a
power cycle is required. A retry value of -1 indicates, that no PIN was
set yet.
- Return Type:
-
tuple of (int, bool)
Fido2Management.getSecurityKeyInfo
getSecurityKeyInfo()
Public method to get information about the connected security key.
- Return:
-
dictionary containing the info data
- Return Type:
-
dict[str, list[tuple[str, str]]]
Fido2Management.hasPin
hasPin()
Public method to check, if the connected security key has a PIN set.
- Return:
-
flag indicating that a PIN has been set or None in case no device
was connected yet or it does not support PIN
- Return Type:
-
bool or None
Fido2Management.isDeviceLocked
isDeviceLocked()
Public method to check, if the device is in locked state (i.e. the stored PIN
is None).
- Return:
-
flag indicating the locked state
- Return Type:
-
bool
Fido2Management.lockDevice
lockDevice()
Public method to lock the device (i.e. delete the stored PIN).
Fido2Management.pinChangeRequired
pinChangeRequired()
Public method to check for a forced PIN change.
- Return:
-
flag indicating a forced PIN change is required
- Return Type:
-
bool
Fido2Management.reconnectToDevice
reconnectToDevice()
Public method to reconnect the current security key.
Fido2Management.resetDevice
resetDevice()
Public method to reset the connected security key.
- Return:
-
flag indicating success and a message
- Return Type:
-
tuple of (bool, str)
Fido2Management.setMinimumPinLength
setMinimumPinLength(pin, minLength)
Public method to set the minimum PIN length.
- pin (str)
-
PIN to unlock the connected security key
- minLength (int)
-
minimum PIN length
- Raises Fido2PinError:
-
raised to indicate an issue with the PIN length
Fido2Management.setPin
setPin(pin)
Public method to set a PIN for the connected security key.
- pin (str)
-
PIN to be set
- Return:
-
flag indicating success and a message
- Return Type:
-
tuple of (bool, str)
Fido2Management.toggleAlwaysUv
toggleAlwaysUv(pin)
Public method to toggle the 'alwaysUv' flag of the selected security key.
- pin (str)
-
PIN to unlock the connected security key
Fido2Management.unlockDevice
unlockDevice(pin)
Public method to unlock the device (i.e. store the PIN for later use).
- pin (str)
-
PIN to be stored
Fido2Management.verifyPin
verifyPin(pin)
Public method to verify a given PIN.
A successful verification of the PIN will reset the "retries" counter.
- pin (str)
-
PIN to be verified
- Return:
-
flag indicating successful verification and a verification message
- Return Type:
-
tuple of (bool, str)
Fido2PinError
Class signaling an issue with the PIN.
Derived from
Exception
Class Attributes
Class Methods
Methods
Static Methods