Hi guys @DTS Engineer @DTS Engineer ,
Thanks for the help so far. I've got this working now thanks to your prior help, I can now successfully do this for Endpoint Security System Extension, but I've hit another snag.
We have another component we're developing in to our product suite, that being a network filter system extension implementing NETransparentProxyProvider.
The extension for production (Developer ID Application signed + notarized) builds with:
com.apple.developer.networking.networkextension = [ app-proxy-provider-systemextension ]
But I can't get a macOS App Development profile that includes the entitlements required, for either of the App IDs involved (system extension itself, eg com.example.filter-app.network-extension, or the app which sysext is bundled in ie com.example.filter-app)
Development profiles generated via the web interface at developer.apple.com/account for both App IDs carry only the app-extension flavours of the NE providers, so the -systemextension values our binaries are signed with aren't in the profiles' allowlists, signature validation fails, and the extension won't activate on a SIP-enabled but correctly registered Mac.
I've inspected both profile types side by side (security cms -D -i app-dev.provisionprofile). The Development profile contains:
app-proxy-provider
content-filter-provider
packet-tunnel-provider
dns-proxy
dns-settings
relay
url-filter-provider
hotspot-provider
The Developer ID Application profile for the same App ID contains:
packet-tunnel-provider-systemextension
app-proxy-provider-systemextension
content-filter-provider-systemextension
dns-proxy-systemextension
dns-settings
relay
url-filter-provider
hotspot-provider
So the four providers that have a system-extension form show up in app-extension form in the Development profile and in -systemextension form in the Developer ID one. The other four values are identical in both.
To rule out a "it happens when you use the web" scenario, I tried using fastlane sigh (--development), which as far as I understand it, drives the App Store Connect API, to see if generating the development profiles via that method gives different results but I got a profile back with the exact same issue.
Right now I'm not sure how I can build a system extension NETransparentProxyProvider and sign it with my Apple Developer certificate for testing on a registered Mac/VM.
Am I doing something wrong?
Happy to send over the raw profiles etc in a DTS ticket if you feel that's the better route?
Thanks,