在MAC中签名包

kan*_*nde 2 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.
Run Code Online (Sandbox Code Playgroud)

我登录苹果开发者"证书,标识符和配置文件"页面,我有:

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

在KeyChain中,我在"我的证书"下有1个证书,在"证书"下有6个证书.

所以我的问题是:

  1. 所有证书之间有什么区别?
  2. 我需要使用哪种证书?
  3. 我做错了什么?

请帮我!!!谢谢 :)

Vik*_*ngh 10

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

productsign --sign 'Developer ID Installer: Vikrams' 'pkg_path/temp.pkg' 'pkg_path/signed_temp.pkg'
Run Code Online (Sandbox Code Playgroud)