解锁 Osx 本地项目钥匙串

Posted

技术标签:

【中文标题】解锁 Osx 本地项目钥匙串【英文标题】:Unlocking Osx Local Items keychain 【发布时间】:2014-12-30 18:08:55 【问题描述】:

我正在尝试以编程方式解锁 OSX 中的本地项目钥匙串。

我正在使用 /usr/bin/security 工具解锁 login.keychain。在某些情况下,以编程方式解锁 login.keychain 会间接解锁本地项目。其他时候,本地项目没有解锁,用户会收到几个提示来解锁它。我需要知道如何在我的 C 程序中直接访问本地项目。

不幸的是,在 /Library/Keychains/ 中运行 security list-keychain 甚至没有列出本地项目钥匙串。这是为什么呢?

有没有办法直接访问和修改本地项目?

平台:Maverick 和 Yosemite

更新:我现在也尝试使用安全 API (SecKeychainUnlock) 解锁登录钥匙串,锁定本地项目的问题仍然存在。

【问题讨论】:

任何线索/帮助?更多背景知识:当我在会话期间以编程方式解锁 login.keychain 时,本地项目也会被解锁。当我在用户登录其帐户时以编程方式解锁 login.keychain 时,本地项目不会被解锁并持续提示输入密码。我已经重写了登录过程,使其不依赖密码(我提供了自己的 PAM 库)。 【参考方案1】:

本地项不是钥匙串文件,它是名为“keychain-2.db”的db文件。您会在 ~/Library/Keychain 的子文件夹中看到它。

查看此链接:https://macmule.com/2014/03/30/the-local-items-keychain-in-mavericks/

【讨论】:

以上是关于解锁 Osx 本地项目钥匙串的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OS X 中成功从钥匙串中删除项目?

OSX 10.9 Mavericks 钥匙串 API 坏了?

想使用登录钥匙串卡死

如何检测 iCloud 钥匙串的更改

iOS 钥匙串服务与 iCloud 钥匙串不同吗?

以编程方式在 OS X 钥匙串中存储对称密钥