当我解锁我的数据库时,我希望能够将附加文件从特定的 KeePass 条目保存到我的本地驱动器上的特定位置...然后在数据库被锁定或关闭时删除该文件,以便在我的数据库被锁定时该文件不可用(某些工具需要文件中的秘密,但我只希望在我的数据库解锁后可以使用它)。
我以为我记得过去发生过类似的事情,但经过几天的文献搜索,我找不到办法做到这一点(或者记起让我认为它在过去存在的情况/搜索)。
我曾希望有一个带有操作设置的触发器:我可以看到打开数据库的触发器,但没有看到关闭数据库的触发器;而且我看不到保存附件的操作。
或者,如果不是这样,是否有现有的插件可以做到这一点?(或者可以在 KPScript 脚本插件中完成这样的事情吗?如果可以,有什么提示我应该开始研究哪些命令?)
更新
我的问题实际上是XY问题。我真的应该说,“我需要一个文件,只有当我的 KeePass 数据库解锁时才可以访问,而当我的数据库被锁定或关闭时,该文件会被删除、加密或以其他方式无法访问;我可以使用触发器或插件或其他方式通过 KeePass 来实现这一点吗?”
答案1
我最初提出的问题实际上是XY问题。
对我的问题最初的回答是“不,这是不可能的”。
这个问题的答案是我真的需要回答的是由 repo 论坛中的“Paul”提供:
如果您通过 7zip 将附件保存在单独加密的自解压文件中,您可以让 KeePass 提供密码以通过触发器解密。
进一步说:文件在我的本地磁盘上加密后(不是作为条目附件),没有密码的人无法访问。然后,在 KeePass 中,我可以定义一个扳机当打开数据库(也包括解锁)时,会运行外部命令(具体来说,是 7zip 或 gpg 或类似的实用程序来解密文件;使用参考语法,我可以从 KeePass 中的特定条目传递密码以用于解锁。我甚至可以包含一个过滤器,如果加密文件丢失,它将阻止操作运行。
当我锁定或关闭数据库时,为了进行清理,可以在关闭数据库事件上使用另一个触发器,该触发器将删除未加密的文件(或重新加密文件......无论哪种方式对加密/解密应用程序更有效,取决于解密是否替换文件或仅创建未加密的第二个文件)。