问题标签 [keepass]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
yubico - 将两个 Yubikey 添加到 KeepassXC
我正在测试 Yubico Yubikeys 5 NFC,一般来说,我们使用 KeePassXC 来保存敏感信息。KeePassXC 接受 yubikeys 但只有一个...有人知道是否可以在 kdbx 文件中添加多个?
c# - 如何在keepass中读取条目的自定义字符串字段?
我只是通过将 .exe 文件添加到我的项目中来使用 keepass 的香草库。从我的代码中,我正在访问 PwDatabase,如下所示:
从那里我想访问和读取我之前从 UI 上的“高级”选项卡手动添加的自定义字符串字段:
但是我最终在这里得到了一个空值。
关于我如何阅读这篇文章的任何建议,或者它只是没有通过香草 KeePass.exe 暴露出来吗?
c# - 在 C# 中存储敏感数据的最佳方法(KeePass、Symmetric Encryp.、..)
我正在尝试找到最安全和最好的方法来保存和读取密码或敏感数据,例如,我可以在用 C# 编写的 selenium 测试自动化中使用这些方法。
存储和保护敏感数据似乎是一个非常棘手的话题。stackoverflow 中只有很少的问题超过 8 年并且没有帮助我解决我的问题。
我的要求是:
- 密码不允许在代码或任何文件中仅通过打开它就可见
- 同事应该能够使用它,而无需投入太多工作来使其运行。(例如 KeePass 可以工作,因为用户需要 2 个文件(key 和 key-db)才能从 keepass 中读取密码)
- 我们使用 bitbucket 上传解决方案或分支。Bitbucket 运行所有代码,甚至不需要 Visual Studio(SonarQube 等)的测试。我们可以上传 .key 文件(例如来自 KeePass)来解密密码。
到目前为止我发现的用于存储/隐藏敏感数据的方法:
加密和解密:我说它是最常见和最常用的方法。据我的同事说,这不是公司想要使用的东西,因为在已知加密方法的情况下解密密文太容易了。
环境变量(ty Prophet 告诉我):似乎是一种超级安全的存储/隐藏密码的方法。敏感数据存储在 Windows 环境变量中,您只能在本地使用它。这里的问题是:我的每个同事都需要在 windows 中添加变量,我们使用 bitbucket 将我们的解决方案上传到服务器上,我们可以在不使用 Visual Studio 的情况下启动自动化测试。不确定这对我们来说是否可行。
KeePass(软件):似乎是存储和读取密码的最安全方式。用户需要 2 个文件 (
Database.key
和Database.kdbx
) 才能访问密码。但是堆栈溢出中只有一个问题超过 10 年Link to question。从那以后,没有任何更新和有用的问题或 youtube 视频可以帮助我在 C# 中设置 keepass。但是 Visual Studio 中有用于 KeePass 的金块包。密码学(对称算法):我今天发现了一个微软视频链接到视频,他们在其中讨论了 .NET 核心中所有不同类型的密码学。他们提到了
symmetric algorithm
这似乎与 KeePass 类似。要解密密文,用户需要一个secret key
. 尚不确定此方法是否可以解决我的问题,或者我是否可以使用它。
如您所见,我努力寻找解决方案。我仍然是编写代码的初学者。但我取得了很大进步,并在网络上深入搜索以提高我的技能的解决方案。尽管如此,这个话题还是让我发疯了,而且我还没有足够的经验知道如何从 0 开始编写代码或从哪里开始。
也许这里有人愿意投入一些精力和时间来How to set up KeePass in C#
设置Symmetric Cryptography
,因为这些话题在过去还没有那么多的关注。
如果这个问题得到一些关注会很好,所以它可能会帮助其他正在寻找相同答案的人。
c# - CS1061 'IEnumerable<>' 不包含转储的定义
我只想从我的软件 KeePass 中获取密码。
使用此处链接到问题的旧问题的代码后,我收到此错误消息:
S1061 'IEnumerable<<anonymous type: string Group, string Title, string Username, string Password>>' does not contain a definition for 'Dump' and no accessible extension method 'Dump' accepting a first argument of type 'IEnumerable<<anonymous type: string Group, string Title, string Username, string Password>>' could be found (are you missing a using directive or an assembly reference?) KeePasso C:\Users\prusinma\source\repos\KeePasso\KeePasso\Program.cs 36 Active
这是我使用的代码:
在代码的最后一行中,在 处有一个红色下划线Dump
。它显示了我在上面共享的相同错误消息。
我已经在尝试找到类似的问题,并且在大多数问题中它们都与类型有关。但正如我所见,标题、用户名和密码中的所有数据/条目都是字符串。
如果有人可以在这里帮助我,将不胜感激。Id 也可以为其他解决方案打开如何从数据库中读出密码。
谢谢!
intellij-idea - 如何安全地为 IntelliJ 中的单元测试提供用户凭据?
我们的团队正在使用 IntelliJ 开发 Java Spring Boot 服务。在运行时,这些服务需要连接到各种 REST API、数据库和消息代理。虽然大多数逻辑都可以通过使用模拟而不是真实服务访问的单元测试来测试,但我们还使用 JUnit 编写了许多集成测试来测试“真实的东西”(其他人可能称之为合同测试)。这些集成测试在专用测试环境中连接到这些 API 和服务的实例。此时,集成测试只能由开发人员手动运行,而不是由我们的自动化 CI/CD 管道运行。在大多数情况下,这工作得很好。
我想解决的问题如下......
要访问这些 API 和服务,必须提供有效的 Active Directory 凭据。Security 通常禁止共享凭据,因此所有开发人员都已获得所需 AD 组的成员资格,并且需要使用他们的个人凭据来执行集成测试。单元/集成测试被配置为从配置属性中读取凭据。当前的做法是每个开发人员在application-junit.yaml文件中设置他们的 AD 用户名和密码。这当然是非常糟糕的安全实践,因为可能每月至少有一次有人不小心将他们的凭据提交给版本控制,或者可能在屏幕共享会话期间不小心显示该文件及其凭据。
我已经研究了 Spring Boot 关于外部化配置的指南,并设法通过环境变量或通过 IntelliJ 的Run/Debug Configurations中设置的 VM 参数来提供我的凭据。这解决了不小心将凭据提交给版本控制的第一个问题,但仍然保留了(尽管减少了)意外屏幕共享的风险。将明文 AD 密码放入 env var 或配置文件中仍然是一种糟糕的安全做法。
我读到了 IntelliJ 对 Keepass(在 Windows 上)或本机钥匙串(macOS)的支持。据说这种机制用于存储访问 Git、数据库等的密码,但找不到有关是否以及如何使用此功能安全地为 JUnit 测试运行提供凭据的任何进一步信息。在 Google、IntelliJ 的论坛和 SO 上的密集搜索也没有产生任何有用的结果。
有任何想法吗?
java - Chrome 崩溃:尝试在空对象引用上调用虚拟方法“long android.view.accessibility.AccessibilityNodeInfo.getSourceNodeId()”
在处理我网页的搜索表单(JavaScript、CSS、HTML)时,Chrome 浏览器(Android 10)每次单击网络搜索图标并且输入字段聚焦时都会崩溃。
崩溃报告中的调试堆栈跟踪说
这次崩溃显然是一个错误。问题是:我应该在哪里创建错误票?
我找到了 AccessibilityNodeInfo 的描述,它似乎是一个基本的 Android 功能:https ://developer.android.com/reference/android/view/accessibility/AccessibilityNodeInfo
我还在这个讨论中发现https://meta.stackexchange.com/questions/369434/trying-to-comment-on-a-particular-question-on-the-full-site-crashes-android-chro Android辅助功能服务或自动填充服务可能参与其中。
事实上,当我关闭 KeePass 密码管理器的自动填充功能时,Chrome 不再崩溃。
所以:
- 我的网页上的一个表单域被聚焦。
- 然后,chrome将焦点事件交给自动填充服务
- 自动填充服务检查是否有一些搜索建议或其他可插入文本
- 调用 KeePass 自动填充功能。
由于我不是 Java/Android 应用程序开发人员,因此我需要您的帮助才能找到此问题的正确收件人:
我的 HTML/CSS/JS 代码会导致这个问题吗?(搜索字段只在一个特殊页面上崩溃,在其他页面上正常工作)
这是 chrome@android 错误吗?
这是 Android 无障碍服务中的错误吗?
或者它可能是 Android 的 KeePass 应用程序中的一个错误?
您会推荐哪些步骤来确定错误的明确来源?
谢谢!
python - 如何使用 Python `subprocess` 在 Windows 上检查外部应用程序的状态?
我无法确定Python模块打开的 Windows 程序 ( KeePass ) 的状态。subprocess
调用 KeePass 程序很简单,但是一旦调用,我似乎无法确定它是否已成功打开。
我阅读了Popen.poll()
,Popen.wait()
和Popen.communicate()
对象并对其进行了测试,但我似乎无法找到可以挂钩的状态。
示例:(见# <--- What goes here to check status?
下面的评论)
编辑1:
插入到上面的代码中, ,对和值output, errors = t.communicate()
的结果相同。b'' b''
output
error
结果:
第一行pw_file
是密码错误。KeePass 数据库未打开;GUI 显示弹出窗口:
...需要手动干预才能关闭。第二行pw_file
是正确的密码。KeePass 成功打开。但是您可以看到,t.communicate()
两次尝试的终端输出都是相同的。没有什么可挂钩的。
同样的事情t.wait()
(0
而不是b''
价值,没有什么可挂钩的):
同样的事情也适用于t.poll()
:
我也尝试过替换s.check_call
and s.check_output
,不行!