首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >产品签名的Mac应用程序没有安装在不是我的电脑上

产品签名的Mac应用程序没有安装在不是我的电脑上
EN

Stack Overflow用户
提问于 2014-01-22 22:21:21
回答 1查看 3.5K关注 0票数 4

我有一个Mac应用程序,我使用终端上的“productsign”命令进行了签名。

代码语言:javascript
复制
productsign --sign "3rd Party Mac Developer Installer: My company (dasdfjkaj)" InstallerUnsigned.pkg InstallerSigned.pkg

productsign: signing product with identity "3rd Party Mac Developer Installer: My company (dasdfjkaj)" from keychain /Users/me/Library/Keychains/login.keychain
productsign: adding intermediate certificate "Apple Worldwide Developer Relations Certification Authority"
productsign: Wrote signed product archive to InstallerSigned.pkg

然后运行“评估”命令。

代码语言:javascript
复制
spctl -a -v --type install  InstallerSigned.pkg
InstallerSigned.pkg: accepted

我还检查了签名

代码语言:javascript
复制
pkgutil --check-signature InstallerSigned.pkg 
Package "InstallerSigned.pkg":
Status: signed by a developer certificate issued by Apple
   Certificate Chain:
    1. 3rd Party Mac Developer Installer: My company (dasdfjkaj)
    2. Apple Worldwide Developer Relations Certification Authority
    3. Apple Root CA

当我从我的机器上运行安装程序时(将网关管理员设置为“machine和标识开发人员”),它就运行得很好。当我将相同的pkg部署到我的网站后,它也正确地安装了。

但是..。当我在另一台机器上下载pkg时,它无法安装。当我在故障机器上运行spctl命令时,我得到

代码语言:javascript
复制
spctl -a -v --type install  InstallerSigned.pkg
InstallerSigned.pkg: rejected

有人知道为什么它在我自己的机器上运行得很好,但是当pkg在另一台机器上运行时却失败了吗?我真的没有主意了

编辑:这就是我得到的

代码语言:javascript
复制
spctl --list --type execute
3[Apple System] P0 allow execute
    anchor apple
4[Mac App Store] P0 allow execute
    anchor apple generic and certificate leaf[field.<I removed this>] exists
5[Developer ID] P0 allow execute
    anchor apple generic and certificate 1[field.<I removed this>] exists and certificate leaf[field.<I removed this>] exists
7[GKE] P0 allow execute [(gke)]
    cdhash H"<I removed this>"
10[GKE] P0 allow execute [(gke)]
    cdhash H"<I removed this>"
14[GKE] P0 allow execute [(gke)]
    cdhash H"<I removed this>"
15[GKE] P0 allow execute [(gke)]
    cdhash H"<I removed this>"
18[GKE] P0 allow execute [(gke)]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 23:17:51

证书问题

这些是您需要一起使用的证书,用于协同设计:

  • 开发人员ID安装程序
  • 开发人员ID应用程序

代码语言:javascript
复制
- **3rd Party Mac Developer Installer** (usually only used for the AppStore apps).

"Developer ID Installer“证书是如果不向AppStore提交的话将使用的证书。对于具体的协同设计部分,您需要使用"Developer ID Application“证书。

Apple Developer Codesigning Workflow Guide

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21295255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档