KeePassWinHello

sirAndrosMIT更新放缓

给 KeePass 2 加个 Windows Hello 生物识别解锁插件,用指纹或人脸快速打开密码库,省去反复输入主密码。

Quick unlock KeePass 2 database using biometrics with Windows Hello

v3.3.1发布于 2024-04-07 19:36 UTC370star31fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
将 KeePassWinHelloPlugin.plgx 放入 KeePass 安装目录的 Plugins 文件夹(默认 C:\Program Files (x86)\KeePass Password Safe 2)
或执行:choco install keepass-plugin-winhello
硬件要求按 README 说明

依赖 Windows Hello API 及其系统要求,需支持 Windows Hello 的 Windows 10 设备(如带生物识别或 PIN 的机器);README 未提及显存或 GPU 要求。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 KeePass 2 加 Windows Hello 生物识别或 PIN 快速解锁的插件

给 KeePass 2 加个 Windows Hello 生物识别解锁插件,用指纹或人脸快速打开密码库,省去反复输入主密码。

核心能力

  • 首次用主密钥解锁后,后续可用 Windows Hello 快速解锁
  • 支持将加密主密码存入 Windows Credential Manager 持久保存
  • 可设置保存密钥的有效期,默认 24 小时
  • 在 KeePass 设置对话框中集成选项,可撤销所有已存密钥
  • 主密码不以明文存储,由 Windows Hello API 加解密

容易踩的坑

