我有一个命令行过程,该过程正在调用API并从钥匙串中获取令牌。当我从终端运行有/没有sudo的独立过程时,它能够访问钥匙串条目。现在,我已将其转换为启动守护程序,并尝试将其作为启动守护程序执行,然后它无法访问令牌,并给我以下错误:“无法从钥匙串读取存储的项目(状态:-25308)”。我正在使用下面的plist创建启动守护程序。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>TestAuth_SilentDaemon</string>
<key>Program</key>
<string>*complete path of TestAuth_SilentDaemon*</string>
<key>KeepAlive</key>
<true/>
<key>SessionCreate</key>
<true/>
<key>UserName</key>
<string>admin</string>
</dict>
</plist>
有人可以建议我在这里缺少什么吗?
答案 0 :(得分:0)
似乎可以将其连接到errSecInteractionNotAllowed
。
错误-25308是errSecInteractionNotAllowed,这通常意味着您正在尝试访问设备锁定时无法访问的钥匙串项目。
通常将其描述为iOS问题,但MS文档也谈到:
在macOS 10.15+上,iOS和macOS之间MSAL的行为相同。 MSAL使用钥匙串访问组进行钥匙串共享。
查看答案:https://stackoverflow.com/a/9735506/1595293
基于帖子: