通过代码验证应用程序的签名

Mr *_*eph 5 c macos cocoa objective-c digital-signature

我有app签名.我根据Apple的代码签名指南创建identity并用于codesign签署我的应用程序.

现在,如何从我的应用程序中检查签名?

我需要在Cocoa应用程序(Objective-C)和用C编写的应用程序上验证这一点.

Ben*_*n S -1

iOS 上实现签名验证的方式是,当应用程序启动时,launchd守护进程使用该设备的特定私钥解密二进制文件(这就是为什么您不能反编译应用程序或将它们从一个设备复制粘贴到另一个设备) ,如果解密失败,应用程序将无法启动。

由于 iOS 沙箱,执行此操作的本机工具在应用程序中不可用。

如果您只是尝试跟踪是否有人修改了您的二进制文件,您可以对其执行 MD5 或 SHA1 哈希,将其存储NSUserDefaults并在每次应用程序启动时进行比较。如果哈希在执行之间发生变化,您就知道它已被修改(可能是通过合法的应用程序更新或可能是恶意的。)

这是有关如何获取 .hash 的示例NSData

您正在寻找的二进制文件是:AppName.app/AppName

  • 这是针对 Mac OS X 应用程序,而不是 iOS。不过还是谢谢你的帮助。我需要验证应用程序上的签名,而不仅仅是 CRC (3认同)