# Notarization

Starting in macOS Catalina, all disk images which are code signed, are also required to be “notarized” by Apple in order to be opened by end-users. Without notarization, the user will see an error that the identity and source of the disk image cannot be verified so it cannot be opened. Disk images which are not code signed, are not required to be notarized, and are able to be opened on Catalina with the caveat of having Gatekeeper path randomization enabled for applications in the disk image.

To notarize your disk image, you must have an Apple developer account and have the Xcode command line tools installed.

- In DMG Canvas’s application Settings under Notarization, add an Apple ID developer account.
  - You must set up an App-Specific password to use with Notarization for the account.
- Select the disk image in the document sidebar, and in the Gatekeeper setting turn on “Code Sign and Notarize”
- Select the code signing certificate to use.
- Select the Apple ID to use for Notarization.

During the build process, DMG Canvas will upload the disk image to Apple for notarization, and then wait for the Apple to finish notarizing the disk image. This process can take several minutes. Once notarization is complete, the disk image will be stapled with a ticket and is ready for distribution.

If you choose to “Stop Waiting” for notarization to finish after the upload has completed, you will need to manually check for the notarization status (with the `notarytool` command) and if notarization is successful, you will need to manually staple the ticket to the disk image:

    xcrun stapler staple /path/to/diskimage.dmg

An App-Specific Password is required for Notarization because Two-Factor Authentication cannot be used. See https://support.apple.com/en-us/HT204397 for how to set up a password.

The Team ID is an Apple-assigned value that designates which Apple developer team to use with notarization, for the given Apple ID. You can find your Team ID (or Team IDs) when logging into your Apple developer account, and looking at your membership details.