Thank you Eskimo,
It’s complicated, but a key factor is your app’s designated requirement. See TN3127 Inside Code Signing: Requirements.
Do I then understand correctly that TCC uses application's designate requirements for setting up the initial access.csreq field? If I change the field will it just evaluate the requirements against the application or it also compares the access.csreq with actual the DR of the application (i.e. they match)?
This doesn’t make sense to me. Ad hoc signed code can’t use an App ID because an App ID must be authorised by a provisioning profile and a profile can only authorise code signed with signing identity whose certificate was issued by Apple. See TN3125 Inside Code Signing: Provisioning Profiles.
I'm probably using wrong term here - I should rather use a "bundle identifier". Our build environment produces macOS application bundles, which have the same bundle identifier but one is ad-hoc signed (codesign -s - ...) with restricted entitlements stripped, which is used on PR pipelines[1]. The other one is properly signed with DeveloperID distribution certificate. Problem is that machines which run the UI tests are fetching from both of these queues and even when we split them, the churn there (install/run/uninstall/repeat) seems to break a TCC a lot.
[1] This is weird but we have a few reasons for that where some are:
Our security policy is that we don't sign with production distribution certificates anything which was not reviewed and merged to master .
Using different bundle identifier is also not possible because many of the third-part integrations which we're also testing depend on the exact bundle id.
Running code unsigned on intel is also not an option - we still need to stick entitlements on executables so we don't run into problems with sandbox later.
Having provisioning profile and shared signing identity for the PR builds has a high maintenance cost because we would need to constantly update the provisioning profile with a new machine uuids (we're not small company, we're roughly of size of yours :))
Topic:
App & System Services
SubTopic:
Core OS
Tags: