I'm going over and playing with chrome/installer/mac/signing for
educational purposes, and I find it hard to understand when does it make
sense to have a signing config that has |run_spctl_assess| set to True.
The call to spctl takes place in validate_app() which is called from
sign_chrome() in parts.py. According to the comment above the call to
validate_app(), the function should "Display the code signature", but
when |run_spctl_assess| is True it runs an actual spctl assessment that
throws a CalledProcessError exception if the target is rejected. The
call to notarize.submit() takes place only after
_customize_and_sign_chrome(), which is the function that calls
sign_chrome(), returns, so I don't understand how calling validate_app()
with |run_spctl_assess| set to True could ever succeed.
My experiments included running spctl before and after notarization, and
the results are as expected. Before notarizing, the assessment is
rejected with "source=Unnotarized Developer ID", and after notarizing,
it is accepted with "source=Notarized Developer ID".
In addition, I encountered a comment on Apple's Developer Forums
(
https://developer.apple.com/forums/thread/661266?answerId=635119022#635119022)
where a tech support representative claims that running spctl before
notarization makes no sense.