Hi,
we have a KEXT-enabled Developer ID which we are using for code signing and I have verified that the certificate contains the 1.2.840.113635.100.6.1.18 extension required. However, kextutil -tn still shows:
Untrusted kexts are not allowed
Kext with invalid signature (-67050) denied: /Library/StagedExtensions/Library/Extensions/A0587A5A-52FC-46DC-832E-81919195902C.kextAfter signing, I also extracted the signature using the instructions here to verify that the correct kext-enabled Developer ID certificate was used during the signing process.
I have "Apple Worldwide Developer Relations Certification Authority" and "Developer ID Certification Authority" certs in both the login and System keychains.
Where do I go from here?
Thanks!
I've figured it out. Turns out kexts are now denied by default -- even those signed with a valid kex-enabled Dev. ID certificate (which we have). The solution is described in this tech note:
https://developer.apple.com/library/archive/technotes/tn2459/_index.html
The first time an attempt is made to load the kext, macOS should present the user with a popup informing them that it was blocked. The user then needs to go to System Preferences > Security & Privacy in order to approve the kext. Note that the approval needs to happen within 30 minutes of the load attempt or it will disappear. Subsequent load attempts will be rejected silently but will reactivate the prompt within "Security & Privacy" -- giving the user another chance to approve the kext.
It would be helpful if the kextutil error message includes a hint to check for authorisation in "Security & Privacy" instead of just throwing an "invalid signature" error. In fact, it's quite misleading in this instance as the signature itself is valid but it's system policy which prevents loading until authorisation is granted.