Has it been 6 months already?
My development and distribution certificates expired much to my surprise while I was sitting on the train. Well actually it had expired the previous night, but it only transpired to me the first time I wanted to Build&Go while en route to Vienna. Which mildly annoyed me at first, but then I found that I can backdate my computers clock two days and restart XCode to allow for temporary continuation of some on-device testing.
To renew my certificates I logged into the program portal which already knew that I “currently do not have a valid certificate”. I used the keychain’s certificate assistant to generate the requests saved to disk and submitted them to apple for countersigning.
One thing that confused me was that now the name of the development certificate contains some additional string. I thought that maybe that was appended because I did not remove the expired certificates first, but even when I redid the whole process I did not get rid of it. Another surprise courtesy of Apple.
Another strange thing I encountered when assigning the new certificates to provisioning profiles. Only for the development profile I had to check the certificate again and download it. Both my distribution profiles already had a fixed “Oliver Drobnik” in there. So to be save I removed all 3 profiles via Organizer and downloaded them again.
The ad-hoc and the development provisioning profile where accepted as valid when I dragged them from the downloads folder and dropped them onto Xcode, but the one for the app store showed a complaint: “A valid signing identity matching this profile could not be found in your keychain”. WTF.
So I went into the app store profile, changed nothing and hit submit. Now I saw the expiration date change and when I downloaded and installed it, everything was fine.
Note that for some unknown reason (like most things at Apple) the validity of the development certificate is limited to 3 months now half of what it was half a year ago. Distribution profiles and certificate remain valid until 1 year from now.
The only reasonable explanation that I can think of is that Apple thinks that developers have become much more unreliable recently so that their certificates endurance needs to be curtailed like this.
First I thought of maybe creating a reminder for myself to replace my development certificate in the week before the 3 months end, but then decided against that. XCode will remind me anyway in no uncertain terms. And if I am somewhere that I cannot renew my certificate for lack of internet, then that’s probably a place where I should close my MacBook Pro and direct my attention to my soon-to-be-wife whom I might be honeymooning with.