在MAC中签署一个包

时间:2015-07-02 07:07:16

标签: macos certificate packagemaker

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

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

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

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

我登录苹果开发者“证书,标识符和个人资料”页面,我有:

  • 2开发者ID申请证书
  • 4开发者ID安装程序
  • 1 Mac App Distribution
  • 1 Mac开发
  • 1 Mac安装程序分发

在KeyChain中,我在“我的证书”下有1个证书,在“证书”下有6个证书。

所以我的问题是:

  1. 所有证书之间有什么区别?
  2. 我需要使用哪种证书?
  3. 我做错了什么?
  4. 请帮帮我!!!谢谢:))

1 个答案:

答案 0 :(得分:9)

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

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