繁体   English   中英

如何仅使用普通的 Apple id 帐户签署 dylib? (还没有开发者账号)

[英]How can I sign a dylib using just a normal apple id account? (No developer account yet)

我有一个 dylib,为了让它能够在我的机器上运行,我必须在 xcode 的目标设置中禁用库验证。 是否可以仅出于测试目的而在没有付费开发者帐户的情况下对其进行签名? 有关如何 go 这样做的任何链接或教程都会有很大帮助。

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

建设在 Xcode

如果在 Xcode 中构建,您应该能够在项目的“ Signing and Capabilities ”窗格中启用签名并告诉它使用Team NoneSign to Run Locally all。

签署现有的dylib

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

从理论上讲,您可以使用已授权进行代码签名的任何证书运行 codesign,并且您可以使用自签名证书创建它,但这是一件非常痛苦的事情,并且不一定会成功。

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

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

security find-identity -v -p codesigning

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

签署dylib是使用 codesign 命令的问题:

codesign --force --timestamp --sign <name of certificate> <binary you want to sign>

使用自签名代码签名证书

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

  1. 启动钥匙串访问
  2. 选择Keychain Access > Certificate Assistant > 创建证书...
  3. 将您的证书命名为易于键入的名称
  4. 证书类型更改为代码签名
  5. 单击创建
  6. 阅读警告后单击继续
  7. 完成后单击完成(然后 go 返回钥匙串访问)
  8. 在 Keychain Access 中找到您新创建的证书并双击它以获取详细信息
  9. 单击信任旁边的显示三角形以显示信任首选项
  10. 使用此证书时设置为始终信任

现在,当您运行上述security命令列出代码签名证书时,您的自签名证书应该会显示出来。 如果是这样,您很可能没有将Always Trust或证书类型设置为Code Signing

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

codesign -vvvv <path to dylib>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM