xcodebuild:code signature invalid
原创 2021-05-26
MH_EXECUTE、LC_LOAD_DYLIB等类型二进制文件必须签名才能使用。重签名操作涉及两个命令行工具:codesign和security。
macOS上安装的Apple开发者证书过期后,运行一工具,提示:code signature invalid。MH_EXECUTE、LC_LOAD_DYLIB等类型二进制文件必须签名才能使用,此时需要重签。重签名操作涉及两个命令行工具:codesign和security。以动态库名称为libEaseapi.dylib说明操作步骤:
security
security是macOS系统访问keychain和安全组件的命令行工具,钥匙串访问(Keychain Access)App实际上就是调用的security命令。通过man security
查看security的具体用法。在本例中我们需要列出本机上可用的证书。
security find-identity -v -p codesigning
1) HOUD0W9JZ7TZ9KLUXI18Y69U37GAH6GXJFVK21XF "Apple Development: Easeapi Com (C7LAUUEPVY)"
1 valid identities found
//-p:指定用途查找;
//-v:仅显示可用的;
codesign
macOS的签名工具。部分可用参数:
-s:签名;
-f:强制操作,将替换掉原有签名;
-d:显示签名信息;
-v:verbose,v越多信息越多;
-i:修改bundle id;
…
查看签名信息
codesign -d -vv libEaseapi.dylib
libEaseapi.dylib: CSSMERR_TP_CERT_REVOKED
In architecture: x86_64
提示证书已经是撤销状态,需要重新签名。
重新签名
codesign -f -s 'Apple Development: Easeapi Com (C7LAUUEPVY)' libEaseapi.dylib
//或
codesign -f -s 'HOUD0W9JZ7TZ9KLUXI18Y69U37GAH6GXJFVK21XF' libEaseapi.dylib
odesign -vv libEaseapi.dylib
libEaseapi.dylib: valid on disk
libEaseapi.dylib: satisfies its Designated Requirement
重签名之后,libEaseapi.dylib即可重新使用。
相关文章:
Thread Sanitizer的原理和使用
iOS安全:使用frida-ios-dump砸壳
iOS Link Map
iOS文件系统目录结构
iOS performSelector使用int等基本数据类型的问题
发表留言
您的电子邮箱地址不会被公开,必填项已用*标注。
留言板