在Mac OS X 10.9上签署“info.plist”

时间:2014-07-16 03:17:49

标签: objective-c macos

我更改了Boot Camp软件包中的info.plist文件,使其支持在我的Mac上安装USB安装驱动器,但在Mac OS X Mavericks上,应用程序在我签署新文件之前崩溃了。我在终端中使用以下代码进行签名。

sudo codesign -fs - /Applications/Utilities/Boot\ Camp\ Assistant.app

签署代码后,应用程序成功运行。整个教程在这里:Enable Bootcamp to install from usb for OSX 10.9

但是我想知道为什么我可以这么容易地签署代码,没有任何正式的证书。我认为代码签名是一种安全功能。只有拥有证书的开发人员才能签署他们的代码并进行分发,Apple只允许这些签名的程序运行:About Code Signing我是这个主题的初学者;有人可以解释一下这个过程吗?这是否意味着黑客可以签署他们想要的任何代码(可能是恶意代码)并在获得root帐户密码时运行它们?


然后我改回原来的info.plist并想要删除我创建的文件的签名。我该怎么做?

谢谢!

1 个答案:

答案 0 :(得分:1)

原因是您使用本地证书对包进行签名。当Apple签署该软件包时,它将在任何Mac上运行,因为它们的根证书在基本操作系统中是可信的。 如果您将本地签名的软件包转移到另一台Mac,您会发现它崩溃了,因为它是使用另一台机器上的证书签名的。

希望这可以解决它。