In 10.15.4 OS system,I made a dext Demo App, and can load and unload.However, after the load is completed, I enter the system-> report-> Extension interface and find that the information of my dext extension always prompts "Kext signature validation error code -67050" error.1. How do I resolve this issue? I used Mac Developer Cer + profile for compilation.2. Excuse me, Must the bundle ID of the App and the bundle ID of dext be the same?
Post
Replies
Boosts
Views
Activity
Hi, sirI am developing a dext for HID Device. The status is as follows1. My demo app can use OSSystemExtensionRequest Api load and unload my dext (but codesign is incorrect).2. I turned off SIP. And load my dext. I can see my dext in System report-> extension.3. However, I feel that dext does not match my HID device.The following are the parameters of IOKitPersonalities in my dext info.plistDoes anyone understand that the parameter is wrong?IOKitPersonalities: CFBundleIdentifierKernel ---> com.apple.iokit.IOHIDFamilyIOClass-> AppleUserHIDEventServiceIOProviderClass-> IOHIDInterfaceIOResourceMatch-> IOKitIOUserClass-> TouchEventDextDriver (just my custom class name)IOUserServerName-> com.apple.HIDTouchDriver(How to fill in the information here?)PrimaryUsage-> 5PrimaryUsagePage-> 13ProductID-> PID of my HID deviceVendorID-> VID of my HID device
Hi, sir.What is described in Apple's official document The IOKitPersonalities key is as follows: CFBundleIdentifier—The bundle ID of your driverIOClass—The Apple class containing the base behaviorIOUserClass—The name of your custom service classIOUserServerName—The bundle identifier of your driver IOProviderClass—The class that your service requires as its provider objectmy question is Is the value of CFBundleIdentifier and IOUserServerName the same?
I have requested the entitlements for driver Kit and Apple developers have agreed to the rights.
I use the following two ways to code sign my dext project. The first method is to manually set the codesign and profile directly with xCode11.5 and compile.
Use the following command line settings
codesign --verify --entitlements /Users/z/Desktop/test/TPHID.entitlements --timestamp --options=runtime -f -s "Developer ID Application: **** (*) Technology Corporation (*****)" /Users /z/Desktop/test/HID\ Driver\ Test\ Demo.app/Contents/Library/SystemExtensions/jp.co.sharp.displaysystem.touchpanel2tpkernel.dext
codesign --verify --entitlements /Users/z/Desktop/test/HIDDriverTestDemo.entitlements --timestamp --options=runtime -f -s "Developer ID Application: ** (**) Technology Corporation (********)" /Users /z/Desktop/test/HID\ Driver\ Test\ Demo.app
The result is as follows In SIP disable environment
App runs successfully and dext is loaded successfully. In SIP enable environment
App runs successfully, failed to load dext. The error returned is as follows
"Request to activate jp.co.sharp.displaysystem.touchpanel2tpkernel failed with error Error Domain=OSSystemExtensionErrorDomain Code=8 "(null)"."
I search the description of the error code is OSSystemExtensionErrorCodeSignatureInvalid.
Has anyone encountered this problem? How can I solve this problem?
I am developing a custom HID Touch Driverkit. I have applied for Apple Driverkit Entitlements and have been allowed.
In SIP enable, my dext can be successfully loaded with System extension.
The system can also recognize our device and it works normally.
I use Developer ID Cer(kext) + Profile codesign App and Dext
My App and dext have been Notarized.
My Questions are as follows
I Check dext info In the System Report->Extension interface, I found that the "loaded" field of dext is always "NO".
How to solve this problem? How does the system determine that dext loaded is YES?
I have used DTK + xCode12 to develop an application, and the build setting uses Standard architectures.
I use "lipo -archs" command to check the information and I confirm that the application is already x86_64 arm64.
My question is, can this information be obtained by the Cocoa API?
Hi,
I applied for and purchased an Apple DTK device, and installed and upgraded the system to Big Sur Beta6 (20A5364e).
I found that after rebooting and pressing cmd + R, I cannot enter the recovery mode. Always start normally.
Can you tell me how do I do?
I have a DTK Mini machine and I want to enter safe mode, but I click cmd + R and wait for a while. The system always starts normally without entering safe mode. What should I do?