为什么我的包裹被归类为危险包裹

时间:2017-03-20 17:41:57

标签: macos code-signing codesign code-signing-certificate pkg-file

OSX 10.12.3,我有一个使用EV代码签名代码的软件包。

$ codesign --force --sign "3rd Party Mac Developer Application: myname (code...)" mypackage.pkg

但是当有人下载​​并尝试在OSX中安装它时,它们都会得到以下结果:

enter image description here

在英文中它的同一个对话框:“App无法打开,因为它来自一位身份不明的开发者”

enter image description here

当我检查代码符号时,我可以看到它正常工作:

$ pkgutil --check-signature mypackage.pkg
Package "mypackage.pkg":
   Status: no signature

$ codesign -dv --verbose=4 mypackage.pkg
Executable=/Users/xxx/xxxxxx
Identifier=xxxx
Format=generic
CodeDirectory v=20200 size=177 flags=0x0(none) hashes=1+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=xx
CandidateCDHash sha256=xx
Hash choices=sha1,sha256
CDHash=xxxxx
Signature size=4715
Authority=3rd Party Mac Developer Application: xxxxx
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=1xxx
Info.plist=not bound
TeamIdentifier=xxxxx
Sealed Resources=none
Internal requirements count=1 size=196

如何确保正确完成?所以它不会吓到OSX用户,我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

代码签名标识“第三方Mac开发人员应用程序:<团队名称>”用于在将应用程序提交到应用商店之前对其进行签名。它对于在应用商店之外发布无用。

要在应用商店外签署应用包以进行分发,请使用“开发者ID应用:<团队名称>”身份。

但是,您说您正在签署“软件包”并显示一个文件扩展名为.pkg的文件。要签署安装程序包,请使用“开发者ID安装程序:< Team Name>”身份。此外,您应使用productsignpkgbuildproductbuild的相应选项,而不是codesign来签署安装程序包。