How to re codesign iPhone app binary? - iphone

I'd like to send a binary to a client without the source code.
How can here sign the app for distribution on it's own name without
recompiling everything (since he does not have the source code)
I'm not talking about adhoc distribution.
I've tried to codesign -f with another distribution profile but itunes
connect refuses it.

The client needs to send you his distribution certificate and personnal certificate with his public key, matching his iPhone developer identity, so you can compile the app with his informations.

Related

Xcode 8 export archive for client

I developed an iOS (the swift based) application for my client. I have enrolled Apple developer program and my client have different one too. My client want from me the Xcode archive, which he can publish on AppStore (he need to re sign with his certificates). He send me his provisioning profile, but I'm unable to generate the Xcode archive. It fails with:
No signing certificate "iOS Distribution" found: No "iOS Distribution" signing certificate matching team ID "XXXXXXX" with a private key was found.
I also tried to disable code signing in iOS SKD but this is not helping.
How can i solve this problem?
Your client needs to send you his iOS Distribution Certificate (exported from Keychain with his private key) and then you can archive from your xcode.
If he don't know how to do that, he can simply give you access to his Apple developer account (a limited developer access is enough) and then you can generate the iOS Distribution certificate by yourself.
I solve this problem as is written above. Client made me part of his team. So I can set provisioning and signing certificate from his team. Now I was able to generate Xcode archive and send him to my client.

verification failed as the authority is invalid

I'm trying to resign an ipa which is already signed with the developer certificate.
Now I'm resigning with the enterprise distribution certificate.
I've got proper provisioning profile, ios_distribution certificate to sign the app.
I'm following this answer Re-sign IPA (iPhone) for the resigning steps.
With this I'm successfully able to resign the ipa but when I try to install this via itools, I'm getting this error: verification failed as the authority is invalid.
Another thing is I'm resigning with the enterprise distribution certificate but still when i try to install the resigned ipa directly (keeping resigned ipa on dropbox) getting this error "safari can't download this file" which I believe should come when the app is not signed with the enterprise distribution certificate and someone try to download that file directly on iphone (not via appstore or itunes).This certificate says I can distribute this app outside the appstore, so I'm confused what I'm really missing.
I don't know about itools and the error message doesn't sound right, but it could be that
xcrun PackageApplication is copying your dev app's entitlements across to the distribution app and they don't match what's in your distribution profile. e.g get-task-allow may still be true.
If you use a distribution signing identity PackageApplication actually tries to fix this, but it just failed for me now and I get an unusable IPA. Ah, looks like it detects the "distribution-ness" of your signing identity with regular expressions. I was using the abbreviated form "My Company (ID)" form instead of "iPhone Distribution: Company Name (ID)".
If I use the longer form, the resulting binary installs fine. The more you know.
You can't install IPA files directly from Safari, you need to set up an itms anchor tag and a plist, and a bunch of absolute URLs as described here.

Application failed codesign verification, iPhone

I have made an app for the iPhone using flash CS 5.5, tested it on a device (it works fine on there) and I'm member of the development programme. I'm attempting to upload the app to the store after filling in all the information on iTunes connect. However, when I attempt to upload the ipa file through the Application Loader (Version 2.5.2) I keep encountering the same error:
'Application failed code sign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate.'
I've tried creating the certificates again but still getting the same error.
Thanks for any help :)
It means that you are not using iPhone Distribution Certificate, which is required to upload apps on the app store. I'm guessing you are using a developer certificate.
Here is link how to create distribution certificate for app store submission: Steps to create a distribtution certificate.
Next time do a search you'll get plenty questions related to this topic. For example:
Application failed codesign verification?
Try again with your release certificates, and make sure that whatever you are quoting there for making the certificate should be same as you app's plist file.
Refer to this links: Building Your App for Distribution

Three20: Application failed codesign verification

I've just made an iPhone app which includes Three20 library. I have no problem with building & running the app on device. I have no error when I build the app for distribution but when I submit the app via ApplicationLoader, I get the error "Application failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate.". I don't think I have any mistake when building because I have built many apps for distribution with the same distribution certificate & provisioning. I tried with a simple app with Three20 included and I had the same issue. So I guess this kind of error may related to Three20. I also tried to change all projects of Three20 to distribution configuration, configure the same provisioning profile as in my main project, compile all these projects one by one and then build the main project, but ... NO LUCK :(
Private Key
Do you have the private and public keys (both) in your KeyChain (ie. /Applications/Utilities/Keychain Access.app)? Note that the private and public keys are linked to the mobile provisioning profile (distribution) that you use to sign the binary in Xcode for app distribution. You need the mobile provisioning profile and private key for code signing.
Also, the private key is tied to your user account on the Mac. I believe the private key may be invalidated if you change your account name or reinstall the OS. Make sure you sign with they haven't expired (or revoked).
Certificate Authority
Make sure you have the Apple Worldwide Developer Relations Certification Authority in your Keychain and the cert hasn't expired.

How can I sign a release iphone binary provided by a 3rd party?

I have received an iPhone application developed for the company I work for by an outsourcing company. I do not have access to the source, only a compiled binary. I want to be able to sign it using our certificate, provisioning info, etc so I can submit it to the app store. How do I go about doing this? I'm aware of the existence of the codesign but can't really grok how to use it properly for iPhone from the man page.
After you have a distribution certificate created and installed, you can codesign from the Terminal like so:
cd <path to folder containing YourApp.app>
/usr/bin/codesign -f -s "iPhone Distribution: Your Company Name" --resource-rules=<full_path_to>/YourApp.app/ResourceRules.plist <full_path_to>/YourApp.app
This is what Xcode does when it signs an app.
You've paid for an application to be developed, but you didn't get the source code in the deal?
I'd conservatively assume that the application is malware and abandon it. I'd certainly not sign it with my credentials without at least auditing the binary.
How do you expect to handle bug fixes/updates?
Create a distribution certificate from your developer program and install it in your system. Now make an app store provision profile and use that to code sign the project.
You can make the app store binary same as how you make the adhoc binary. You don't need the entitlements.plist though.