证书过期后,我开始收到代码签名错误.我有一个更新的证书,已过期的证书已被删除.但不知何故,Xcode使用过期证书的SHA-1设置EXPANDED_CODE_SIGN_IDENTITY.它在哪里获得这个价值?我认为它必须在某处缓存,因为密钥链中没有证书,它正在尝试用于代码签名的SHA-1.我搜索了pbxproj文件并没有找到它,也没有从项目根开始的递归grep产生任何结果.
以下是我的配置的一些细节:
项目标识在Xcode中设置如下:

当我检查钥匙串时,它会找到正确的身份:
$ security find-identity -p code signing
Policy: Code Signing
Matching identities
1) F1326572E0B71C3C8442805230CB4B33B708A2E2 "iPhone Developer: XXX XXX (C395QGL4DK)"
Run Code Online (Sandbox Code Playgroud)
在构建输出中,我看到环境变量设置不正确:
export EXPANDED_CODE_SIGN_IDENTITY=9F5616A53464FC5C003847ED620357A7BC72ABB1
Run Code Online (Sandbox Code Playgroud)
我试图用以下方法修复它:
我现在已经没有尝试过的想法了.我和其他两个开发人员一起工作,他们最初都遇到了同样的问题.但是,他们在完成我尝试的一些相同步骤后再次工作.我们都使用相同的证书,相同的配置文件和相同的项目设置.它必须是我系统上的设置或延迟缓存,但我无法找到它.
如果我能找到Xcode设置此环境变量的位置,我可以清理它,一切都应该没问题.
最近我看到一个包含大量AppStore应用程序的网站,他们通过他们的Enterprise帐户辞退了这些应用程序,让人们可以直接将它们下载到他们的iPhone/iPad上.
我想知道他们是怎么做到的?我已经通过Enterprise为Ad-Hoc创建了.ipa文件; 但他们如何将AppStore应用程序与企业帐户一起辞职呢?
我想知道答案,因为它很重要,我们应该考虑使用企业帐户重新分配我们的appstore应用程序的更多安全挑战.
我有一个电子应用程序,最初是随个人开发人员的证书一起分发的。
我现在想使用我组织的证书签署该应用程序的下一个更新,但是当我这样做时,现有安装(在自动更新时)会抛出不满足代码要求的错误。
有没有办法使用旧证书和新证书正确签署电子应用程序?我想防止我现有的用户被打扰。
任何帮助表示赞赏!
谢谢
code-signing code-signing-certificate codesign electron electron-builder
我已经编写了一个Mac OSX应用程序(MyApp.app),但是当我发布它时,人们会收到一条弹出消息:
“MyApp” can’t be opened because the identity of the developer cannot be confirmed.
所以我得到了一个Apple开发者ID,codesign因为它不是Xcode应用程序签名,理论上应根据以下内容修复它:https:
//help.apple.com/xcode/mac/current/#/dev1cc22a95c
当我按照说明进行签名时,似乎已经确认:
$ spctl -a -v MyApp.app
MyApp.app: accepted
source=Developer ID
Run Code Online (Sandbox Code Playgroud)
但是当我打开它时:
$ open MyApp.app
Run Code Online (Sandbox Code Playgroud)
根据帮助我得到相同的消息而不是消息.我的安全设置已启用Allow app downloaded from: App Store and identified developers.
我在这里错过了什么?
我尝试使用以下方法进行编码:
/usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个errSecInternalComponent错误.
code-signing code-signing-certificate codesign ios macos-high-sierra
注意:这个问题看起来很相似,但又有所不同。这里的错误是关于没有团队 ID 的文件,而链接的答案是关于对根本没有签名的文件进行临时签名。那里的答案(解释如何临时签名)并不能解决这里的问题。
尝试运行链接到动态库的可执行文件,出现以下错误:
Library not loaded:
[...]
Reason: tried:
<lib> not valid for use in process: mapped file has no Team ID and is not a
platform binary (signed with custom identity or adhoc?))
Run Code Online (Sandbox Code Playgroud)
如何检查签名并修复它?
我是iPhone开发的新手.我想让Xcode在手机上运行一个应用程序.
该应用程序在模拟器中工作正常.最初我遇到了错误:可执行文件使用无效的权利签名
我按照这里的步骤操作: 可执行文件使用无效的权利签名
但现在我得到的退出代码为11.我检查了代码签名的文档,但我找不到退出代码11(http://gemma.apple.com/mac/library/documentation/Darwin/Reference /ManPages/man1/codesign.1.html)
以下是我得到的日志.任何帮助是极大的赞赏.我正在使用iPhone OS 3.1.3.
使用配置Debug构建项目HubPages的HubPages
协同设计构建/调试-的iPhoneOS/HubPages.app坎德拉/用户/ larryfreeman/SRC /集线器/移动/ HubPages的/生成/ iphone SETENV IGNORE_CODESIGN_ALLOCATE_RADAR_7181968 /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate SETENV PATH"/开发人员/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin "在/ usr/bin中/协同设计-f -s" iPhone开发人员:拉里弗里曼(LT6G4W62Z2)" --resource规则= /用户/ larryfreeman/SRC /集线器/移动/ HubPages的/生成/ iphone /建造/调试-的iPhoneOS/HubPages.app/Entitlements.plist --entitlements /用户/ larryfreeman/SRC /集线器/移动/ HubPages的/生成/ iphone /建造/ HubPages.build /调试-的iPhoneOS/HubPages.build/HubPages.xcent /用户/ larryfreeman/SRC /集线器/移动/ HubPages的/生成/ iphone /建造/调试 - 的iPhoneOS/HubPages.app
命令/ usr/bin/codesign失败,退出代码为11
谢谢!
-Larry
我正在尝试使用codesign命令行工具检索应用程序的证书过期日期,但我似乎无法找到证书过期的日期.有任何想法吗?
错误:嵌入式二进制文件未使用与父应用程序相同的证书进行签名.验证嵌入式二进制目标的代码符号设置是否与父应用程序匹配.
另外,为什么我的个人资料会被XC通配符配置文件取代?
我有一个.ipa文件,我需要辞职.我尝试按照objc.io博客中的说明进行操作:
$ codesign -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)
但这还不够.当我做代码签名时,我得到这样的东西:
$ codesign -d --entitlements - Example.app/Example
Executable=/Users/myuser/Payload/Example.app/Example
Run Code Online (Sandbox Code Playgroud)
我没有列出任何权利.
但是,如果我codesign -d --entitlements从xCode获取原始IPA文件,我会得到:
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>UFAYDHAUP.com.company.example</string>
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
<key>com.apple.developer.team-identifier</key>
<string>UFAYDHAUP</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>UFAYDHAUP.com.company.example</string>
</array>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)
我试过下面这一行
codesign --entitlements Example.app/archived-expanded-entitlements.xcent -f -s 'iPhone Developer: Thomas Kollbach (7TPNXN7G6K)' Example.app
Run Code Online (Sandbox Code Playgroud)
但以下键不包括在内:
那么我该怎么做呢?我没有权利文件,在xCode 7中,只检查功能.而我所拥有的只是Apple Push通知.
最后澄清我的要求:
codesign ×10
ios ×5
xcode ×5
macos ×3
code-signing ×2
binary ×1
certificate ×1
electron ×1
ipa ×1
iphone ×1