Open SSL and P12 - iphone

I'm trying to use the service phone gap build and they are asking for a p.12 file. All i seem to have at the moment is a certificate file.
I obtained this file from a mac and and i'm trying to upload from a windows PC.
Does anyone have any guidance on this?

you can create a p12 file by opening you keychain access on mac and select certificates from the left list find you certificat, right click and select export.
I hope this will do the trick :)

Related

Moving Xcode Projects to different computer

I got a new computer and downloaded Xcode and transferred all my old projects to it. What all do I need to do with keychain to submit apps from new computer, or do I just need to transfer the provisioning profiles from old computer as well?
You can export your profile from the "Devices" organizer. Click on your team name, then on export (at the bottom). You can then set a password that you'll need to import the profile on the new computer. It should contain all provisioning profiles, certificates and private keys that you need.
Here's the relevant documentation page: Exporting Your Code Signing Assets to Your File System
Yep, it's quite straight-forward.
You will indeed need to transfer your Developer Certificates over.
To do this, use the Keychain Access tool, click on 'My Certificates', find your iPhone Developer certificate, select it, and then use 'Export Items...' in the file menu to export.
Then, transfer the exported certificates to your new machine. You can then just double-click on the files on the new machine to automagically add them to your local keychain.
You can also use Xcode Organiser (on your new machine) to sync your provisions with your iOS developer account.
Xcode projects are themselves totally self-contained. So bundle (zip, or whatever) it up and transfer it over, and unzip.
It should then all just work.
It's a good idea to use GIT or Subversion to hold your Xcode projects if you're going to use multiple machines to develop the same project. I do this and it works very well.
Good luck!

trouble while moving certificates into new computer

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.

How to solve "Cannot connect to server" message with wireless app distribution on iPhone iOS 4

I found the pre-release docs for this at https://developer.apple.com/iphone/prerelease/library/featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html (Developer account required)
and some more at: http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/
I'm running into issues when I click on the link to the .plist file
Install My App over the air
-- the iOS4 device reports back:
Cannot connect to www.server.edu
Server names intentionally obscured
Obviously the device can connect to the server otherwise i wouldn't be able to see the page that has the link...
Any suggestions?
This happened to me because the SSL certificate had expired. Make sure you add that to the list of things to check. Once I renewed that it started working again.
I run into the same problem. It turns out there is a typo in the plist file.
Acutally, you don't need to create this plist file.
If you are using XCode to distribute, it will generate the right plist file with the ipa file.
Follow the following steps:
1. Sign your app with the enterprise distribution certificate.
2. Once you create the archive, go to Organizer, select the archive and click Distribute.
3.select "Save for Enterpise or Ad-Hoc Deployment" and click next.
4. Make sure you select the right code signing identity, the same certificate for in house distribution and click next.
5. When prompted for save, check "Save for Enterprise Distribution". It will ask for more information.
6. Application URL must be the url pointing to your ipa file when deployed in your app distribution server. You will need to have another two image files (required as 512*512 and 57*57).
7. When clicked save, plist file and ipa file will be created in the folder you chooose.
Official Guide: http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
I haven't run into this, but the first place I'd look is the web server access logs at www.server.edu, to see if a) the request is getting to the server, and b) it's returning an error. I'd bet that the server doesn't like something about the HTTP request coming from the device. Missing cookie? Authentication required? Expecting a particular "Accept" header?
Check authentication on your server on this page and plist file request.
Because cookies of your browser do not send them to itunes on device.
Your plist file must be available without auth.

Multiple computers with a standard iPhone developer program

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.

Adding a self-signed certificate to iPhone Simulator?

