cert

Fetch or generate the latest available code signing identity


Why?UsageHow does it work?Tips


cert is part of fastlane: The easiest way to automate beta deployments and releases for your iOS and Android apps.

/img/actions/cert.gif

In the gif we used cert && sigh, which will first create an iOS code signing certificate and then a provisioning profile for your app if cert succeeded.

Do you like fastlane? Be the first to know about updates and new fastlane tools

Usage

Note: It is recommended to use match according to the codesigning.guide for generating and maintaining your certificates. Use cert directly only if you want full control over what's going on and know more about codesigning.

fastlane cert

This will check if any of the available signing certificates is installed on your local machine.

Only if a new certificate needs to be created, cert will

  • Create a new private key
  • Create a new signing request
  • Generate, downloads and installs the certificate
  • Import all the generated files into your Keychain

cert will never revoke your existing certificates. If you can't create any more certificates, cert will raise an exception, which means, you have to revoke one of the existing certificates to make room for a new one.

You can pass your Apple ID:

fastlane cert -u cert@krausefx.com

For a list of available commands run

fastlane cert --help

Keep in mind, there is no way for cert to download existing certificates + private keys from the Apple Developer Portal, as the private key never leaves your computer.

Environment Variables

Run fastlane action cert to get a list of all available environment variables.

Use with sigh

cert becomes really interesting when used in fastlane in combination with sigh.

Update your Fastfile to contain the following code:

lane :beta do
  cert
  sigh(force: true)
end

force: true will make sure to re-generate the provisioning profile on each run. This will result in sigh always using the correct signing certificate, which is installed on the local machine.

How is my password stored?

cert uses the password manager from fastlane. Take a look the CredentialsManager README for more information.

Tips

Use the 'Provisioning Quicklook plugin'

Download and install the Provisioning Plugin to easily preview provisioning profile files and certificates.


cert
Supported platforms ios
Author @KrauseFx

2 Examples

cert
cert(
  development: true,
  username: "user@email.com"
)

Parameters

Key Description
development Create a development certificate instead of a distribution one
force Create a certificate even if an existing certificate exists
username Your Apple ID Username
team_id The ID of your Developer Portal team if you're in multiple teams
team_name The name of your Developer Portal team if you're in multiple teams
output_path The path to a directory in which all certificates and private keys should be stored
keychain_path Path to a custom keychain
keychain_password This might be required the first time you access certificates on a new mac. For the login/default keychain this is your account password
platform Set the provisioning profile's platform (ios, macos)


To show the documentation in your terminal, run

fastlane action cert

View source code


Back to actions