How do you delete a Signing Certificate in Xcode? - ios

When I go to Xcode > Preferences > Accounts and then click on Manage Certificates for my selected Apple ID, I see my list of Signing Certificates. I tried to delete the certificate from the UI but the delete option is grayed out. I then found another Stack Overflow page that said to remove certificates from Keychain Access. I found it and removed it. However, when I go back to Xcode to the same place as before the Signing Certificate is still there and the option to delete it is still grayed out (see image below). I don't get it. Why is it so hard to just let me delete my certificate?

It's not enough to delete it from your keychain, the certificate is still present in Apple Developer Center at this point.
To remove it completely do the following:
Log in to Apple Developer Center
Find the certificate in question and click it
Now click the "Revoke" button (see attached screenshot). Certificate should disappear.
Go back to Xcode and refresh the dialog. Now it should be gone.
If it's not gone after you have done this, it just means it's still present in your keychain locally, so just remove it from here as well and you should be good.

I finally deleted the Certificates in XCode.
Delete every item you think is related to certificates in Keychain Access > Keys. It will look like 'blank keys'
Back to XCode Preferences > Accounts > Manage Certificates you should see those unwanted certificates showing (x) marks.
Restart computer

To remove a certificate that appear as "Not in Keychain" in XCode, I have found the following works.
Revoke the certificate in the Apple Developer Portal (as per previous answer).
Remove any provisioning profiles that reference the (removed) certificate.

You can't really delete a certificate, apparently. You can browse them in "Certificates, Identifiers & Profiles" inside of your developer account portal, but as far as I can tell, they'll remain there until they expire, and then they'll disappear automatically.

In case it helps anyone:
I revoked also (deleted) a certificate in App Developer account.
Then I thought I had deleted the certificate too in Keychain access but kept getting error messages, when trying to upload an app update to the AppStore.
I then found out that there are two separate places in keychain access, where in one the certificate is kept (funny enough under keys, once login is selected in keychains) and in the other one the private key (of course under the item certificates in keychains). I made sure that both are deleted and now all is good.

Related

How do I delete bad certificates from Xcode 8?

I'm new to iOS development, and I can't figure out how to delete bad certificates from Xcode 8. I feel like I've searched everywhere, but I can't find a straightforward answer.
Here's what I tried (couple images below):
In Xcode, I go to Preferences and then the Accounts tab, and then I click on my Apple ID login. I have 2 different teams - a personal one, and a company enterprise team.
When I click on my personal account, and go to Manage Certificates, there's an old certificate that uses an incorrect email I used before, and it says status Not in Keychain. But when I right click on it all the options, such as Delete Certificate are grayed out. How can I delete this? I really don't want it there because it seems messy.
Then when I go to my company team, and go to Manage Certificates, there's a certificate that I had accidentally revoked through the Portal that is now named Untitled. And when I right click on it, the Delete Certificate is also grayed out.
How can I get rid of these certificates?
I had a couple of Untitled certificates as well and after a lot of digging was able to delete them through the keychain app. When you open keychain, under login / My Certificates I had a few certificates which were either expired or revoked causing them to show up as Untitled in Xcode. I simply deleted the certs in keychain and they then disappeared in Xcode.

iOS signing certificate issue