I have a self-signed certificate at the endpoint of my API. I'm trying to test some things using the simulator but am getting "untrusted server certificate".
I have tried to use safari on the simulator to download the .crt file, but that doesn't seem to work.
Where does iPhone Simulator get its keychain from? How can I add a trusted certificate so my application will work?
I got it to work by creating a CA and then adding a CA certificate using the iPhone provisioning tool. Then I was able to have a certificate signed by that CA certificate on the API server and the NSConnection just worked. I was not able to get it to work using a self-signed certificate for some reason. I need to re-attempt this using the provisioning software.
My real question is how do I get this to work on the simulator? I would think that the simulator uses the keychain of the actual computer.
Simply drag & drop your .cer Files into your running Simulator window. You'll see Safari flashing and then the import dialog for your Certificate (or Certificate Authority)...
Working for iOS 7 Simulator (and i Think did work for iOS 6 too).
For those who find that the dragging and dropping of the certificate on the Simulator isn't working, there was a recent change that adds an extra step.
The Simulator must be explicitly told to trust the root CA. Do this by going to:
iOS Settings > General > About > Certificate Trust Settings > "Enable Full Trust for Root Certificate" for your particular certificate
See the full answer here:
I had this same issue for months and today I FINALLY solved it with:
ADVTrustStore
You are going to want to use a project called ADVTrustStore from github. It does some fancy magic but it will correctly install certificates into your root trust-store on the simulator.
Steps to install a custom cert
# Clone the repo
git clone https://github.com/ADVTOOLS/ADVTrustStore.git
# Enter the repo directory
cd ADVTrustStore/
# Copy your .crt file
cp somewhere/something.crt my.crt
# conver to a .pem file
openssl x509 -in my.crt -out my.pem -outform PEM
# Install the pem in the simulators
./iosCertTrustManager.py -a my.pem
Using this process I was able to get GoogleStreetView images to render correctly while behind a corporate firewall using SSL resigning with self-signed certificates
Background
I was using CharlesProxy and i noticed it was correctly installing certificates into the Simulator but they did not show up in the Settings - Profiles section. Then after some searching I discovered this tool. There are probably a few other tools out there but in my case the drag-and-drop never worked correctly for all cases. Safari would be fine but not my applications.
For anyone use OS X Catalina, please check this : https://forums.developer.apple.com/thread/124056.
Catalina is currently blocking access to Desktop, Documents and Downloads folder.
I moved certificate files to Shared folder and drag and drop the files to simulator from there.
Take a look at the shell script Charles uses to install their self signed cert into the simulator's keychain. http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
See also:
iPhone TrustStore CA certificates
http://redgreenrefactor.eu/blog/testing-https-on-iphone-simulator/
It looks like installing your own certificate in the simulator may require installing it on a device via Safari and then copying the resulting row from the device's TrustStore.sqlite3 into the simulator's.
Dragging and drop used to work but it didn't work on XCode 12 for me. What worked for me was opening Safari browser on Simulator and then typing the file URL for the .crt certificate file.
Ex.
file:///Users/[folder_path]/[certificate.crt]
After that you have to goto Simulator Settings and install the certificate by navigating into General > Profiles section.
For IOS14, after the dragging, you need go to:
General -> Profile -> select you profile -> install
and then:
General -> About -> Certificate Trust Settings -> "Enable Full Trust for Root Certificate" for your particular certificate
see also https://developer.apple.com/library/archive/qa/qa1948/_index.html
Using iPhone Backup Extractor, I copied my iPhone's TrustStore.sqlite3 into ~/Library/Application Support/iPhone Simulator/6.0/Library/Keychains, overwriting the existing file. I tried to only insert a single row with the following sqlite, but I couldn't get it working.
sqlite3 ~/backup/iOS\ Files/TrustStore.sqlite3
sqlite3>.mode insert
sqlite3>.output working.sql
sqlite3>select * from tsettings;
sqlite3>.quit
Now, working.sql has the entire contents of the tsettings table (in my case, 1 row).
sqlite3 ~/Library/Application\ Support/iPhone\ Simulator/6.0/Library/Keychains/TrustStore.sqlite3
sqlite3>INSERT INTO tsettings VALUES(X'...
sqlite3>.quit
Again, the above sqlite commands didn't work for me, but might be a good starting point for someone else. Copying the entire TrustStore.sqlite3 from the backup into the simulator worked just fine.
Take a look at the iostrust Ruby gem: http://github.com/yageek/iostrust
When I started I couldn't get "Enable Full Trust for Root Certificate" to show up. I was using the certs I generated for nginx with openssl.
What worked was exporting the development cert from Keychain Access and downloading that with Safari in the simulator. Then the "Enable Full Trust for Root Certificate" showed up and I was able to get my application working.
Also, like people above have said dragging and dropping the cert on to the simulator doesn't work anymore. You can download the cert with Safari.