iOS app: manually copy .mobileprovision file to keychain without xcode

566 views Asked by At

I want to manually add .mobileprovision to the keychain access without using xCode because I didn't develop the app with xCode. Any suggestions?

1

There are 1 answers

0
GeneralUSA On BEST ANSWER

I found a YouTube video by Kotobee to be immensely helpful.

You will need an OpenSSL. All necessary info is within this video.

My personal notes from this video:

Step 1: Need Open SSL folder

Step 2: Process of making the KEYS

https://youtu.be/yCvbbIfMnxI?t=6m

https://youtu.be/yCvbbIfMnxI?t=8m4s

1ST KEY

certificate signing request file (CSR)
open SSL file in COMMAND PROMPT (cmd)

openssl genrsa -out [keyname].key 2048
    // optional change [keyname]
    (NOTE: if issues locating openssl.cfg type at command prmpt
    set OPENSSL_conf-d:\OpenSSL-Win64\bin\openssl.cfg
    nothing will show on command prmpt, but continue)

2ND KEY

making the CertificateSigningRequest.certSigningRequest KEY

////    video timestamp around 13:00 //////
openssl req -new -key [keyname].key -out    CertificateSigningRequest.certSigningRequest -subj  "/[email protected], CN= companyName, C=US"

C=US is about the country of origin. So you may need to change this if not US.

NOTE: SEEMS LIKE ONCE YOU HAVE THE KEY FROM OPENSSL, don't need to do this process again. Not positive though, but so far seems true.

3RD KEY

https://youtu.be/yCvbbIfMnxI?t=14m52s

log into developer.apple.com account
3 steps:

STEP A:
  Certificates
    there's a DIFFERENCE between DEVELOPMENT & PRODUCTION/DISTRIBUTION

  Click the PLUS sign in upper right corner of web page.
  You can likely reUPLOAD the SAME key created under name:
    CertificateSigningRequest.certSigningRequest

  dev site will return "Your certificate is ready" to download
    file name will be
        ios_distribution.cer   for DISTRIBUTION KEY
        ios_development.cer    for DEVELOPMENT KEY

/// NOTE: SO FAR LOOKS LIKE YOU CAN USE SAME KEY ONCE MADE!

  Put your .cer file into the OpenSSL bin folder

STEP B:
  Make your APP ID via the developer.apple.com site
    https://youtu.be/yCvbbIfMnxI?t=16m58s

  THIS SECTION appears to need to change per app, especially for DISTRIBUTION
   could just use the wildcard key and be done with it for DEVELOPMENT

STEP C:  Create .mobileprovision file
(note: this will include your registered devices)
    Make an APP ID
        click on Identifiers > App IDs > 
        Explicit App:   Dev Prov Profile
        App Bundle: id="com.domain.app"
        Enabled:    Push Notifications    (can exclude this line)
    Download new .mobileprovision file from developer.apple.com into
      D:\OpenSSL-Win64\bin
    Make sure latest CertificateSigningRequest.certSigningRequest file in
      D:\OpenSSL-Win64\bin
    Along with .key file in D:\OpenSSL-Win64\bin

STEP D: Create .pem file
    In Command Prompt type:

openssl x509 -in [developer_certificate].cer -inform DER -out [app_pem_file].pem -outform PEM ios_distribution.cer OR ios_development.cer

    rename the [app_pem_file].pem file if you like -- make it similar (my thought)
    to bundle app ID name or Explicit App name
    OR
    make it same as the .key name (if recreating & not using a previous one)

    this creates the .PEM file


STEP E: Create .p12 file (final task)

    In Command Prompt type:

openssl pkcs12 -export -inkey [keyname].key -in [app_pem_file].pem -out [app_p12].p12

As I said, all this information is on the video. You don't need my personal notes to get the key. :)