Tech%2FMobile App Credentials Explained

Error converting content: marked is not a function

title:: Tech/Mobile App Credentials Explained
- From Expo -https://docs.expo.dev/app-signing/app-credentials/
- iOS
- The 3 primary iOS credentials, all of which are associated with your Apple Developer account, are: 1. Distribution Certificate, 2. Provisioning Profiles, 3. Push Notification Keys
- **Distribution Certificate**
  - The distribution certificate is all about you, the developer, and not about any particular app. **You may only have one distribution certificate associated with your Apple Developer account. This certificate will be used for all of your apps.** ==If this certificate expires, your apps in production will not be affected.== However, you will need to generate a new certificate if you want to upload new apps to the App Store, or update any of your existing apps. Deleting a distribution certificate has no effect on any apps already on the App Store. You can clear the distribution certificate Expo currently has stored for your app the next time you build by running  `eas credentials`  and following the prompts.
  - **Push Notification Keys**
  - Apple Push Notification Keys (often abbreviated as APN keys) allow the associated apps to send and receive push notifications.
  - You can have a maximum of 2 APN keys associated with your Apple Developer account, and a single key can be used with any number of apps. If you revoke an APN key, all apps that rely on that key will no longer be able to send or receive push notifications until you upload a new key to replace it. Uploading a new APN key **will not** change your users' [Expo Push Tokens](https://docs.expo.dev/versions/latest/sdk/notifications/#notificationsgetexpopushtokenasync). Push notification keys do not expire. You can clear the APN key Expo currently has stored for your app by running  `eas credentials`  and following the prompts.
  - **Provisioning Profiles**
  - ==Each profile is app-specific==, meaning you will have a provisioning profile for every app you submit to the App Store. These provisioning profiles are associated with your distribution certificate, so if that is revoked or expired, you'll need to regenerate the app's provisioning profile, as well. Similar to the distribution certificate, revoking your app's provisioning profile will not have any effect on apps already on the App Store.
			  Provisioning profiles expire after 12 months, but this won't affect apps in production. You will just need to create a new one the next time you build your app by running eas build -p ios, or manually with eas credentials.
- Android
- Google requires all Android apps to be digitally signed with a certificate before they are installed on a device or updated. Usually a private key and its public certificate are stored in a keystore. In the past, APKs uploaded to the store were required to be signed with the **app signing certificate** (certificate that will be attached to the app in the Play Store), and if the keystore was lost there was no way to recover or reset it. Now, you can opt in to App Signing by Google Play and simply upload an APK signed with an **upload certificate**, and Google Play will automatically replace it with the **app signing certificate**. Both the old method (app signing certificate) and new method (upload certificate) are essentially the same mechanism, but using the new method, if your upload keystore is lost or compromised, you can contact the Google Play support team to reset the key.
- When you [upload your first release to Google Play](https://github.com/expo/fyi/blob/master/first-android-submission.md) you will see a notice about "App signing by Google Play" and "Google is protecting your app signing key". This is the default behavior and requires no action on your behalf except to press "Continue".
- If you currently manage your app signing key and want Google to manage it for you, read ["Use app signing by Google Play"](https://support.google.com/googleplay/android-developer/answer/9842756).