x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Closed] iOS certificates are "Expired" despite being brand new

I have just generated a new set of certificates and provisioning profiles for iOS deployment and imported them into Unreal. These new certificates are apparently "Expired" despite not actually expiring for 12 months from now.

Expired certificate error

I double-checked the certificates in Keychain Access and they are definitely valid:

Keychain Access

My guess is that there's some timezone conversion error happening here. I'm in Melbourne, Australia, and it's currently Daylight Saving time, so we're UTC+11:00. At time of writing, my system time is reported as Thu 22 Oct 2015 12:22:10 AEDT. I'm hoping this will correct itself in the next day or so, but it's a fair inconvenience given that I was hoping to get everything packaged up for submission today.

Below is the log output generated from opening the iOS settings section in Project Settings. Please note that I have replaced the certificate names/IDs with Xs.

 CERTIFICATE-Name:iPhone Developer: XXX XXXXXXXX (XXXXXXXXXX),Validity:VALID,StartDate:2015-09-11T14:28:17.0000000+10:00,EndDate:2016-09-10T14:28:17.0000000+10:00
 CERTIFICATE-Name:iPhone Distribution: XXX XXXXXXXX (XXXXXXXXXX),Validity:VALID,StartDate:2015-09-14T09:20:28.0000000+10:00,EndDate:2016-09-13T09:20:28.0000000+10:00
 CERTIFICATE-Name:iPhone Developer: XXX XXXXXXXX (XXXXXXXXXX),Validity:EXPIRED,StartDate:2015-10-22T10:34:55.0000000+11:00,EndDate:2016-10-21T10:34:55.0000000+11:00
 CERTIFICATE-Name:iPhone Distribution: XXX XXXXXXXX (XXXXXXXXXX),Validity:EXPIRED,StartDate:2015-10-22T10:41:06.0000000+11:00,EndDate:2016-10-21T10:41:06.0000000+11:00

Incidentally, you'll notice that there are two sets of certificates in the screenshot and log output. The "Valid" ones are from my developer account, which I was using temporarily, and the new "Invalid" ones belong to my client, for whom I have just set up a developer account. How do I remove the old certificates? I've checked in DefaultEngine.ini, but there are no entries related to this in there.

Product Version: UE 4.9
Tags:
more ▼

asked Oct 22 '15 at 01:26 AM in Packaging & Deployment

avatar image

rohoon
152 16 19 33

avatar image rohoon Oct 22 '15 at 11:40 PM

UPDATE: I waited a day and the certificates are now being reported as "Valid". There's definitely some dodgy date comparison logic in there somewhere.

avatar image zhanglei Nov 25 '15 at 09:59 AM

I also encountered the same problem today.

I tried to generate a new certificate and update the provisioning file several times, however it always says my certificate is "expired". Actually it is valid and works properly within XCode.

According to @rohoon 's suggestion, I am going to wait for one day until this problem resolves itself. I will keep update this thread then.

alt text

alt text

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

The question has been closed Aug 12 '16 at 05:42 PM by Steve Hardister for the following reason:

The question is answered, right answer was accepted


2 answers: sort voted first
  • there's a bug with date comparison in iPhonePackager.exe. My Mac is on British Summer Time and it happens for me: My old certificate got marked as expired a day too soon, and then newly created certificates are marked as expired for the first day.

I guess the way to reproduce it:

  1. Set your timezone to british summer time.

  2. Make new certificate

  3. Run /Engine/Build/BatchFiles/Mac/RunMono.sh /Engine/Binaries/DotNET/IOS/iPhonePackager.exe certificates - your newly created certificate is marked as "Expired".

  4. Change your date to 2 days in to the future and run the same command again - now your newly created certificate is valid.

Please add to JIRA if it's not there yet.

more ▼

answered Oct 23 '15 at 04:25 PM

avatar image

grisevg
141 8 15 20

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

I want to confirm this issue exists in Unreal Engine 4.10.4 as well. On Mac OS X 10.11.4 El Capitan, the quick fix to get it valid immediately is to set the system date of OS X directly to one day ahead. Restart your Unreal Engine 4 project, and your certificates should now be valid.

Don't forget to reset your date after completing the build or finishing your work.

This is a less than ideal solution, but may assist others in this situation as well. This should also work on Windows and Linux as well, so long as you have permission to adjust your system's date.

more ▼

answered Apr 05 '16 at 08:24 AM

avatar image

Sabun
48 5 9 9

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question