猿问

OSX:代码签名可执行文件以避免防火墙警告对话框

OSX El Capitan 和 Go 1.6

我想要的比标题中听起来更简单。

OSX 防火墙禁止任何未知应用程序接受连接。当任何这样的程序启动时,用户会看到一个对话框,是否应该允许所述可执行文件接收连接。然后记住用户的选择。

例如,当使用节点开发实际可执行文件是单个二进制文件并且用户只需要允许/拒绝它一次时,上述工作正常。

在 Go(和任何其他编译语言)中开发时,创建的可执行文件每次都不同。这意味着我每次启动服务器时都会收到对话框。

避免此对话框的一种方法是使用 OSX 本身生成的自签名证书对可执行文件进行签名。获得证书后,我们只需签署可执行文件并允许/拒绝它一次。即使可执行二进制文件发生更改,代码签名也会始终被记住。

所以,我的问题是

有没有办法go在运行编译后的二进制文件之前运行签名命令?


陪伴而非守候
浏览 189回答 2
2回答

Helenr

更简单:在本地主机上显式启动服务器,例如:http.ListenAndServe("localhost:8080", nil)我最近写了一篇关于这个的小文章:抑制接受传入网络连接警告 osx

慕神8447489

傻我。我花了 5 分钟来写问题,花了 2 分钟找到答案并编写解决问题的脚本。我会把它贴在这里以防有人遇到同样的问题。binary=$GOPATH/pkg/kliron/hiss/hiss.a   go build -o $binary hiss/main.gocodesign -f -s klironCode $binary --deep   $binary "$@"只需使用go build.
随时随地看视频慕课网APP

相关分类

Go
我要回答