首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OSX可执行文件的协同设计与公证

OSX可执行文件的协同设计与公证
EN

Stack Overflow用户
提问于 2021-09-05 19:07:55
回答 2查看 340关注 0票数 0

我试图从命令行中对一个从javascript文件生成的小型可执行文件进行codesign +公证,但没有成功。这个文件是一个非常简单的CLI工具,目的是通过mac的终端使用。

下载文件并试图运行它将导致错误:

"testBinaryFile无法打开,因为无法确认开发人员的身份。

(并且从终端运行它,正如它应该的那样,会导致进程中的“被杀死”状态“)。

以下是我所做的步骤: 0。将代码捆绑到可执行文件中(名为testBinaryFile)

  1. 与:

协同设计可执行文件

代码语言:javascript
复制
codesign -s CERTIFICATE_UUID --timestamp -o runtime -v testBinaryFile --force

压缩可执行文件(以便可以上传到notarization): )的

代码语言:javascript
复制
ditto -c -k testBinaryFile testBinaryFile.zip  

向notarization:发送zip的

代码语言:javascript
复制
xcrun altool --notarize-app \
    --primary-bundle-id io.test.bundled \
    --username <OUR_APPLE_ID> \
    --password <OUR_APPLE_APP_SPECIFIC_PASS> \
    --file testBinaryFile.zip

  1. 轮询服务,直到我们返回一个成功的公证消息:

代码语言:javascript
复制
xcrun altool --notarization-info REQUEST_ID -u <OUR_APPLE_ID> -p <OUR_APPLE_APP_SPECIFIC_PASS>

  1. 将压缩文件上传到我们在Github中的主机(也在Google的托管服务上尝试过)

  1. 下载压缩文件,解压缩它,然后尝试运行它,->会导致上面附加的错误。

其他注意事项:*我有一个“AppStore证书”,它允许在AppStore之外分发捆绑的可执行文件。

*我在一个公证的.dmg安装程序中使用相同的捆绑可执行文件,其中包含“.app”应用程序(以及它的/resources中的包),在那里,我设法使用它,没有任何问题。

关于如何使它工作的任何线索也只是为了捆绑?

EN

回答 2

Stack Overflow用户

发布于 2021-09-08 10:22:47

这是不可能使用来自第三方提供商(如Comodo,DigiCert)的证书,因为这样的证书不会通过把关员,这需要苹果开发人员颁发的证书。

票数 0
EN

Stack Overflow用户

发布于 2022-01-02 07:33:40

您的守门员安全设置不允许这样做,因为它甚至不是一个应用程序。结果可能是隔离了它,这意味着您必须运行xattr -d com.apple.quarantine /path/to/file才能运行它。

较不喜欢的方法是降低您的安全设置。

  • 还注意到,由于无法将公证票证钉在二进制可执行文件上,用户将要求internet访问票证以启用代码执行。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69066429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档