--- title: "Generating App Store Certificate" slug: "generating-app-store-certificate" updated: 2022-09-29T07:06:25Z published: 2022-09-29T07:06:25Z canonical: "help.pillir.io/generating-app-store-certificate" --- > ## Documentation Index > Fetch the complete documentation index at: https://help.pillir.io/llms.txt > Use this file to discover all available pages before exploring further. # Generating App Store Certificate In the developer site ***developer.apple.com***, the user is registered as a particular organization under an **E****nterprise program or a Developer program**. The **Developer Program** enables the user to generate **App Store Certificates** while the **Enterprise Program** enables the user to generate **Enterprise Certificates**. For both the certificates there are three major steps. This document holds the information on: 1. How to manually generate **iOS certificates** 2. How to create a **Provisioning Profile** 3. How to create an **App Identifier** (For both App Store and Enterprise Apps) This document aids the customer in generating **App Store Certificate** for their Projects. ## Generating App Store certificate: Based on the role of the user, there are 3 sections available, namely: 1. **People** - where the user can add people and manage other accounts 2. **Certificates, Identifiers, and Profiles** - where the user can generate certificates 3. **App Store Connect** - where the admin settings can be accessed ![AppstoreConnect](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/AppstoreConnect.png) In the Certificates section, users can create and generate new **Certificates** and view existing certificates. ![Certificates-newpic](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Certificates-newpic.png) The users can click the **+ button** to generate a new certificate. Adding a new certificate redirects the user to a page where they are provided with multiple options for creating certificates related to **S****oftware, Services, or Intermediate Certificates.** ![SelectiOSDistribution](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SelectiOSDistribution.png) Two of the primary software certificates that Pillir focuses on are: 1. **iOS Development** - For using within the organization for app creation and debugging. 2. **i****OS App Distribution** - For customers who wish to deploy the application in the **App Store or Ad Hoc** (outside the store). For App Store certificate, **App Store or Ad Hoc (outside the store)** option is selected. The certificate is created in the following steps: 1. Once the iOS App Distribution option is selected, the user clicks **C****ontinue.** 2. The user has to upload a **Certificate Signing Request(CSR)** to generate the new certificate. This is done using the **Keychain Access**. ![CSR-new](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/CSR-new.png) 3. On opening the Keychain access, the user has to select the **Certificate Assistant** from where they can request a certificate from a **Certificate Authority.** ![image(41)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image(41).png) 4. This certificate is provided by a certificate authority to the users of a particular organization. It can be accessed by providing the **name, email, and details** in the **Certificate Assistant** popup in the Keychain Access. ![image(42)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image(42).png) The certificate is saved in the local drive. ![image(43)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image(43).png) 5. Once the certificate details are saved, it is uploaded to the developer site. ![image(44)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image(44).png) 6. The certificate details such as **Name, Type, Expiration date,** and **Created By** are displayed and the certificate is available for **D****ownload**. ![image(45)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image(45).png)7. Multiple Applications can be bound to a single certificate in the App Store. Users can locate the certificate on the System and follow a sequence of actions to **Export**. The steps are as follows: a. Locate the certificate in the system files. On double-clicking the file, it is added to Keychain Access files. ![savecertificate](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/savecertificate.png) b. Select the option “**Export Pillir Appstore Distribution**”. ![KeychainAccess-Export](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/KeychainAccess-Export.png) c. Enter the “**Keychain Access Password**” in the next popup. ![Keychain-password](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Keychain-password.png) NOTEThese CR Files are only accessible and available to the users who have created and downloaded them on their particular device where the CSR File has been generated. These CR files need to be exported and registered in a p12 format for making them accessible to other users on the platform.  ## How to generate App Identifiers? The Identifiers page can be accessed from the certificates homepage on the left. While certificates are universally accepted for the company, the App identifiers are uniquely specified for each App created in the platform. ![IdentifiersAdd](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/IdentifiersAdd.png)Clicking the **+ button** redirects users to a page with a list of identifiers. Here the users can register a **new App ID** and click **C****ontinue.** ![APPid](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/APPid.png)For **Select a typ****e** question, choose **App** and click **Continue.** ![selectatype](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/selectatype.png) The ID registration page consists of the following details: 1. **Platform** - where the App is deployed (all the iOS devices) 2. **Description** - A short description of the App needs to be entered 3. **App ID Profile** - Consists of the bundle ID given to a particular app. The general format is ***com.companyname.appname*** 4. **Capabilities** - Multiple App capabilities are listed out. Since Pillir’s EdgeReady Apps only support push notifications, only that capability is enabled. ![registerappid](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/registerappid.png) From the **Capabilities** section, The **Push Notification** option is selected. After the details are given, the user clicks **C****ontinue**. ![push notificaation-new](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/push%20notificaation-new.png) Finally, the user can verify all the entries made and click **Register**. ![ClickRegister](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/ClickRegister.png) The newly created identifier is displayed on the **Identifiers** list. ![Registeredidentifierspage](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Registeredidentifierspage.png) NOTE The bundle ID has to be unique. If a bundle ID with the same name exists already, it throws an error and the identifier cannot be created. ## Steps to create a Production SSL certificate: To configure a push notification for an App ID, a client SSL certificate that allows your notification server to connect to the Apple Push Notification Service is required. The SSL certificate can be generated by the following steps: 1. The push notification can be configured by clicking the **I****dentifier**. ![SSLcerti-clickidentifier-step1](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLcerti-clickidentifier-step1.png) 2. The user clicks the **Configure** button in the push notification option under the **C****apabilities** section. (*The identifier has to be edited and then configured.)* ![SSLcerti-configure-step2](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLcerti-configure-step2.png)3. A popup opens requesting the Push notification service SSL Certificate for both **Development and Production** environments. ![SSLcerti-popup-step3](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLcerti-popup-step3.png) NoteDevelopment SSL certificate is meant for developers and works only with Xcode. 4. For deploying the application, we select the **Production environment certificate**. The **Create a New Certificate** page opens. Select the Platform as **iOS** and upload a **Certificate Signing Request(CSR)** file. ![SSLcerti-newcertif-step4](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLcerti-newcertif-step4.png) A certificate is generated using the certificate assistant by entering the respective credentials. ![SSLCertif-certassistant-step5](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLCertif-certassistant-step5.png) The certificate is **exported** and stored in the local file. ![SSLCert-savetodisk-step6](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLCert-savetodisk-step6.png) ![SSLCert-savetodisk-step6b(1)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLCert-savetodisk-step6b(1).png) 6. Production environment certificate requests the users to select the **Platform** and provides a **link** to upload the certificate. ![SSLcert-uploadcert-step7](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLcert-uploadcert-step7.png) 7. After uploading the certificate, the user clicks **Continue**. Once the certificate is uploaded, it is available for **Download**. The certificate can be **Revoked** if not required. ![SSLCert-download-step8](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/SSLCert-download-step8.png) NOTE Similar to the Apple ID certificate, for the production certificate with the App identifier and Push notifications, a CSR certificate needs to be generated. In the Keychain access, using the certificate assistant, a new CSR production certificate is generated. The generated certificate is exported in p12 for multiple user access. ## How to create Provisioning Profiles? In the same section below the certificate and identifiers, there is an option called **Profiles** where the provisioning profiles are created. ![ProvProfile(1)](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/ProvProfile(1).png) Similar to **App identifiers**, every Mobile App will require its **own provisioning profile**. These profiles are created for development and distribution purposes. NOTE Multiple profiles can be created for a single App identifier, but there cannot be multiple identifiers for a single profile. ## Steps to create a Provisioning Profile: 1. The user has to create a **Profile for the App store** under the **Distribution** section. Once selected, the user clicks **C****ontinue.** **![](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/image-1628087150418.png)** 2. On clicking the **Continue** button, the screen is redirected to the **P****rofiles page** where the appropriate **Identifier** (created in the previous step) is selected from a dropdown list. Then the user clicks **C****ontinue** to proceed with the next step. ![Provcert-selectappid](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Provcert-selectappid.png)3. The user has to select the latest certificate generated from a list of recent certificates. 4. The provisioning profile is given a **Profile Name**. ![Provcert-profilename](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Provcert-profilename.png) 5. After all the details are furnished, click **Generate** to go to the next page. 6. Click **Download** to get the **Provisioning Profile**. ![Provcert-download](https://cdn.document360.io/718af901-247b-46be-8ace-83da21839237/Images/Documentation/Provcert-download.png) 6. A newly created profile is displayed in the **Profiles section**. NOTE 1. Multiple profiles can be created for a single App identifier, but there cannot be multiple identifiers for a single profile. 2. Since the creation of the profile does not involve any CSR certification, it can be easily downloaded, installed, and accessed on any device.