I'm setting up a macOS 10.15 Intel machine for development and am trying to get a code signing certificate. From the Apple PKI web page, I downloaded
- Apple Inc. Root
- Apple Computer, Inc. Root
- Apple Root CA – G3 Root
- Developer Authentication
- Developer ID - G1
- Worldwide Developer Relations – G3 (Expiring 2/20/2030)
I started the System Keychain application and selected the login keychain, then dragged the .cer
files to it. Then I clicked on Apple Worldwide Developer Relations Certification Authority and used the menu item Certificate Assistant ▹ Request a certificate from a certificate authority. I filled out the correct info, saved the request file, went to Apple's site, uploaded the request, and got a Mac Developer certificate. I downloaded that and dragged it to Keychain Access. The result after all that looks like this:
The
security
command line tool finds the identities (and here I've obfuscated the identifiers by replacing parts of them with ...
):
> security find-identity -p codesigning
Policy: Code Signing
Matching identities
1) 431753F56EB2677FDBDCA2... "Mac Developer: Michael Hucka (D7AL...)"
1 identities found
Valid identities only
1) 431753F56EB2677FDBDCA2... "Mac Developer: Michael Hucka (D7AL...)"
1 valid identities found
Despite all this, when I select my certificate in Keychain Access and use the menu item Certificate Assistant ▹ Evaluate "Mac Developer ...", it tells me "no root certificate found".
I've restarted the system, tried a number of variations (used the system keychain instead of the login keychain, eliminate certificates that don't seem relevant, etc.) but while all the certs are reported as "valid", the "no root certificate found" notice persists.
The problem that I'm facing is that I'm not able to use the certificate in actual development. The toolchain I'm using (PyInstaller) invokes codesign
, and that program fails with the error code errSecInternalComponent
. I assume the "no root certificate found" must be the cause.
What have I done wrong? What can I try next to resolve this problem?