diff --git a/psi/providers/nitrokeyhsm/pkcs11.py b/psi/providers/nitrokeyhsm/pkcs11.py index 39b1583..b966157 100644 --- a/psi/providers/nitrokeyhsm/pkcs11.py +++ b/psi/providers/nitrokeyhsm/pkcs11.py @@ -52,8 +52,11 @@ def open(self, pin: str) -> None: try: self._session.login(pin, CKU_USER) except PyKCS11Error as e: - msg = f"HSM login failed: {e}. Check your PIN." - raise ProviderError(msg, provider_name="nitrokeyhsm") from e + if "CKR_USER_ALREADY_LOGGED_IN" in str(e): + pass + else: + msg = f"HSM login failed: {e}. Check your PIN." + raise ProviderError(msg, provider_name="nitrokeyhsm") from e def close(self) -> None: """Log out and close the session."""