I'm moving computer to develop on a new one, SO ! I'm trying to build application in the new one with the certificates of the older one !
I exported all from keychain, and I made the download of the files automatically (by clicking on the refresh button) on the Organizer. So here is the problem : I cannot archive any applications (1 have one application publicated into 2 differents applications on the store):
Library Organiser
Teams Organizer
Teams Organizer
Code Signin in XCODE
Error screen
I really don't understand my mistake !
I deleted all the certificates in the new machine, and after I make this video to explain how I made . There is a mistake on it, but I don't know when and where : VIDEO
I am assuming that your old Mac is the one by which you created CSR and Development and Distribution certificates.
Follow this simple steps:-
First open keychain in old mac and Export the private key as p12
Then use this .p12 file in new mac by just double clicking on it and give the password what you given.
Log in to provisioning portal and select Certificates Download both ios_developement.cer and ios_distribution.cer in new Mac. Double click on those two certificates if it successfully added to new mac's keychain then you are good to go with all the provisioning profiles associated to those certificates (You can see the associated provisioning profiles list of particular certificate in certificate section.)
Download provisioning profiles from portal and double click to add it to xcode.
If you have not saved your private keys, you have to revoke your certificates and create new ones. Else: as #Dhaval wrote: you have to export your saved keys to your keychain and your certificates will work.
all you have to do is to go into the Organizer NOT the keychain.
Select Developer profile of the left.
At the bottom of the window click export : it'll create an archive with ALL you need you can import on another xcode seat.
Related
I had a Macintosh I used to develop iPhone apps with using Xcode 4.
I now have a new Macintosh with a new install of... everything.
When opening Xcode projects built on the old Mac, I cannot run the app on the iPhone that was configured as a development iPhone.
Xcode 4 organizer tells me "Valid signing identity not found" on my provisioning profiles.
I guess this is something to do with the .certSigningRequest file I had generated before on the old Mac (I have a backup of that file), but what do I have to do with it on the new Mac?
Another strange thing, I don't see my 5 existing provisioning profiles (defined on Apple provisioning portal) in the organizer, even after a refresh and after having entered my provisioning portal login and password :
With Xcode 4.2 and later versions, including Xcode 4.6, there is a better way to migrate your entire developer profile to a new machine. On your existing machine, launch Xcode and do this:
Open the Organizer (Shift-Command-2).
Select the Devices tab.
Choose Developer Profile in the upper-left corner under LIBRARY, which may be under the heading library or under a heading called TEAMS.
Choose Export near the bottom left side of
the window. Xcode asks you to choose a file name and password.
Edit for Xcode 4.4:
With Xcode 4.4, at step 3 choose Provisioning Profiles under LIBRARY. Then select your provisioning profiles either with the mouse or Command-A.
Also, Apple is making improvements in the way they manage this aspect of Xcode, and some users have reported that the Refresh button in the lower-right corner does the trick. So try clicking Refresh first, and if that doesn't help, do the export/import sequence.
Picture for Xcode 4.6 added by WP
Edit for Xcode 5.0 or newer:
Open Xcode -> Preferences ('Command' + ',')
Select the Apple ID from the list.
Click on the SETTING icon near the bottom-left corner of window, and choose EXPORT ACCOUNTS... Xcode asks you to choose a file name and password.
On your new machine, launch Xcode and import the profile you exported above. Works like a charm.
Picture for Xcode 5.0 added by Ankur
I just run into the similar issue today. Unfortunately my HD died on me so I couldn't do the migration mentioned here in the accepted answer. I had to do the following steps:
Connect to the Apple Developer member center then the iOS
provisional portal.
Revoke my certificate.
Create a new certificate by providing a new pair of private and public key.
Remove all the previous provisioning profiles and create new ones.
Download the new provisioning profiles and install them in Xcode by just dragging
them to the Xcode icon in the dock.
The same action is also mentioned on this post.
Make sure your certificate is in the "login" keychain. Highlight the login keychain if you don't see it, search for it. Then drag the cert over the words "login". Close and re-open Xcode, ta-da.
You need to copy over the private key and certificate from your old Mac. Open Keychain Access on the old Mac and look in the Keys category of the login keychain: the key should be there. You need to export both the public and private key, then copy yourkey.pem and yourkey.p12 to the new Mac.
Importing them using Keychain Access will probably fail, at least under 10.6; you can use these commands instead:
security import yourkey.p12
security import yourkey.pem
For the error
Valid signing identity not found
see Apple's published steps to resolve this problem.
Regarding the issue of your "5 existing provisioning profiles" on the iOS Portal which are missing from your local library in Xcode 4.x Organizer > Devices tab > Provisioning Profile section under Library.
I recommend following the steps that walks you through restoring missing profiles and also covers the case of an Xcode bug in which Xcode 4.1-4.2.1 mistakenly deletes from your local library profiles which are "Active" on the iOS Portal.
You will have to go to your developer site, go to your certificates, and generate a new one for your current MAC and add it to your keychain.
And then you will need to add the Provisioning Profile again. It should work now. Basically you need to perform the same steps you did when you first got your Dev Certificate.
I had the same error but the issue was slightly different.
We have a team of developers but we all use the same Apple ID (Developer Account), so when I generated the Provisioning profile, I kept getting the same error as in the subject question. Then although I had downloaded the certificate (that gets prompted as part of the Development Provisioning Assistant steps), I was still getting that error. Then I found the issue was that our Apple Developer account was using a Certificate that was generated on my work mate machine, so I needed to revoke it, and generate a new certificate, then create the provisioning profile.
The Summary, the lesson learned is that the certificate that is used for your provisioning profile must be generated on the same computer where the provisioning profile will be used. This is especially important to consider when you have a team of developers sharing the same Apple ID.
Hope it helps somebody
My 2 cents on this error, even if not related to an export/import scenario:
when adding the mobile provisioning certificate (i.e. the PROV file), DO NOT drag the file from Finder to Keychain Access. Instead, just double click the PROV file within Finder, while keeping the Keychain Access application running somewhere.
I've actually seen my former provisioning item in Keychain (the one with yellow light) being substituted with a new, green one with same name and app ID. HTH
I faced this problem this morning when I just opened an old app with a different certificate and allowed its access to the keychain. My other app that was working pretty well, stopped working with this error. I've been pulling out my hair till now, when I simply did this:
Xcode Menu > Preferences > Accounts > THE_APPLE_ID_THAT_YOU_ARE_USING > View Details
In the new window, at the bottom left of the Signing identities press the + button and select iOS Development. It'll re-add the identity, and after that my problem is fixed now and the app is running on the device again.
My MAC OS Crashed recently. I reinstalled macOS 10.7.4 and Xcode 4.5. But all provisioning profiles were showing the following message in organizer.
Valid Signing identity not found
I struggled to find help for a couple of days. Later I realized that if you have migrated from one system to another(or formatted your system), you need to export your private key from your keychain from your old system to the new system (or new OS installed).
One can also export your developer profile/team developer profile in organizer.
Organizer > Teams > Developer Profile > Export
Hope it helps.
I had the same thing happen to me as Tiguero (thank you for your answer, it gave me hope), but here is a way to get rid of the "valid signing identity not found" error without having to delete all your provisioning profiles.
If you are on a new system and cannot retrieve your keys from another system, you do indeed have to delete and regenerate new Development and Distribution certificates for Xcode. You can do this via Xcode, or the old-fashioned way using Keychain Access.
Then what you can do is go into Provisioning, and in each tab, Development, and Distribution, click Edit next to the profile you want to update, and then Modify.
You will see a list of certificates, and you must check off the box next to the one you just made, then Submit.
Once you do this, go into your Xcode (I'm using 4.3.3)
Organizer > Devices > Library > Provisioning Profiles where you are getting the error message, and click Refresh. Once you answer the prompt to enter your developer login, Organizer will re-download the profiles, and the error message should go away.
I solved the "Valid signing identity not found" error with more or less:
Make sure that the certificate in your iOS developer program is also listed in your keychain access and is valid (compare the issue dates). If it is not, either transfer it from your old mac using the instructions from apple reference OR delete it from the website and your keychain access and then recreate it, re-download it and drag it over Xcode.
Delete any existing development or distribution provisioning profiles and recreate them based on your new certificate, redownload them and verify from keychain access that everything is valid.
It seems that you can transfer your Certificates and Provisioning profiles from one machine to the other, so if you are having issues in setting up your certificate and/or profiles because you migrated your Dev machine, have a look at this:
how to transfer xcode certificates between macs
The trick for me was discovering that even though I could see the developer cert under login, it was not under My Certificates. The fix was to export the cert from the keychain on the old mac, then import it into My Certificates/login on the new mac.
No one has mentioned this yet, and this may not be a common problem, but I had a similar problem with Xcode 5: Make sure you have a default keychain selected in the Mac's Keychain Access. I trying out a fresh install of Mountain Lion and deleted one keychain, which happened to be the default. After setting another keychain as the default (right-click on the keychain and select Make Keychain "Keychain_name" default"), Xcode was able to set up the valid signing identities.
I had this problem because the iOS Development Certificate associated with the provisioning profile was not in my keychain. I had reinstalled OSX and this was the result. I did the following:
developer.apple.com under Certificates, Identifiers & Profiles
select the corresponding (and valid) iOS Development Certificate, Download it
double click the downloaded file, it gets added to the keychain
errors in organizer go away
If you don't have a valid cert, generate a new one and make a new provisioning profile with it.
I am trying to create a distribution build with mono for days already... I got the distribution provisioning profile and the distribution certificate from our "team agent" and drag-dropped seperately onto xcode-organizer and keychain-access, but still, there's the warning message showing :
"A valid signing identity matching this profile could not be found in your keychain."
and I couldn't make the distribution build still. Any idea which step I made it wrong? Please advice; much appreciated!
Thanks,
ab.yyang
It sounds like you only have the provision file and the certificate from Apple, but not the original private key used to request the certificate.
If that's the case, you either have to ask whoever created it for a copy of private key, or you'll need to generate entirely new keys, request a new certificate and create a new provision file.
open Keychain Access
erase everything in 'Keys' and 'Certificates'
open Xcode and erase all provisioning data
goto Provisioning Portal and revoke your certificate
create a new one, and use launch assistant
If this happen after renewing the DEVELOPER CERTIFICATE,
my fix to the problem was going to the apple provision profile, modify the development provision and checkbox the certificate.(suppose to be empty checkbox near the certificate name).
then, you can : download and install the provision manually by dragging to xcode
or going to Organizer-Library(on the left)-Provision Profiles, and click the "refresh" button(in the bottom of screen), this will download the new provision profile that "connected" to the new CERTIFICATE and the warning will disappear.
If you are building to run on a physical device, you need to be enrolled in the iOS Developer Program. From there you go to the Developer Portal to generate a Provisioning Profile. That profile gets loaded to Xcode via the Organizer window.
Have you done those steps?
I developed a iphone application and submitted on iTunes. but after this i lost the system so now i want to submit updated version of this application on itunes from other system. so plz suggest me how i install the old provisioning profile certificate on other system. or revoke the previous provisioning profile.
If i revoke the old provisioning profile then application that are already installed on other devices that will work or not work? please suggest how i upload new binary.
Thanks
to submit a binary from ANY system you need:
the distribution certificate from the keychain WITH private key
the app store provisioning profile for this app
then you can build&archive the app
you have to create a new version on ITC
then in Xcode organizer you first validate then submit the app, chosing the correct provisioning profile
In case you don't have item 1 then you have to create a new certificate via the keychain utility and website.
In this case, as Cocoanetics says, you’ll need to create a new developer certificate through the iOS Provisioning Portal, following the same procedure—using Keychain Access’s “request a certificate from a certificate authority” malarkey—that you used to create it originally. You’ll then have to recreate your development and distribution provisioning profiles using that new certificate.
To avoid this kind of problem in future, it’s a good idea to use Xcode’s “Export Developer Profile” feature: it creates a single encrypted package for you that contains the private key, certificates, and provisioning profiles that you have on your system. You can then easily back up that single file to a flash drive or online storage service or whatever, and re-import it later if you somehow lose your data again. To export the profile, go to the Organizer (Cmd-Ctrl-O in Xcode 3.x, Cmd-Shift-2 and then click on the “Devices” tab in Xcode 4) and select “Developer Profile” from the left-hand sidebar.
I have enrolled on the standard iPhone Developer Program and I've successfully created a provisioning profile for my iMac. But I also have a MacBook Pro that I use to work while I'm traveling. But with the standard iPhone Developer Program there seems to be no way to have 2 computers to work, unless I spend time revoking and re-creating/re-validating certification authorities when switching machines.
Am I right? Or is there some way to use the same CA across multiple machines?
Just copy your certificate to all of the computers. You will need to export the private part of the certificate, not just the public part.
You can export your iPhone Development Certificates from Keychain.app as .p12 Files and then import them into the Keycahin.app on your other computer
iPhone SDK development on multiple computers
Sometimes it's good to be able to use several computers to develop your iPhone app. In my case my main development machine is the iMac, but summer is coming up and I may not want to stop developing just because I go out of town. Luckily I have a MacBook, on which I have also installed the iPhone SDK.
In order to test on the device when I develop using the MacBook I have to move my certificate, private key and provisioning profile to it. Here's how I do that.
Launch Keychain Access on the iMac (main development computer).
Under the Keys category I Ctrl-click the private key that has the certificate for 'iPhone Developer: ' attached to it.
In the context menu select 'Export ...'.
When saving provide a password, which will be required for importing on the other computer.
A .p12 file was saved, transfer it to the target computer.
Grab the development provisioning profile (either by downloading from the iPhone Program Portal or by grabbing the right one from ~/Library/MobileDevice/Provisioning Profiles/) and transfer it to the target computer.
Double click the .p12 file on the target computer. If you provide the correct password the key and certificate will be installed into the Keychain on the target computer.
Drag the provisioning profile onto the Xcode dock icon.
The application can now be installed on the device from the target computer, which in my case is the lovely black MacBook.
Taken From http://www.theevilboss.com/2009/06/iphone-sdk-development-on-multiple.html
I am trying to explain steps for export and import certificates
Export:
Open “Keychain Access” from your Applications > Utilities folder on your Mac
Look for the “Category” area within Keychain Access (left column, below “Keychains”
Then look for “iPhone Distribution: [name]” then expand it and highlight both the “iPhone Distribution…” row and the next row, which is the “team agent name” private key
While both rows are highlighted, right click and select “Export 2 items” in order to share
You will be saving a p12 file to your machine, and you will need to create a password for it in order to share the file (use a good password and remember the password, because you will need to share the password as well)
You are free to send both the P12 file and the password to your team member!
The next step is to install the p12 file on your team member’s system and get going! Here are the steps…
Double click on p12 file that your team member sent you. Keychain Access will open.
Enter password you were given… if you don’t have the password, go get it!
This will give you a new new private key.
Then login to “Team Agent” account on https://developer.apple.com/ and select the Select “iOS Provisioning Profile” link
Select Certificates and then Development tab and download and install certificate for Team Agent (Don’t worry! You are almost there!!!)
Select Certificates then Development tab and download to install WWDR intermediate certificate (Double click to install to keychain)
Select Certificates then Development tab and download to install WWDR intermediate certificate
Select Provisioning and then Distribution tab and download provisioning profile (More specifically the .mobileprovision file )
Finally drag onto Xcode icon to install
DONE!!
All you need is to follow the steps that Apple provides...
It instructs you to export your certs through xcode and reimport through Xcode. Works great, but make sure your username is the same on both computers or it will fail.
My iPhone application runs fine in the simulator. I'm trying to deploy it onto a physical iPhone. When I install the provisioning profile, my Organizer says "A signing identity matching this profile could not be found in your keychain."
I can't resolve this. What do I do?
A) Did you create a provisioning profile in the iPhone development portal?
B) If so, does the name in the info.plist file match the appID you created in the portal and used to create that development profile (that is, if you had created an app id of "com.fredsgreatstuff.*" in the info.plist you'd replace "com.mycompany" with "com.fredsgreatstuff")
C) Did you set PRODUCT_NAME in the project settings for all targets (to something like "mygreatapp")
From the look of the error though you must have got the development cert wrong, or not downloaded the certificate from the portal generated after you uploaded your developer signing request.
The portal has pretty good instructions at this point (that didn't used to be the case), be very careful to follow every step to the letter.
Make sure you've downloaded your certificate from the program portal. Double-click on it to create a private-public key pair in Keychain Access. The private key will be created when you download the cert and double-click on it.
If it does not, you might have to delete the certificate and create a new one. Make sure the in the certificate signing request you create, your name is exactly as you've mentioned in the portal.
Here is a really good website with a checklist on troubleshooting code signing errors:
http://www.drobnik.com/touch/2009/05/how-to-fix-code-signing-errors/
Most of its content is covered by the posts above, but it is easier to work through.
FTR, I hit the same problem that Genericrich pointed out - my Development Profile didn't have the private key, but my Distribution one did. As a workaround I just defined my Debug build to also use the Development Profile.
Make sure you have your developer certificate installed on the machine, AND that your private key installed with it. You can check this in the Keychain Access tool in your Utilities folder. The cert should expand to a private key icon with your name on it.
It might be that the "keychain" into which you installed your certificate is not currently set as your "default keychain". I had the same (or very similar problems) when my default keychain was somehow switched to a different default.
Open Keychain Access (Applications -> Utilities -> Keychain Access)
On the top left list box called "Keychains" make sure the keychain into which you installed your developer certificate (usually "login") is still bold (ie: set to the default keychain).
You can set the default keychain by right (or control) clicking on the keychain you want ("login" for example) and selecting the "Make Keychain 'xxx' Default".
Cheers.
I had the same problem with Xcode 4.0 on SL.
In the Organizer window, doing a "drag and drop" of the provisioning profile always gives a "Valid signing identity not found".
You have to use the + (add) icon and search for your provisioning profile file to upload it on your device. It just worked for me (no need to reinstall all the stuff).
Deleting all expired provisioning profiles in Xcode organizer did the trick for me. After this I clicked on the Refresh button in the organizer and the provisioning profiles have been downloaded automatically.