I tried to codesign using:
/usr/bin/codesign -f -s $IDENTITY --keychain $KEYCHAIN --entitlements $ENTITLEMENTS Payload/Test.app
But I get an errSecInternalComponent
error.
I too got the same error from code signing. It seems to be mostly bcoz of keychain access. It is not just enough that keychain has to be in unlocked state as suggested in most of the post.
I did the following steps to resolve this.
Let the Login (or wherever your code signing identity is present) Keychain be in Locked state. To do it open Keychain Access, right click the login keychain and select 'Lock Keychain "login"'.
Execute the command line.
It seems command line needs the password to be given when it is prompted. Otherwise, the error keeps on coming even when the keychain is in unlocked state.
Hope it helps.