Post

Replies

Boosts

Views

Activity

Reply to ES_NEW_CLIENT_RESULT_ERR_NOT_ENTITLED despite a valid entitlement
Following this helped alot. One other thing I found is that building the project with the distribution provisioning profile through xcode gui built successfully. And launching this through 'launchctl' worked fine with SIP enabled.However attempting to build through the command line tool 'xcodebuild' failed when using the distribution provisioning profile, but not when using the test profile.Does anyone know why building through xcodebuild with distribution profiles fail ?
Feb ’20
Reply to ES_NEW_CLIENT_RESULT_ERR_NOT_ENTITLED despite a valid entitlement
Hi Eskimo,Thank you for your response. Btw I have acquired the proper endpoint security entitlement from apple now. and I've tried both the former and latter approach in your last comment. Please could you elaborate on this a little.Do you mean that you can build your launch Daemon as a command line tool and embed that into a app target, and place this built app in /Library/LaunchDaemons/Orcreate an app target, and build an "app" but with all the code that goes into the launchDaemon, and set this as a background app ?Orsomething else. Its really not clear to me exactly what you mean by "app-like structure" or "create an app target for your daemon" or "remove all app-specific stuff".Best Regards.
Feb ’20
Reply to com.apple.developer.endpoint-security.client Entitlement issue
Hi Eskimo,Could you please elaborate on this ? I have a built launchDaemon and want to apply the endpoint security extension entitlements I downloaded from my apple dev account.So far I've tried:1) download the provisioning profile from dev console.2) extract the entitlements into a '.entitlements' file, via 'security cms -D -i securitytool.provisionprofile > securitytool.entitlements3) applying that entitlements with 'codesign --entitlements securitytool.entitlements -f -s "[APPLICATION_ID]" [BINARY]Result:es_new_client() is getting back 'ES_NEW_CLIENT_RESULT_ERR_NOT_ENTITLED'Please could you tell me step by step how to add valid entitlements to a built launch daemon ? (I build offline on a different machine)NOTE - I have asked this in its own thread : https://forums.developer.apple.com/message/407976#407976Best Regards,Rob
Feb ’20
Reply to Developing system extensions offline
Hi Eskimo,I've built an endpointSecurity extension into a launchDaemon. This worked on a development machine with SIP disabled. I now want to add the proper EndpointSecurity entitlement I obtained through apple so I can run on machines with SIP enabled. However this comes as a provisioning profile. Can we build a launch daemon with this provisioning profile ?
Feb ’20
Reply to launch network extension and EndpointSecurity extension from launchDaemon?
Useful thing to know if anyone find this - after turning off sid protection 'crsutil disable' in recovery mode, you should use 'systemextensionsctl developer on' to allow the system extension to install from the build directory instead of /Applications.I've also found that using 'systemextensionsctl reset' before using 'systemextensionsctl uninstall' can lead to an odd state where when you install a network extension with the same name it may not work correctly, the NSXPconnection will fail to connect.also strangly enough, after using systemextensionsctl unistall, the extension will say something like, 'uninstalled will remove on reboot' but I wont actually but removed on reboot. It will eventually disappear from the list after some undetermined number of reboots. Its very odd behaviour and again can effect extensions with the same name.The best thing to do is to use 'systemextensionsctl developer on' and never explicitly uninstall the extension, just rebuild and run to 'upgrade'
Feb ’20
Reply to EndpointSecurity Code Signiture invalid
Also note that the binary appears signed :NOTE that I've tried in a fresh project to, but this is from attempting to add the endpointSecurity Extension into the FilterNetworkTraffic example that apple provided.'codesign -dvvv --entitlement :- [PATH_TO_APP]'(output slightly obfuscated with _____)Identifier=com.example.apple-samplecode.SimpleFirewall_______Format=app bundle with Mach-O thin (x86_64)CodeDirectory v=20200 size=2709 flags=0x0(none) hashes=76+5 location=embeddedHash type=sha256 size=32CandidateCDHash sha256=58331fd900707ae49b2943de6dfc27b178cfbe34CandidateCDHashFull sha256=58331fd900707ae49b2943de6dfc27b178cfbe347135ac15fb58bd7ce4e170c0Hash choices=sha256CMSDigest=58331fd900707ae49b2943de6dfc27b178cfbe347135ac15fb58bd7ce4e170c0CMSDigestType=2CDHash=58331fd900707ae49b2943de6dfc27b178cfbe34Signature size=4746Authority=Apple Development: ___________Authority=Apple Worldwide Developer Relations Certification AuthorityAuthority=Apple Root CASigned Time=Jan 23, 2020 at 10:34:54 AMInfo.plist entries=23TeamIdentifier=_________Sealed Resources version=2 rules=13 files=11Internal requirements count=1 size=224<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>com.apple.application-identifier</key> <string>______.com.example.apple-samplecode.SimpleFirewallB75W84SR5U</string> <key>com.apple.developer.endpoint-security.client</key> <true/> <key>com.apple.developer.networking.networkextension</key> <array> <string>content-filter-provider</string> </array> <key>com.apple.developer.system-extension.install</key> <true/> <key>com.apple.developer.team-identifier</key> <string>_______</string> <key>com.apple.security.app-sandbox</key> <false/> <key>com.apple.security.application-groups</key> <array> <string>_______.com.example.apple-samplecode.SimpleFirewall</string> </array> <key>com.apple.security.files.user-selected.read-only</key> <true/> <key>com.apple.security.get-task-allow</key> <true/></dict></plist>
Jan ’20