概览
我在 OSX Mt Lion 上使用 python 中的 tornado 网络服务器。每次我启动 tornado 服务器时,我都会收到一个弹出窗口,必须允许/拒绝对应用程序的传入访问。
我在“系统偏好设置”->“安全和隐私”->“防火墙”中将 python 二进制文件列为“允许传入连接”...但每次我仍然会弹出。
我在网络上发现了一个引用,表明某些应用程序可以“检查自己是否已签名”。这是否可能是问题所在,因此将其忽略为已列出?
我确认:
codesign -vvv <path to python binary>
是否产生:
<path to python binary>: invalid signature (code or signature have been modified)
In architecture: x86_64
这个特定的二进制文件与带 --framework 标志的自制软件一起安装(wxpython 需要)。
问题
为什么我在防火墙列表中手动输入的二进制应用程序被忽略了?
有没有一种简单的方法可以自己对二进制文件进行签名,这样我就可以单击“自动允许签名的应用程序”并允许它从而不显示弹出窗口?
最佳答案
(基于礼貌的回答 - 感谢礼貌)
codesign -f -s - /path/to/Python.app
为我工作(Lion 后来只问过一次,也是最后一次)。 -s -
表示临时签名 - 根本不需要证书。
关于python - 运行 python 时如何永久接受 OSX 防火墙允许/拒绝确认?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15936801/