zspherez / VoltageShift

undervoltage Tools for MacOS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Personal Signing and SIP

mattsoutherden opened this issue · comments

Hi Josh,

Following on from sicreative#84 (comment)

I'm unable to build and load the kext without disabling SIP. Though I will admit I don't have any prior experience with Xcode and certs.

I'm running a 2015 Macbook Pro with Monterey 12.2.1

I do not have an Apple Developer subscription.

What steps I have taken:

  • Clean checkout of code to ensure no prior build artefacts
  • From a new xcode install, go into Accounts and add my Apple ID.
  • Under my Apple ID, go to Manage Certificates and generate an Apple Development cert.
  • Open the VoltageShift Project
  • Under VoltageShift target -> Signing and Capabilities, set team to Matt Southerden (Personal Team)
  • Under voltageshift target, do the same.
  • Run the build.

kextload:

Error Domain=KMErrorDomain Code=29 "Authenticating extension failed: Kext com.sicreative.VoltageShift v1.24 in executable kext bundle com.sicreative.VoltageShift at /private/var/db/KernelExtensionManagement/Staging/com.sicreative.VoltageShift.bYv9Lu/VoltageShift.kext:

Authenticating extension failed: Bad code signature" UserInfo={NSLocalizedDescription=Authenticating extension failed: Kext com.sicreative.VoltageShift v1.24 in executable kext bundle com.sicreative.VoltageShift at /private/var/db/KernelExtensionManagement/Staging/com.sicreative.VoltageShift.bYv9Lu/VoltageShift.kext:

Authenticating extension failed: Bad code signature}

codesign --display -vvvv VoltageShift.kext

Identifier=com.sicreative.VoltageShift
Format=bundle with Mach-O universal (x86_64 arm64e)
CodeDirectory v=20200 size=667 flags=0x10000(runtime) hashes=13+5 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha1=24924d28b400d05509c5f4409e05b92fb19f678e
CandidateCDHashFull sha1=24924d28b400d05509c5f4409e05b92fb19f678e
CandidateCDHash sha256=e2ba2acc024e2dc3a5d54906794d4c31b8bfc04b
CandidateCDHashFull sha256=e2ba2acc024e2dc3a5d54906794d4c31b8bfc04b9bab25f05953c615d303ea55
Hash choices=sha1,sha256
CMSDigest=9e9b4552a2b03c97d9a7757b9045b218d5738d3de41bda603dd6f6c1b3ebcbdb
CMSDigestType=2
Page size=4096
CDHash=e2ba2acc024e2dc3a5d54906794d4c31b8bfc04b
Signature size=4876
Authority=Apple Development: my.name@mac.com (MY_ID)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=7 Mar 2022 at 19:58:32
Info.plist entries=25
TeamIdentifier=MY_TEAM_ID
Sealed Resources version=2 rules=13 files=1
Internal requirements count=1 size=200

I have tried setting Signing Certificate to Development or Sign to Run Locally, and I have also tried every combination of options if I turn off Automatically manage signing.

I have also tried building in Xcode directly, but with the same results.

The kext loads fine with SIP disabled.

Any help greatly appreciated.

Matt.

unfortunately i'm not an expert in kext signing, and I did not run into this issue. it is likely an issue with the way your signing is set up, rather than with this kext itself.