可以通过命令行(或自动化)访问和修改iCloud钥匙串吗?

我非常清楚如何从命令行访问钥匙串本身,但是我似乎无法弄清楚是否可以从命令行访问iCloud钥匙串。目前,我唯一能够访问它的方式是通过“钥匙串访问”工具。
我试图处理的情况是,我有一个每周更改的密码,并且我能够通过命令行在“系统”钥匙串中更新条目,但是“iCloud”条目不会更改。当我尝试连接到Wi-Fi网络时,它似乎使用iCloud密码,如果不匹配,则会抛出错误。

Keychain Access clip

如果我通过“密钥链访问”手动删除密钥链条目,它将使用系统的密钥链密码。
我希望能够通过命令行工具自动删除密钥链条目,或者手动编辑一些plist之类的东西。
非常感谢任何帮助。如果有一种奇怪的使用AppleScript的方法来实现这个目的,我全听着呢。

1个回答

iCloud Keychain以与传统钥匙链ref1ref2不同的格式存储在磁盘上。它位于~/Library/Keychains/文件夹中,该文件夹以长UUID命名。当您更改iCloud钥匙链中的内容时,可以看到该文件夹中的修改时间戳发生变化。
虽然您可以使用AppleScript和可用的钥匙链脚本来处理系统和登录钥匙链,但无法访问iCloud钥匙链。
因此,您唯一剩下的选择是使用AppleScript GUI操作Keychain Access应用程序。