Skip to main content

Signing Keys

High level overview of keys you may encounter, what they do, where they are used, and where they can be regenerated if needed.

Apple

NamePurposeNotes
VA Health and Benefits APNS Prod Key.p12Apple Push notification service certificate. Allows push notifications to be sent to our app on iOS devicesAPNS certs are managed by the VANotify team. We usually communicate with them at the #va-mobile-app-push-notifications channel in DSVA slack.
AppStoreConnectKey.p8API Key for Apple Appconnect. Fastlane utilizes this in order to get information about latest build numbers, upload builds, upload screenshots submit apps for review, and release reviewed apps to the App Store.New keys can be generated in the App Store account

Read more about the Apple signing keys

Firebase

NamePurposeNotes
GoogleService-Info.plistA GoogleService-Info.plist file contains all of the information required by the Firebase iOS SDK to connect to your Firebase project.File can be downloaded from the firebase console.
google-services.jsonUsed for Android app connections to FirebaseFile can be downloaded from the firebase console.
firebase-dist.jsonfirebase-dist.json is used to upload QA builds to Firebase App Tester.Can generate a new .json in Google Cloud

Read more about the Firebase signing keys

Google

NamePurposeNotes
service-account.jsonUsed by fastlane to allow distribution of builds to Google Play Console. Similar to firebase-dist.json.Can be generated in Google Cloud.
Play Store Upload CredentialsUsed to digitally sign our app bundles with a certificate required for Google Play Console.New keys can be generated by following the documentation. A request must be submitted to Google to replace the signing key.

Read more about the Google signing keys

Other

NamePurposeNotes
VA Build Notifier Slack Bot TokenUsed in GitHub Actions as a secret to send slack messages regarding our build automations.Tokens can be found in the Slack app as well as webhooks
Fastlane matchFastlane’s match feature is used to store/share one code signing identity to simplify code signing for iOS.MATCH_PASSWORD is generated by the fastlane CLI tool when you first run match. We also store it in GitHub Secrets.