Mac OS中的的应用程序签名主要用到了codesign工具进行签名,如果希望在苹果的App Store中发行的话,则需要满足Gatekeeper标准,需要使用苹果开发者账号进行Mac App的签名和打包。

Mac OS中的的应用程序签名主要用到了codesign工具进行签名,如果希望在苹果的App Store中发行的话,则需要满足Gatekeeper标准,需要使用苹果开发者账号进行Mac App的签名和打包。

1. 准备签名材料

确保代码签名证书安装到了Mac系统的证书存储区,通常通过双击.pfx或.p12格式代码签名证书后,提示输入证书密码后即可完成导入证书,打开钥匙串应用后可以看到导入的代码签名证书。

2. 运行签名命令

2.1 运行代码签名命令

确定代码证书证书的Common Name,即通用名称,并按下方命令执行进行签名

codesign -s "Your Company, Inc." /path/to/MyApp.app

2.2 确认通用名称(Common Name)

打开钥匙串,找到导入的代码签名证书,双击打开后看到可以看到“主题名称(Subject Name)”栏目中的“常用名称(Common Name)”(苹果译为常用名称),即是上述的“Your Company, Inc.”

2.3 异常报错处理

如果签名过程抛出异常错误:CSSMERR_TP_NOT_TRUSTED,则按下述步骤进行处理

  • 导入中级证书到Mac的证书存储区,通常中级证书在下发的证书包中,或者前往下载:资料下载
  • 检查证书的通用名称/常用名称(Common Name/ CN)是否正确,不是组织/企业名称;

3. 验证签名

使用以下命令进行验证

codesign -v /path/to/MyApp.app
codesign -dvvv /path/to/MyApp.app 
codesign --display --verbose=4 /path/to/MyApp.app

相关文章