How To Fix iOS 7.1 Error: Cannot install applications because the certificate is not valid
After I upgraded to iOS 7.1, Enterprise application deployments no longer worked.
I would get the following error: “Cannot install applications because the certificate is not valid”, and the download would fail.
As it turns out, Apple changed the rules without notification again, and is now requiring https for part of the process.
For those of us who cannot easily turn on SSL, the change is a showstopper.
After researching, it became clear that Apple only needed one file to be “protected” by https: the yourApp.plist file.
Since setting up a certificate signed by a known Certificate Authority (CA) was costly and a huge delay, I opted for a hack instead: use Amazon’s S3 service to provide https for the one .plist file!
I use the S3Fox Organizer in Firefox to access S3.
- Create a new bucket (i.e. yourBucket)
- Copy the yourApp.plist file into the root directory.
- Got to the top level, select the new bucket and click on the Edit ACL button
- Make sure that the Read permission is enabled for “Everyone”, AND click the “Apply to subfolders” box (required), then click OK.
- Now edit the html file that contained the link to the old non-https location and change it like the example below.
OLD:
1 |
<a href="itms-services://?action=download-manifest&url=http://www.yourDomain.com/yourApp.plist">Get yourApp!</a> |
NEW:
1 |
<a href="itms-services://?action=download-manifest&url=https://yourBucket.s3.amazonaws.com/yourApp.plist">Get yourApp!</a> |
KK said on March 26, 2014, 1:26 am:
Thanks Eric – good tip on using s3. we were previously using an ec2 to serve the plists, and this is neater and just looks better than using say dropbox.
Note that the user will see “yourbucket.s3.amazon.aws.com wants to install yourApp” instead of whatever it was before. But this is a good quick fix while the SSL certificate update is pending.