8

概述

我在 OSX Mt Lion 上的 python 中使用龙卷风网络服务器。每次我启动龙卷风服务器时,我都会弹出一个窗口,并且必须允许/拒绝对应用程序的传入访问。

我已在 System Preferences -> Security & Privacy -> Firewall 中将 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 需要)。

问题

  1. 为什么我在防火墙列表中手动输入二进制应用程序被忽略?

  2. 是否有一种简单的方法可以自己对二进制文件进行签名,以便我可以单击“自动允许签名的应用程序”并允许它不显示弹出窗口?

4

2 回答 2

13

(基于礼貌的回答 - 谢谢礼貌)

codesign -f -s - /path/to/Python.app

为我工作(狮子后来只问过一次,最后一次)。-s -意味着 Ad-hoc 签名 - 根本不需要证书。

于 2013-11-04T20:23:59.907 回答
1

codesign -s您可以使用您的有效证书手动签署应用程序。我按照以下方式使用了iPhone Developer证书和终端命令:

codesign -f -s "iPhone Developer: YourName"  "Tornado.app"

使用自动鼠标单击的可能解决方法:

  1. 下载CLIclick。(谢谢卡斯滕。)
  2. 把它放在合适的位置,比如说/usr/local/bin
  3. 使用获取Allow按钮的屏幕坐标⌘</kbd>⇧</kbd>4. (In my example, these are x: 750, y: 600.)
  4. 使用此内容创建一个脚本(w:以毫秒为单位的等待时间):

    /usr/local/bin/cliclick c:750,600 w:1500 m:+0,+0 c:.
    

    CLIclick(如果不将其“移动”到同一位置(m:+0,+0零件)并再次单击同一位置( ),我将无法开始工作c:.。)

  5. 每次启动服务器时都运行脚本。
  6. 享受!
于 2013-04-15T14:01:29.020 回答