Anyone please help me to fix an issue on iOS signing identity issue. When i archive the product, I am getting the error"you have a valid distribution certificate in the member centre. but it is not installed locally"
I downloaded the certificate from the member centre and installed locally. But still I am getting the same issue.
I am able to solve the error by resetting the certificate from Xcode->preference->account->view details->signing identities->iOS distribution, all profiles associated with the certificate become inactive. Again, I need to activate all in the member centre and download from Xcode->preference->account->view details->provisioning profiles->download all.
But the above step causes the problem to other developers as the certificate is been revoked.
How to solve this issue without resetting the certificate from Xcode?
FYI: I am experiencing this issue in Xcode 7.3.
First make sure that you are using a Developer profile that is specific to you. If you have signed into an Apple Developer account (signed in through xcode's GUI) that is being shared by other team members then you will not be able to sign the code on your computer. Generating another p12 private key will cause the current p12 key assigned to that Developer profile to be revoked.
If you are sharing an account, go to Apple's Developer Center and add yourself as a team member. You will get an email to the address you add and then can follow the link to create an account. After you create your account generate a provisioning profile from the menu options and double click on the download once it completes.
Go back to Xcode and select the Xcode drop down menu. Choose Preferences from the list and highlight the profile you were using previously. Once its highlighted remove it by selecting the (-) option. Then click the (+) option and sign in to your new account. This should resolve your issue. Be sure to clean before building just in case.
If you are already using a distinct account that is only for you then you are receiving this error because you have changed machines and did not transfer the p12 key to your new device. You have two options now. First option is to use an external storage device or cloud service to transfer the p12 key to your new laptop. Second option is to generate a new p12 key from Apple's Developer portal. Double click on the download once it completes and it will be automatically added to Xcode.
Now return to Xcode. Choose Preferences from the list and highlight the profile you were using previously. Once its highlighted remove it by selecting the (-) option. Then click the (+) option and sign in to your new account. This should resolve your issue.
If you are still seeing this issue you can take these additional steps to purge old caches that could be causing the issue. Open the Keychain Access program on your Macbook. Find the any old certificates that do not have private keys associated with them. Certificates without private keys (p12) will not have a grey disclosure arrow next to them. Delete these and try again.

No iOS Development certificates found

I got a strange error in my Xcode organizer when I want to update my Provisioning profiles.
Xcode says this:
"No iOS Development certificate was found. However, there is already a certificate request pending. An Agent or Admin must approve this request before you can download your certificate."
I never experienced this before so if someone got an explanation and maybe a solution, it could be nice :).
I check on the provisioning page in the developer zone on the Apple website but I don't find something that could be broken :/
The trick that did it for me was to log into developer.apple.com and manually create a dev certificate and then manually create a provisioning profile. I have only one team with only one member (me) so there was no way for me to approve a certificate. When I tried to do it automatically through the Xcode organizer, the error just persisted.
Same error message here. Seems to have multiple sources.
Mine was that I have a developer account and joining two teams.
In one team i had no Certificates at all. In the past this did not cause any problems. In Xcode Organizer I could choose which team I try to fetch the Provisioning Profiles. And if chose the team for which I had Development Certificate the Provisioning Profiles got downloaded with no error.
I think, with the new improved Member Center starting from april 2013 the Organizer fetches automatically all team accounts - without asking for a specific team. As one team had no certificate at all, the process of fetching for all teams stop with this error message.
Solution (for this problem) is to add a Development Certificate for ALL teams.
Having just gone through this myself, I highly recommend you contact Apple Developer Program Support and have them walk you through the process of resetting your certificates and profiles. It is not a difficult thing to do manually, but there are lots of ways to muck it up (I speak from experience) AND the more people that call the more likely they are to continue improving the process.
That said, the short(-ish) answer is to delete all of your developer and installer certificates from Keychain, then delete all certificates and provisioning profiles from the portal, then create them all again from scratch, and then refresh Xcode to bring them all in.
Oh, and be sure to back it all up when you're done!
I got the same issue, and solved it by clicking my team under "Teams" in organiser. I only have one team there atm, and didn't expect that to have any impact, but it forced a reload of the profiles or so, and now it works. Hth.
My situation was that I got this message when trying to refresh my old certificates (developer + distribution) from Xcode, when they had expired due to the yearly renewal of the developer program.
For what it's worth, I managed to fix the problem by this procedure (roughly):
Delete my old "iOS Team Provisioning Profile" from my device
Open my keychain and delete the old private keys associated with with the expired certificates.
Remove the expired certificates from the list in Xcode's organizer (on the portal, they were deleted already).
Generate new certificates manually on the portal, following the instructions in detail (including downloading the new certificates and double-click to install).
After trying a new refresh in Xcode's organizer, I still got the same error message, but when checking on the device, a new provisioning profile had now been automatically created and installed, so I could forget about the error message.
You have developer access in apple developer profile. Please ask admin to approve your certificate request.When admin/agent will approve then automatically that error will be removed.
As the message says you need to log into developer.apple.com site and approve the certificate request.
If you are not the agent for your account, then you will need to get the agent to approve the request.
Oddly all it took for me was:
First do an export (just to be safe!)
Xcode 5:
In Xcode -> Preferences -> Accounts
Click the cog icon at the bottom left -> Export Accounts...
Enter a filename and password and save
Ideally, then back it up somewhere that's not your Mac (Dropbox for example) - it is encrypted so that's okay.
Then for the actual fix:
Xcode 5:
In Xcode -> Preferences -> Accounts
Select the Apple ID in the left column
Click the "-" (minus) icon at the bottom left and conf
Click the "+" (plus) icon at the bottom left -> Apple ID... and login
Everything was then just fine...
In Xcode: Menu Xcode --> Preferences --> Accounts --> View Details
Then press the refresh button in the lower left corner.
I got a slightly different message recently Nov-2021 using xcode 13.x . The message was "ios_develop.cer file not found" when I was trying to "Build" the project, even though the file was there although it was expired. I was not surprised, I hadn't built this solution for years. I do renew my Apple developer subscription every year. My son took a very old school solution to fix this that I wanted to mention in case it helps anyone. Apple tools like "Manage Certificates" wouldn't let me delete the old certificate so we deleted the certificate in File Manager and generated some new ones, but we couldn't get xcode past the "file not found" message, even with certificates created in xcode "Manage Certificates". Then my son copied the new Developer cert to the location it was looking for and renamed it to exactly the name it was looking for. Xcode then started to fuss about permissions on the new cert which we fixed in Get Info, Properties "Allow Access to All" both the public and private cert. I really thought there was zero chance this would work but go figure, all the sudden the old xcode project fully Built and we were able to place the iPhone executable on iPhones that were in the provisioning list. Refreshing that such an old style approach (placing a file where it was looked for) worked so well. Now that Apple sees that this works they will probably check to see the cert was provided only through their tools, but it should work for a while.
I have the same problem. There is indeed nothing to approve, the status of my certificates is issued, if there would be a need for provenance there would be a button to do so. To be able to continue working I just deleted the "Xcode managed" profile, created a new one, downloaded it (not using Xcode) and throw it into Organizer.
I met the same problem with an Apple ID account (admin) with two Team. Once I remove my account from one of the team, that message never bother me anymore. But in this case, if I want to refresh all provision profiles using two distinct account. Hope this will help.
Just download the provision files manually solved the problem for me.
I was able to solve this issue for myself by discovering I had a couple of CSR's that I hadn't completed. Both files had the extension .certSigningRequest and had been produced through the Member Center (not Xcode). But I had not completed the upload and certificate generation, which is what Xcode was complaining about when it said "However, there is already a certificate request pending.". Once I completed those steps the problem went away.

