kli*_*ron 5 macos code-signing go
OSX El Capitan和Go 1.6
我想要的比标题中的声音更简单.
OSX防火墙不允许任何未知应用程序接受连接.当任何这样的程序启动时,向用户呈现对话框,无论是否应该允许所述可执行文件接收连接.然后记住用户的选择.
上面的工作正常,例如一个开发的节点,其中实际的可执行文件是单个二进制文件,用户只需要允许/拒绝一次.
在go(和任何其他编译语言)中进行开发时,每次创建的可执行文件都是不同的.这意味着每次启动服务器时都会收到对话框.
避免此对话框的一种方法是使用在OSX中生成的自签名证书对可执行文件进行签名.获得证书后,我们只需签署可执行文件并允许/拒绝一次.即使可执行二进制文件发生更改,也始终会记住代码签名.
所以,我的问题是:
有没有办法go在运行编译的二进制文件之前运行signed命令?
小智 6
更简单:在localhost上显式启动服务器,如:
http.ListenAndServe("localhost:8080", nil)
Run Code Online (Sandbox Code Playgroud)
我最近写了一篇文章:
愚蠢的我。我花了 5 分钟写问题,2 分钟找到答案并编写解决问题的脚本。我会将其发布在这里,以防有人遇到同样的问题。
binary=$GOPATH/pkg/kliron/hiss/hiss.a
go build -o $binary hiss/main.go
codesign -f -s klironCode $binary --deep
$binary "$@"
Run Code Online (Sandbox Code Playgroud)
只需使用go build.
| 归档时间: |
|
| 查看次数: |
960 次 |
| 最近记录: |