我如何仅使用普通的Apple ID帐户签署dylib? (尚无开发者帐户)

问题描述 投票:0回答:1

我有一个dylib,为了使其能够在我的机器上运行,我不得不在xcode的目标设置中禁用库验证。不用付费的开发者帐户就可以进行签名以进行测试吗?有关如何执行此操作的任何链接或教程都将大有帮助。

ios macos dylib codesign mach-o
1个回答
1
投票

取决于您如何获得图书馆。

使用Xcode构建

如果使用Xcode构建,则应该能够启用签名,并在项目的Team窗格中告诉它使用None Sign to Run LocallySigning and Capabilities全部。

签署现有的dylib

如果您不是在Xcode中构建它,并且想要对以其他方式构建或检索的二进制文件进行签名,则将需要使用codesign,这可能非常复杂。

理论上,您可以使用已被授权进行代码签名的任何证书来运行codesign,并且可以使用自签名证书来创建证书,但这是最大的麻烦,并且不一定能成功。

如果您已登录开发人员门户并允许Xcode为您管理签名标识,则Xcode应该自动创建“ Mac Developer”代码签名证书。

您可以使用以下方法验证您是否具有代码签名身份:

security find-identity -v -p codesigning

这将列出所有有效的代码签名身份。

[C0的签名是使用codesign命令的问题:

dylib

使用自签名代码签名证书

注意:不建议这样做,但是对我有用。

  1. 开始钥匙串访问
  2. 选择钥匙串访问>证书助手>创建证书...
  3. 为您的证书命名,易于输入
  4. 证书类型更改为代码签名] >>
  5. 单击创建
  6. 阅读警告后单击继续
  7. 完成后单击完成
  8. (然后返回到钥匙串访问)
  9. 在“钥匙串访问”中找到您新创建的证书,然后双击它以获取详细信息
  10. 单击信任
  11. 旁边的显示三角形以显示信任首选项
  12. 使用此证书时]设置为始终信任
  13. 现在,当您运行上述codesign --force --timestamp --sign <name of certificate> <binary you want to sign> 命令列出代码签名证书时,应该会显示您的自签名证书。如果是这样,您很可能没有将Always Trust或证书类型设置为Code Signing

此时,您已经准备好执行代码签名命令,然后可以使用以下命令进行验证:

security
© www.soinside.com 2019 - 2024. All rights reserved.