KeePassHttp插件完整使用指南:实现浏览器密码自动填充

KeePassHttp插件完整使用指南:实现浏览器密码自动填充

【免费下载链接】keepasshttp KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP 【免费下载链接】keepasshttp 项目地址: https://gitcode.com/gh_mirrors/ke/keepasshttp

KeePassHttp是一个专为KeePass 2.x设计的插件,它通过HTTP接口安全地暴露KeePass条目,供客户端应用程序使用。该插件主要与Firefox的PassIFox扩展和Google Chrome的chromeIPass扩展配合使用,为用户提供便捷的密码自动填充体验。

系统要求与环境准备

基本要求

  • KeePass 2.17或更高版本
  • Windows系统:Windows XP SP3或更高
  • Linux系统:需要安装mono环境
  • Mac系统:需要安装mono环境

Mono环境安装 对于非Windows系统,KeePass需要Mono环境才能正常运行。详细的安装说明可以在KeePass官方网站找到。根据用户反馈,Mono 2.6.7及以上版本与KeePassHttp兼容性良好。

安装方法详解

Windows系统安装

使用Chocolatey安装

  1. 通过Chocolatey包管理器安装:choco install keepass-keepasshttp
  2. 如果KeePass正在运行,请重启以加载插件

手动安装步骤

  1. 下载最新的KeePassHttp.plgx文件
  2. 将文件复制到KeePass安装目录
  3. 重启KeePass应用程序

Linux和Mac系统安装

标准安装流程

  1. 将KeePassHttp.plgx文件放入KeePass目录
    • Ubuntu 14.04默认目录:/usr/lib/keepass2/
    • Arch Linux默认目录:/usr/share/keepass
  2. 设置文件权限:chmod 644 KeePassHttp.plgx
  3. 安装必要的mono组件:apt-get install mono-complete
  4. 重启KeePass

备选方案 如果plgx文件无法正常工作,可以尝试使用mono目录下的两个DLL文件:KeePassHttp.dll和Newtonsoft.Json.dll

配置与选项设置

KeePassHttp开箱即用,无需显式配置。但为了获得更好的使用体验,建议了解以下配置选项。

常规选项配置

KeePassHttp菜单选项

在KeePass中通过菜单:工具 > KeePassHttp选项打开配置对话框:

KeePassHttp常规选项

主要功能选项

  1. 通知显示:当条目被传送给请求者时显示通知气球
  2. 最佳匹配:仅返回与给定URL最佳匹配的条目,否则发送域名的所有条目
  3. 数据库解锁:如果活动数据库被锁定,发送解锁请求
  4. 协议匹配:仅返回与给定URL协议匹配的条目
  5. 排序方式:按用户名或标题对找到的条目进行排序
  6. 清除密钥:删除当前数据库中存储的所有共享加密密钥
  7. 清除权限:删除当前数据库条目中存储的所有权限设置

高级选项配置

KeePassHttp高级选项

高级功能选项 8. 自动允许访问:不再询问获取条目的权限,始终允许访问 9. 多数据库搜索:搜索不再限于KeePass中的当前活动数据库,而是扩展到所有已打开的数据库 10. 字符串字段支持:搜索以"KPH: "开头的字符串字段

高级字符串字段设置

实用技巧与最佳实践

多URL支持设置

KeePass已经内置了对一个用户名和密码支持多个URL的功能:

  1. 右键点击条目打开上下文菜单,选择"复制条目"
  2. 勾选使用用户名和密码引用的选项
  3. 可以更改复制条目的标题、URL等字段,但不能更改用户名和密码

KeePass上下文菜单

引用复选框标记

故障排除指南

常见问题解决

HTTP监听器错误 HTTP监听器错误

此错误通常由以下原因引起:

  • KeePass目录中存在多个KeePassHttp副本
  • 端口19455被其他应用程序占用

解决方法

  1. 检查KeePass目录及其所有子目录中的所有PLGX和DLL文件
  2. 停止所有可能使用该端口的应用程序
  3. 逐个重启应用程序,检查错误是否仍然存在

问题报告要求

如果遇到问题,请提供以下信息:

  • KeePass版本号
  • KeePassHttp版本号
  • 错误消息(如果有)
  • 使用的客户端及其版本
  • 问题发生的URL(如果有)

安全机制解析

加密通信保障

KeePassHttp出于安全考虑,仅使用对称密钥算法AES进行通信。条目使用256位AES密钥加密。

唯一的安全风险点 当新客户端需要连接到KeePassHttp时,加密密钥通过未加密的连接生成并发送到KeyPassHttp。

URL匹配算法

KeePassHttp可以接收两种不同的URL:URL和SubmitURL。比较逻辑如下:

  • CompareToUrl = SubmitURL(如果已设置),否则为URL

对于每个条目,计算其条目URL(或标题,如果条目URL未设置)到CompareToURL的编辑距离。仅返回具有最小距离的条目。

示例说明 提交URL:http://www.host.com/subdomain1/login

条目URL距离
http://www.host.com/16
http://www.host.com/subdomain16
http://www.host.com/subdomain27

结果:返回第二个条目

协议详解

客户端连接流程

A. 新客户端或过时客户端(密钥不在数据库中) 这是管理员监听流量能够窃取加密密钥的唯一时间点:

  1. 客户端发送"test-associate"和有效负载到服务器
  2. 服务器发送失败响应到客户端(无法解密)
  3. 客户端发送256位AES密钥和有效负载到服务器
  4. 服务器使用提供的密钥解密有效负载,并提示用户保存
  5. 服务器将密钥保存到"KeePassHttpSettings"中
  6. 客户端将标签/密钥保存到本地密码存储中

B. 密钥已存储在服务器中的客户端

  1. 客户端发送带有标签+加密有效负载的"test-associate"到服务器
  2. 服务器验证有效负载并向客户端响应成功
  3. 客户端使用先前协商的密钥发送"get-logins-count"、"get-logins"、"set-login"等请求
  4. 如果任何后续请求失败,需要再次"test-associate"

请求类型说明

通用HTTP请求格式 基于数据包嗅探和代码分析,通用HTTP请求是通过POST消息发送的JSON。密码算法使用OpenSSL库的AES-256-CBC,因此密钥长度为32字节。

test-associate请求 用于没有密钥的情况,似乎是每个密钥分配会话的初始化。

associate请求 建立客户端与服务器之间的关联关系。

get-logins请求 获取与指定URL匹配的登录条目。

set-login请求 设置或更新登录条目信息。

编译与开发

自行编译步骤

如果您想要开发新功能或改进现有功能,可以按照以下方法自行编译:

  1. 将Newtonsoft.Json.dll文件复制到源代码文件夹
  2. 从源代码中删除"bin"目录
  3. 从源代码中删除"obj"目录
  4. 删除"KeePassHttp.dll"文件

自动化编译脚本 使用以下批处理代码自动执行步骤2-4:

RD /S /Q C:\完整路径到keepasshttp源代码\bin
RD /S /Q C:\完整路径到keepasshttp源代码\obj
DEL C:\完整路径到keepasshttp源代码\KeePassHttp.dll
"C:\Program Files (x86)\KeePass Password Safe 2\keepass.exe" --plgx-create C:\完整路径到keepasshttp源代码

通过本指南,您将能够充分利用KeePassHttp插件的强大功能,实现安全便捷的密码自动填充体验。

【免费下载链接】keepasshttp KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP 【免费下载链接】keepasshttp 项目地址: https://gitcode.com/gh_mirrors/ke/keepasshttp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值