【问题标题】:Unable to retrieve the certificate with codesign after signing the pkg with productsign使用 productsign 签署 pkg 后无法使用 codesign 检索证书
【发布时间】:2022-01-26 23:19:54
【问题描述】:

在过去的 2 周里,我一直在努力发布 .pkg。

如果我执行codesign -dvv app-version.pkg

我收到app-version.pkg: code object is not signed at all

那我想用productsign --sign "3rd Party Mac Developer Installer: xxx (yyy)" ./app-version.pkg ./app-version-signed.pkg签名

输出是:

productsign: signing product with identity "3rd Party Mac Developer Installer: xxx (yyy)" from keychain /Users/<user>/Library/Keychains/login.keychain-db
productsign: adding certificate "Apple Worldwide Developer Relations Certification Authority"
productsign: adding certificate "Apple Root CA"
productsign: Wrote signed product archive to ./app-version-signed.pkg

当我使用codesign -dvv app-version-signed.pkg 检查我的代码设计时,我得到了相同的结果。 app-version-signed.pkg: code object is not signed at all


我们正在使用 electron-builder 构建 pkg,但 pkg 尚未签名。该应用使用Developer ID application3rd Party Mac Developer Application 签名。

【问题讨论】:

    标签: macos electron electron-builder codesign productsign


    【解决方案1】:

    简答:使用pkgutil --check-signature 而不是codesign -dvv

    长答案:扁平包使用与其他东西有些不同的签名格式,您需要使用不同的工具对其进行签名并检查签名。具体来说,使用productsign而不是codesign来签名,pkgutil而不是codesign来检查签名。

    当您在一个包上使用codesign -dvv 时,它会寻找它的签名格式,而实际上那里没有。

    【讨论】:

    • 哦,我明白了。感谢您的解释。我对其他论坛帖子感到困惑。它确实说它是用3rd Party Mac Developer: xxx (yyy) 签名的。但它也说明了以下内容:Status: signed by a developer certificate issued by Apple (Development)。当我搜索它时,我发现了一个未解决的 SO 帖子。它不应该说一些关于分发的事情吗?
    猜你喜欢
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多