The identity used to sign the executable is no longer valid

I have an application that I am debugging on iPad.
2 days ago I wanted to debug a same updated application but I am having this error.
The identity used to sign the executable is no longer valid.
Please verify that your device’s clock is properly set, and that your
signing certificate is not expired.
(0xE8008018).
I don't have iPhone Developer certificate yet, but I have debugged this game once.
Neither restarting Xcode nor restarting my Mac helped.
Solution within Xcode:
In Xcode, go to Preferences --> Accounts --> View Details
Press the + symbol and select iOS Development
Press the refresh button in the lower left corner (called Download all in Xcode 7)
PS:
Sometimes it may also help to delete invalid provisioning profiles: right-click -> move to trash
I saw this error exactly one year after signing up as an Apple developer.
Try restarting XCode. It worked for me.
This may happen when your certificate expire in your Key Chain.
EDIT : I'd now recommand cert and sigh to generate your certificates and provisionning profiles. These are two commands part of the fastlane tools from KrauseFx.
Using cert & sigh:
Open a terminal and type cert
Answer the prompted questions to sect your user, password, team, app, etc.
Open a terminal and type sigh
Answer the prompted questions to sect your user, password, team, app, etc.
Select the right profile in Code Signing Identity (iPhone Developer)
Conventional way:
Just go to the new provisioning portal : Certificates, Identifier, Profiles
Login with your developer account.
Go to Certificates and click the Plus button.
Then select iOS Apps Development and click Continue.
Follow the whole process and download the newly generated certificate.
Download it and put it in your keychain.
Update your profiles from XCode Organizer devices window
Select the right profile in Code Signing Identity (iPhone Developer)
If all the above previous suggestions fail after renewing your certificate, as they did for me, browse to the following location;
~/Library/MobileDevice/Provisioning Profiles
...and delete your provisioning profiles.
Then download your provisioning profile again from;
https://developer.apple.com/account/ios/profile/profileList.action
If you are using jailcoder, make sure you jailbreak your iphone successfully. Don't forget install AppSync for IOS in Cydia.
In the latest update from xcode this problem usually occurs when your certificate has expired and xcode continues to use the old one until it has expired.
Closing xcode and opening it again will fire off an automatic process of downloading your new certificate and getting your app working.
Just close xcode right down (Cmd + Q) then open it back up again, load your project and hit play .. it will ask you if you'd like assistance to auto fix the certificate problem then you just follow the onscreen instructions and it does all the hard work for you :)
You have your provisioning profiles outdated.
xcode
Preferences
Accounts
Select your apple id
View Details (Right-bottom corner)
Download All
Run again and DONE!
This may be somewhat of an empirical approach but is worthwhile in the face of many commentators noting either "this worked for me" or "this didn't work for me". Firstly, the problem can lie in a number of locations, either your certificates (code signing identities) or your provisioning profiles. Identifying where the problem lies first before doing anything will save a lot of wasted effort. You will need to check in three places:
XCode
Keychain Access
The Developer Portal (Developer Members Centre)
OK, in XCode click on the Project (Above the Targets Heading), select Build Settings and scroll to 'Code Signing'. Expand the 'CODE_SIGNING_IDENTITY' heading and you will see a bunch of identities (Debug, Release etc.) Each one of these will match up with a certificate in Keychain Access. Find the match and check the expiry date...if it has expired you will need to update it in the Developer Portal and download it. Check EVERY identity, not just the first one you find that has expired. Also, if it has expired you will need to regenerate any provisioning profile that used the expired certificate.
If no problems with the certificates, check the expiry date of all the Provisioning Profiles. Once again, if they have expired, they will need to be regenerated.
Once complete, repeat the same process for the TARGET you are trying to build for.
None of this worked? An expired certificate is lurking in one of your provisioning profiles. A sign that this might be the case is that when you click on a CODE_SIGNING_IDENTITY the identity is below Other... eg.
This is usually a sure sign that there is an expired certificate lurking about and that one of your profiles is using it.
I faced to this problem when my membership was expired and I renewed it. I use xCode6 and I solve this problem by revoking expired developer certificate from Member Center and cleaning build folder ( alt+[Product>Clean] ). xCode handle others issue itself.
See "Replacing Expired Certificates" section on this link:
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html
I had this problem with XCode 6.3 Below is the steps that worked for me.
Go to XCode > Preferences > Accounts Select your developer account then click View Details... Click on the refresh button on the left bottom of the window. It should notify you that you're missing few certificates. Click Request. XCode automatically should download missing certificates. Click Done and it should work.
you debug it on simulator only if you don't have iPhone Developer certificate. check on left corner in
xcode you select simulator not device.
I faced the same issue, I deleted all provisioning assets from xcode & added them back, and just relaunched Xcode.
My App was loaded on to the device and it worked.
This does also happen if your developer certificate is expired. Time to pay apple and renew it :P
First: go to build settings and check, if your valid Code Signing Identity is chosen.
If that doesn't help, try the more complicated stuff
In my case, this dialog message worked
The identity used to sign the executable is no longer valid.
Please verify that your device’s clock is properly set, and that your
signing certificate is not expired.
(0xE8008018).
My certificate in Keychain Access was given status to be not valid yet in red color with expiry about one year and an hour in future. I set my time to be one hour ahead and status of the certificate became valid in green color. So, anyone out here who thinks the solution to be the xcode restart is not correct but it would be cause of time elapsed of the xcode restart to make the certificate valid. As, by clicking the Fix Issue button revokes and creates new certificate with exactly one year ahead (plus some minutes depending upon locales to raise this issue).
My solution, after nothing else worked, was to go to Keychain Access and delete all "iOS developer" keys/certificates, then let Xcode regenerate them.
Try setting the time on the mobile device and the Mac to "set date and time automatically" checkbox and restart xcode, that did it for me
The Problem here is that your profile was built on an expired certificated
-so you have to go inside the developer portal and renew your certificate if it was expired
-then regenerate the profile so it will be rebulit on the new certificate
i suggest to use the iPhone configuration utility tool to manage profiles on your mac
If your certificate is not installed locally. Or you tried running the certificate and opted to "revoke and request" a new certificate then you have the option to do that on the machine you are trying to run on
go to Preferences-> Accounts-> under your AppleId -> View Details -> under signing identities you can see the status of your certificate "Valid" or "Revoked" if revoked and you want to request a new one go to the -> + then -> the type of distribution you are trying to use.
In Xcode 5.1 - there is a self help area that did the job for me.
You'll find it in the General section after clicking on your project name under > Targets.
You should see a warning icon and a description of the issue in the Identity section (right where you type in your build/version numbers).
It noticed that there was no certificate currently stored and via some self-help boxes and a change of my password, I got it going.
These were the reasons I had this error:
The App ID didn't have my iOS Developer Certificate checked (I'm a member of an Enterprise program) and I had 2 provisioning profiles with the same App ID in my Mac. I deleted one.
Hopefully this helps someone.
I tried all of the above. I kept getting the error about the UUID not being found.
I went to the project, opened project.pbxproj and found all instances of the UUID (2) and deleted the UUID (not the entire line).
Fixed the problem.
I fixed this issue by selecting the correct team within Xcode (I'm part of multiple teams). Also, I revoked my certificate, requested a new one, uploaded that, and then re-downloaded it.
Experienced the same issue. Was an issue with an expired certificate. You'll need to create a new cert and corresponding prov profile. Follow dulgan's advice for doing so.
Removed the profiles from the directory on your machine: "~/Library/MobileDevice/Provisioning Profiles". And logged to apple developer centre and edited the specific provisioning profile and selected the certificate for provisioning profile and generated the profile again. Installed the new profile and it worked for me.
Found another way this occurs today. When you edit your provisioning profile after a certificate change you can see the certificates selected says 2 of 1 certificates selected (if you just use 1 certificate). Just by unselecting and reselecting the certificate you can regenerate and install the profile and it solves the problem.
#vomako 's solution almost solved my problem but I had to take another couple of steps.
I refer to the following...
In Xcode 6.1.1, I went to Preferences --> Accounts --> View Details
After upgrading to Xcode 6.1.1, the main issue for me that the >View Details button was greyed out.
I had to delete my account, restart Xcode, then add my developer account back in.
After this step, I could yet again view details and refresh my provisioning profiles.
I selected None from Team dropdown in target general settings. Then selected the original team. Xcode shows some spinner next to it. Wait for it to complete and then everything works. Tried it in Xcode 6.2
I had this problem several times, normally it can be solved by close-reopen Xcode.
I did delete derived data from Xcode organizer. It eventually works
Today I faced this issue on my Xcode 6.3 public release.
I tried to restart Xcode several times but issue remained there.
What worked for me is
Manually create a new development profile at "http://developer.apple.com"
download and install this new profile, select this new profile from xcode build and run.

iPhone app signing: A valid signing identity matching this profile could not be found in your keychain

I'm pulling my hair out over this. I just downloaded the iPhone 3.0 SDK, but now I can't get my provisioning profiles to work. Here is what I have tried:
Delete all provisioning profiles
Delete login keychain
Create new "login" keychain, make it
default
Create a new certificate signing request
Create new developer and distribution
certificates in the Apple developer center
Download and install them
Download the WWDR certificate and install it
Create a new provisioning profile and
double click it to install
All the certificates report as valid, but Xcode still won't recognize them. What should I try next?
Edit:
I completely re-installed Mac OS X and from a fresh install installed the 3.0 SDK and still have the same problem.
I had the same problem: I first downloaded my certificates to my small MacBook while on the run. When trying to install the certificates on my iMac... then I ran into the problems described on this page.
After spending hours pulling my hair out like many of you, I performed the following steps to fix it:
Close all your stuff except your webpage that should be logged into App Dev center.
Open Xcode. Click WINDOW > ORGANIZER. Then click the Devices tab and select "Provisioning Profiles" on the left.
That should bring up your provisioning profiles. Highlight one by one (if more than 1), right click and delete profile. Yes, just do it! Delete them all! (I kept making a new one after a new one trying to make the thing work.)
From the first page you see after logging into the App Dev Center on the right side click "iOS PROVISIONING PORTAL" > (do not "launch assistant"). Instead click on the left side. Select CERTIFICATES. You will probably have just one line listed with your name/company - from there click on the right side REVOKE. Click OK to verify that's what you want to do.
On the same page click DEVICES. Click the box next to your device you are trying to provision and click REMOVE SELECTED. Again click OK to verify.
Wait about 2 minutes to let Apple do their thing.
Now click on "HOME" that is on the left side navigation.
Click "Launch Assistant"
create a new app ID - call it whatever you want. Just make sure it's unique enough to know that's the one you just created because the others you've been messing with all day will not be deleted from Apples Dev Center.
You should be able to follow the rest of the Assistant without troubles -- the main thing is you just had to delete your old provision profiles and start over.
Good Luck!
I encountered the same issue. This is because the private key of the certificate does not existing on your machine.
If you are now using a new machine and download the certificate from website:
You can export the certificate from the old machine and then import on the new machine.
If you share the developer account with someone:
You ask the account owner to send you an invitation and become a team member of that account. Then you can create your own certificate from scratch.
If you don't want to handle all these sh*t:
Just revoke the certificate on website and delete the copy on your local machine. Then request a new one. This should be the ultimate way for solving such issue.
Had the same problem yesterday. Now, after signing to the developer portal, for every invalid provisioning profile have a button "Renew". After renewing and downloading updated provisioning profile all seems to work as expected, so problem is definitely solved :)
Update: you may have to contact Apple to get a "Renew"-button, or they removed it -- and the solution is to just download it and add it to the keychain, no need to renew.
What I found was that I needed to drag the distribution_identity.cer file that I downloaded from the "Certificates -> Distribution" page on the developer program portal into the keychain access program, then this error went away.
I solved it by
a) go to provisioning profile page on the portal
b) Click on Edit on the provisioning profile you are having trouble (right hand side).
c) Check the Appropriate Certificate box (not checked by default) and select the correct App ID (my old one was expired)
d) Download and use the new provisioning profile. Delete the old one(s).
Apparently there are 4 different causes of this problem:
Your Keychain is missing the private key associated with your
iPhone Developer or iPhone
Distribution certificate.
Your Keychain is missing the Apple Worldwide Developer Relations
Intermediate Certificate.
Your certificate was revoked or has expired.
Online Certificate Status Protocol (OCSP) or Certificate
Revocation List (CRL) are turned on in
Keychain Access preferences
.
After carefully going through the thread here and checking all the solutions proposed by people, I can confidently claim this, after following the steps mentioned on Apple developer docs for creating CSR and mobile provision file, just do this!,
Launch Xcode.
Select window->Organizer
Click this refresh button and that filthy yellow bar will remove instantly.
http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg
Trust me, you only have to do this. There is no need to repeat the process again and again to make sure that you doing it the right way. Just press Refresh, enter your login credentials and it's done.
For me it only worked when the certificate and both keys were in the Login keychain. I had created a Development keychain before, but the Xcode Organizer wouldn't find the keys in there. So I moved them back to Login, quit the keychain tool - and voila, the error in Xcode Organizer went away! This was on Snow Leopard 10.6.2 with the 3.1.3 SDK.
For development certificates you can just create a new one and match it to a profile. However for distribution, like when your going to submit to Apple, you cannot do this and must use the distribution certificate the team agent created. The problem is you need the private key on your machine. It's very simple, however, for the team agent who created the certificate to copy the private key to you, below are the instructions from Apple, I hope this helps.
It is critical that you save your private key somewhere safe in the event that you need to develop on multiple computers or decide to reinstall your system OS. Without your private key, you will be unable to sign binaries in Xcode and test your application on any Apple device. When a CSR is generated, the Keychain Access application creates a private key on your login keychain. This private key is tied to your user account and cannot be reproduced if lost due to an OS reinstall. If you plan to do development and testing on multiple systems, you will need to import your private key onto all of the systems you’ll be doing work on.
To export your private key and certificate for safe-keeping and for enabling development on multiple systems, open up the Keychain Access Application and select the ‘Keys’ category.
Control-Click on the private key associated with your iPhone Development Certificate and click ‘Export Items’ in the menu. The private key is identified by the iPhone Developer: public certificate that is paired with it.
Save your key in the Personal Information Exchange (.p12) file format.
You will be prompted to create a password which is used when you attempt to import this key on another computer.
You can now transfer this .p12 file between systems. Double-click on the .p12 to install it on a system. You will be prompted for the password you entered in Step 4.
The best answer I got was exporting your key, instead of just trying to import the cert file.
When you export the key from the keychain that generated the request, you get a Certificates.p12 file, which rolls the keys you need together.
Then import this into the new computer.
With keys like this, it's probably good to keep a rolled, certificate package file, because many times the "public" key, or cert file, is not enough to restore things from.
In my case, I copied the project from my iMac to my Macbook Pro and found out I didn't have my private key installed on the Macbook. So I exported my private key, copied and installed it to the Macbook, and voila it works! I've documented the information here:
http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html
Just a note with Xcode 4: in the organizer there are two different sections in the left pane:
Library > Provisioning profiles
Devices > your device > Provisioning profiles
I was always puttings my provisioning profiles into 2. and even after cleaning and installing properly it was not working. Then I discovered 1. and finally I found the refresh button. If you select 'Automatic device provisioning' in 1. and click on refresh, then everything got validated (no yellow warning in 2. anymore).
Was facing a similar issue yesterday with our CI server. The app extension could not be signed with the error
Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.
Note: I had created my provisioning profiles myself from Developer portal (not managed by Xcode).
The error was that I had created the provisioning profiles using the Distribution certificate, but the build settings were set to use the developer certificate. Changing it to use Distribution certificate solved the issue.
Summary: Match the certificate used for creating the provisioning profile in build settings too.
Did you try rebooting your Mac and your device? Lame answer, but I always try that first.
I got it working after re-doing everything and then creating an empty project with XCode and building/running it to the device. XCode showed a window asking something like: Do you want to accept the developer certificate. I pressed "Always". Only after this step I got rid of the message "A valid signing identity matching this profile could not be found in your keychain" in Organizer.
Hey guys, I had heaps of trouble with this yesterday. I went through the whole process a few times, requesting a new certificate request from the authority with the assistant, clearing out everything in the portal, uploading the certificate, creating a new profile and downloading everything. No dice.
However, check this out.
First up clear out all the certificates on the portal to start fresh.
After creating the new certificate request with the assistant, press "Show in Finder", and double click that bad boy. You should get a popup for the Certificate Assistant with a screen showing "Please specify the issuing Certificate Authority", etc. If you don't, just close it and double click again.
Now just proceed through the dialog choosing
"Request a certificate from an existing CA" - Continue
Request is "Saved to disk" - Continue
Save it where ever you like, even override the file.
At the end you should see the magic "Creating key pair"
Run over to the KeyChain access and you'll see your keys in there! Upload this certificate to the apple portal and then go through their wizard as normal, everything should work great now.
There are two different certificates for two different provisioning profiles (development and distribution). You have to install BOTH certificates in keychain. In the iPhone Developer Program Portal:
Certificates -> Development -> Download
Certificates -> Distribution -> Download
Double click both certificates. After that both certificates must appear in Keychain.
The answer is this revoke your Current Development Certificate and make a new one. follow the instructions on apples site on how to do so. Its that simple!! I had this exact problem.
Simple steps to get this done:
Start from keychain (which contains your dev key already) on your computer and create a request for certificate. Upload the request to dev site and create the certificate.
Create a profile using the certificate.
Download the profile and drop it on Xcode.
Now all the dots are connected and it should work. This works for both dev and distribution.
I logged into developer account and revoked the development certificate. After revoking and downloading the development certificate i double clicked the newly downloaded certificate and this time Private Key was there under development certificate in KeyChain Access.
A good way to ensure that this happens cleanly is to clean your login keychain completely first.
Also, a really important step is to unlock your keychain before you import the private key and public key
security unlock-keychain -p password ~/Library/Keychains/login.keychain
Import private key into login keychain :
security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain
1 identity imported.
Import public key into login keychain :
security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain
1 key imported.
I had this same problem but, it was due to my setting up "FileVault" on my Mac. I went into my keychain and set "login" to be my default and that fixed it.
"This was a bug on the Apple portal site. They were missing a necessary field in the provisioning profile. They fixed this bug late on 6/16/09. "
I don't know whether they really skipped it or if my eyes were just glazing over but....
Just in case anybody else is overlooking the same things that I did....
just as when you were developing and testing...
1) You need a DISTRIBUTION << CERTIFICATE >>
2) You need a DISTRIBUTION << PROVISIONING PROFILE >>
That is TWO STEPS on the portal in order to get the thing signed.
There I was, having created the developer CERTIFICATE and copied it to the Mobile Provisions folder, wondering why it didn't work.
As soon as I had the provisioning profile in place
* BINGO *
I had the exact same problem and tried everything. For whatever reason the solution was that all my certificates had migrated to a keychain called "microsoft_intermediate_certificates". As it probably happened during an Xcode upgrade I have absolutely no idea why, but it may help somebody.
I moved all content of the Microsoft keychain to the login keychain and everything went back to normal.
I finally got this to work after, like, 4 separate tries after incurring the same problem that was originally posted. So here's what happened, I am not sure if this is an old issue now (2009-07-09), but I will post anyway in case it is helpful to you. What worked for me... might work for you...
start anew and delete the old private keys, public keys, and certificates in the keychain
go through the whole process, request a certificate from a certificate authority, get a new public key, a new private key, and a new certificate. Note: when it worked I had exactly one private key, one public key, and one certificate
Make a new provisioning profile (which utilizes the certificate that you just made) and put that in your organizer window in Xcode. Delete all the old BS.
Run it.
Hopefully this helps.
Everyone here is very wrong. All you need is to follow the steps that Apple provides in Managing Your Digital Identities.
It instructs you to export your certificates through Xcode and reimport through Xcode. It works great, but make sure your username is the same on both computers or it will fail.
I just spent several hours on this fershlugginer issue, which cropped up after renewing my development license. To reiterate, everything was working without a hitch, then (thank you Apple!) it all got screwed up and stayed screwed up. None of the Apple official troubleshooting steps (linked to above) or possible resolution steps mentioned here resolved the issue for me.
What finally did it for me was to delete both my development and distribution certificates, revoke them in the provisioning portal, and then let Xcode AUTOMATICALLY refresh/issue them. Nothing else, in any order, was able to get both required certificates into my keychain with the private key correctly attached.
Here is what I did.
Make sure your certificates have not expired, make sure you delete all the expired ones. Get new ones etc, Once you have make sure all that is the way it should be, then focus on your project files.
in finder , go to your .xcodeproj files then show package contentes.
open project.pbxproj in xcode or textedit.
find every refrense to PROVISIONING_PROFILE and remove the GUID, just leave empty ""
Depending on your project you should have about 12+ refrences, remove all of the GUIDS.
Save file, then reopen your project in XCODE
Re select the correct provision profiles for all possible code signings( they should not all be the same)
Build your project and you should be good to go.
I think Xcode gets confused some how, and removing all the Provision Profiles from the project.pbxproj and then reselecting a valid profile will set it striaght.
If you have new mac you can go to
IOS developer center --> Provisioning Portal --> Certificates --> Development --> Revoke and create new certificate. My problem solved. My error is "Code Sign error: The identity 'iPhone Developer' doesn't match any valid, non-expired certificate/private key pair in your keychains"
What you need:
1) A private and a public key.
They have this symbol in your keychain:
2) A certificate made from the signing request of those keys
3) A provisioning profile linked to that certificate
Let's say you change computers and want to set up Xcode with provisioning profiles again. How do you do it?
Open Xcode, press ctrl + O to open the Organizer, and delete all provisioning profiles you might have installed already.
Open keychain access, and create a signing request which you save to file (when you create the request, a private and public key is created in your keychain).
Create/Update a certificate in the provisioning portal by sending apple this signing request
Download and install the newly created certificate.
Revoke your provisioning profiles and update them with the new certificate.
Download and install the newly updated provisioning profiles.

Resources