Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 为什么我的包裹被归类为危险包裹_Macos_Code Signing_Codesign_Code Signing Certificate_Pkg File - Fatal编程技术网

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

Macos 为什么我的包裹被归类为危险包裹,macos,code-signing,codesign,code-signing-certificate,pkg-file,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中安装它时,他们都会得到如下结果: 在英语中,它的对话框是一样的:“应用程序无法打开,因为它来自一个身份不明的开发者” 当我检查代码标志时,我可以看到其工作: $ pkgutil --check-signature my

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

$ codesign --force --sign "3rd Party Mac Developer Application: myname (code...)" mypackage.pkg
但当任何人下载并尝试在OSX中安装它时,他们都会得到如下结果:

在英语中,它的对话框是一样的:“应用程序无法打开,因为它来自一个身份不明的开发者”

当我检查代码标志时,我可以看到其工作:

$ 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用户,我这里缺少什么?

代码签名身份“第三方Mac开发者应用程序:”用于在将应用程序提交到应用商店之前对其进行签名。它不适用于应用商店以外的分发

要签署应用程序捆绑包以便在应用程序商店之外分发,请使用“开发者ID应用程序:”标识


但是您说您正在签署一个“包”,并显示了一个扩展名为.pkg的文件。要签署安装程序包,请使用“开发者ID安装程序:”标识。此外,您应该使用
productsign
pkgbuild
productbuild
的适当选项,而不是
codesign
,来签署安装程序包。

您可能应该说明错误消息,因为我没有看到它(或者将其翻译成英语,因为该消息可能在谷歌上有很多点击)。先生,我的包是.pkg,其中包含预编译的.app。那么,我应该先签署.app,然后签署.pkg吗?(在使用pkgbuild或productbuild时,我是否使用从Global sign购买的为期3年的EV代码签名?)。我不确定你的第二个问题是关于什么的。您需要使用Apple提供的正确类型的证书进行代码签名。使用另一个来源的证书签名无助于您使用Gatekeeper(这是您问题中显示对话框的内容)。先生,它有效(对包含.app的my.pkg进行签名)。但我还有最后一个问题。我需要签署.app(第三方开源二进制文件),所以当我进入我的苹果帐户时,我找不到开发者ID应用程序:请参见图片:第一个屏幕截图实际上显示了一个单选按钮,用于创建开发者ID应用程序证书。您还可以使用Xcode自动创建和下载证书。看见