Macos 在Mac App Store应用程序中签名库

Macos 在Mac App Store应用程序中签名库,macos,code-signing,mac-app-store,Macos,Code Signing,Mac App Store,我刚刚向Mac app Store提交了一个应用程序,它使用了一些外部动态库 我收到苹果公司的一封电子邮件说: 签名无效-可执行文件something.app/Contents/Frameworks/some.dylib未签名、签名无效或未使用Apple提交证书签名。有关更多信息,请参阅《代码签名和应用程序沙箱指南》 问题当然是因为我只对“我的”可执行文件签名,而不是对库签名 即使库不是我写的,也对库进行签名是常见的/良好的做法吗?将对文件进行数字签名视为: 一种验证该文件完整性的方法,从而能够

我刚刚向Mac app Store提交了一个应用程序,它使用了一些外部动态库

我收到苹果公司的一封电子邮件说:

签名无效-可执行文件something.app/Contents/Frameworks/some.dylib未签名、签名无效或未使用Apple提交证书签名。有关更多信息,请参阅《代码签名和应用程序沙箱指南》

问题当然是因为我只对“我的”可执行文件签名,而不是对库签名


即使库不是我写的,也对库进行签名是常见的/良好的做法吗?

将对文件进行数字签名视为:

  • 一种验证该文件完整性的方法,从而能够检测该文件是否被修改

  • 验证谁发布了该文件的一种方法,与编写相应的源代码不同。你在证明那份文件真的是你寄来的

  • 由于动态库包含可执行代码,因此最好(在某些情况下,如MAS,强制)对其进行数字签名,原因与对主可执行文件进行签名的原因相同:确保您的应用程序与您(并且只有您)从构建机运来的应用程序完全相同,没有任何更改。正在运行的程序包括主可执行文件和所有加载的库。如果只对主可执行文件进行签名,而不对动态库进行签名,则有可能更改动态库(甚至替换它们),从而更改程序的功能