macos - 在 MAC 中签署包

标签 macos certificate packagemaker

我有一个在 MAC OSX 10.10 上的 Netbeans (8.0.1) 上构建的 C++ 代码。

现在我想打包这个二进制文件,所以我使用 PackageMaker。一旦 PackageMaker 上的构建完成,它会要求签名,我点击了“允许”。

然后我打开终端并检查包裹是否签名成功,我得到:

codesign -v G16.pkg
G16.pkg: code object is not signed at all.

我登录苹果开发者“证书、标识符和配置文件”页面,我有:
  • 2 开发者ID申请证书
  • 4 开发者 ID 安装程序
  • 1 Mac 应用分发
  • 1 Mac 开发
  • 1 Mac 安装程序分发

  • 在钥匙串(keychain)中,“我的证书”下有 1 个证书,“证书”下有 6 个证书。

    所以我的问题是:
  • 所有证书有什么区别?
  • 我需要使用哪个证书?
  • 我做错了什么?

  • 请帮我!!!谢谢 :)

    最佳答案

    codesign用于签署应用程序(不是安装程序)。
    您应该使用 productsign签署 pkg 文件。您应该使用的证书是“Developer ID Installer”。 (您的钥匙串(keychain)中显示的证书全名)

    productsign --sign 'Developer ID Installer: Vikrams' 'pkg_path/temp.pkg' 'pkg_path/signed_temp.pkg'
    

    关于macos - 在 MAC 中签署包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31177731/

    相关文章:

    macos - 使用 sed 命令从多个文件中删除行

    Python 在 Mac OS X 上诅咒鼠标事件

    ruby - 在 Ruby 中如何检测文件是否可写?

    macos - 如何让在 MacOS 上运行的 Flutter 项目成功使用 Firestore?

    wcf - WCF 服务中的自定义证书验证

    Symfony HWIOAuthBundle,如何配置 cURL?

    ios - iOS 中的客户端证书和身份

    macos - 您可以使用 PackageMaker 命令从文件列表中创建安装程序吗?

    xcode - 如何在 Mac 上同时安装 ffmpeg 和应用程序?