需先手动下载 releases 中的 KeePassWinHelloPlugin.plgx 文件,README 未提供直接下载链接内容;插件依赖 Windows Hello,系统不支持时无法使用快速解锁;启用持久存储后需警惕非本人发起的 Windows Hello 提示,可能是钓鱼。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v3.3.1
  1. v3.3.1最新正式版2024-04-07 · 2024-04-07 19:36 UTC

    Hotfix for v3.3

    Broken compatibility due to new development tools: fix #105

    What's Changed in v3.3

    Feature/settings improvement

    • Force keys revoking confirmation: now all settings able to be approved by "OK" or canceled.
    • New moto: "No changes before "OK" is pressed."
    • Show visually when keys will be removed.

    Retry in case of WINBIO_E_DATA_PROTECTION_FAILURE

    • fix #93 - [NCryptDecrypt — 0x80098046]

    Bugfix

    • lower probability of #25 - Windows Hello Prompt Hidden
    • lower probability of #86 - Windows Hello window not in focus when KeePass opened through a shortcut
    • fix #92 - KeePass Error with KeePassWinHelloPlugin.plgx and after Upgrade to Windows 11 22H2-22621
    • fix #97 - Debugging KeePassWinHello in Visual Studio 2022 throws exception

    Stack of UI contexts

    • fix #48 - Windows-Hello not opening on current screen and not locking again using AutoFill
    • fix #54 - Windows Hello dialog position at top-left of the screen if main window is hidden

    Full Changelog: https://github.com/sirAndros/KeePassWinHello/compare/v3.2...v3.3

  2. v3.32024-04-07 · 2024-04-07 18:04 UTC
    查看更新说明

    What's Changed

    Feature/settings improvement

    • Force keys revoking confirmation: now all settings able to be approved by "OK" or canceled.
    • New moto: "No changes before "OK" is pressed."
    • Show visually when keys will be removed.

    Retry in case of WINBIO_E_DATA_PROTECTION_FAILURE

    • fix #93 - [NCryptDecrypt — 0x80098046]

    Bugfix

    • lower probability of #25 - Windows Hello Prompt Hidden
    • lower probability of #86 - Windows Hello window not in focus when KeePass opened through a shortcut
    • fix #92 - KeePass Error with KeePassWinHelloPlugin.plgx and after Upgrade to Windows 11 22H2-22621
    • fix #97 - Debugging KeePassWinHello in Visual Studio 2022 throws exception

    Stack of UI contexts

    • fix #48 - Windows-Hello not opening on current screen and not locking again using AutoFill
    • fix #54 - Windows Hello dialog position at top-left of the screen if main window is hidden

    Full Changelog: https://github.com/sirAndros/KeePassWinHello/compare/v3.2...v3.3

  3. v3.2KeePassWinHello 3.22021-08-19 · 2021-08-19 19:47 UTC
    查看更新说明

    Fixed following issues:

    • #42 - Handle inner TPM error;
    • #51 - Fallback to default unlock on remote desktop (Windows Hello is not available for remote sessions);
    • #56 - Access denied for AllowSetForegroundWindow;
    • #60 - Fallback to using local key if the persistent one is absent;
    • #63 - Address NTE_INVALID_HANDLE error;
    • #68 - Fix TPM issue related to hibernation;
    • #69 - Address NTE_BAD_KEYSET error;
    • #71 - Address NTE_BAD_DATA error;
    • #72 - Handle inner NCryptEncrypt error;
    • #77 - Address TPM_20_E_SIZE error;

    And also simplified bugs reporting through dedicated button in error message dialog.

  4. v3.1.1KeePassWinHello 3.1.12019-09-10 · 2019-09-10 21:01 UTC
    查看更新说明

    Fixed the security issue found by Angelelz #38. It allowed to execute a spoofing attack by replacing the permanent key used to sign master passwords while storing in the Windows Credential Manager. Big thanks to Angelelz!

  5. v3.1KeePassWinHello 3.12019-09-01 · 2019-09-01 19:33 UTC
    查看更新说明

    This release is dedicated to minor but still important improvements which cut corners is some scenarios of using the plugin.

    • Revoking the key if Windows Hello prompt was cancelled is now optional (#30, thanks to GoldenHashtag)
    • New algorithm for handling secure desktop which is compatible with AutoType and Open From URL dialogs (#18, thanks to kinglike1337)
    • Fixed an error when creating a permanent key on Windows 10 earlier 1809 (#33, thanks to mullenat and tvannuland).

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Quick unlock with Windows Hello for KeePass 2

    Build Status Quality Gate Status GitHub All Releases Chocolatey

    This plugin for KeePass 2 password manager is intended for fast authorization with pin or biometrics to a database after its first unlock using Windows Hello technology.

    Usage

    With this plugin you may:

    1. Unlock your database with your masterkey/keyfile/other provider;

    2. Lock the database (for example, applying autolock on minimize);

    3. When you try to unlock it again, if Windows Hello is available on your system and active for the database, a Windows Hello prompt will be shown over a classic KeePass unlock prompt;

    4. Profit!

    Systems Requirements

    This plugin relies on Windows Hello API and its requirements.

    There are some known issues with Windows Hello reported by community. Please, check here before write issue.

    Tested on Microsoft Surface Pro 2017 with KeePass 2.39.1 and 2.42.1.

    How to Install

    Place KeePassWinHelloPlugin.plgx into Plugins folder in your KeePass installation (by default is C:\Program Files (x86)\KeePass Password Safe 2).

    Or you can use Chocolatey to install it in a more automated manner:

    choco install keepass-plugin-winhello
    

    Key storage

    By default this plugin holds an encrypted master password in memory and removes it upon KeePass closing. In order to be able to unlock your database via Windows Hello authentication in between KeePass launches you may check "Store keys in the Windows Credential Manager" on in the Options dialog. This will prompts you for creating a persistent key signed with your biometry via Windows Hello. The key is used to encrypt master passwords for securely storing them in the Windows Credential Manager.

    Options

    The plugin integrates itself into the KeePass settings dialog.

    Available settings:

    • Valid time period (default: 24 hours): Choose how long a saved key will be available. Once this period has expired you need to provide your full password to unlock the database again.
    • Storage location: Choose where to hold encrypted master passwords - in the KeePass process memory (by default) or in the Windows Credential Manager.
    • Revoke all: Allows you to delete all stored keys.

    All changes will be applied only after OK button press. You can cancel the modifications using Cancel button instead.

    Security Notice

    As you should never approve any process elevation (run as admin) if you don't trust an application (because otherwise they can do almost anything), you should never sign Windows Hello prompt if you did not request it, especially when using the persistent storage. In those cases your both passwords and PC are at risk.

    Our plugin prompts you to authorize Windows Hello only in the following cases:

    • You prompted to decrypt KeePass database.
    • You changed the in-memory storage to the persistent one.
    • If one of the operations above failed due to a known recoverable internal Windows Hello problem we could retry the prompt with an appropriate message. Warning: if an action being requested by you was actually succeeded, this one can be phishing "retry" and you should also cancel it if you're not sure.

    So it works like a rule of thumb: just like you cancel an unintended UAC dialog, you should cancel an unintended Windows Hello prompt.

    Notes

    No sensitive information including master passwords for databases are stored by the plugin in a plain text. A database key is encrypted and decrypted using Windows Hello API in order to unlock the database.

    Development

    Create junction/copy folder with KeePass.exe to root of the repository as folder named "lib". Debug "KeePassWinHello.Debug" project with "Linked KeePass" launch profile. If you add some file - don't forget to add it to KeePassWinHello.csproj, otherwise it won't be included in plgx on publish.

    Credits