1

我有 OSX 代理,它应该从放置在项目中的 p12 文件中读取数据。Security.framework 中有一个功能 SecPKCS12Import 可以做到这一点。问题是,如果我在安装到适当的文件夹后立即在 root 下运行代理,则以下函数不会返回证书的数据(&items 参数),而是返回状态错误“0”。

sudo launchctl load com.myagent.agent.plist

但是在 OSX 重新启动后,代理在 root 下启动并且工作正常。

如果在用户权限下运行代理,即使没有 OSX 重新启动它也能正常工作。

这是一个 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>UserName</key>
    <string>root</string>
    <key>StandardErrorPath</key>
    <string>/usr/local/myagent/agent.log</string>
    <key>StandardOutPath</key>
    <string>/usr/local/myagent/agent.log</string>
    <key>Label</key>
    <string>com.myagent.agent</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Applications/agent.app/Contents/MacOS/agent</string>
    </array>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>

我使用 OSX 10.8

如何解决上述问题?

4

0 回答 0