Miałem kod podpisania na kext w Yosemite. Ale kextload nie działa.
Był to kod2 w wersji. codesign --verify
jest prawdziwe.
Ale kextload nie działa. Dlaczego nie załadować w Yosemite?codesigned kext Ale dlaczego nie załadować w Yosemite (10.10)
Oto mój dziennik.
Sprawdziłem z codesign -dvvv ./myKext.kext
I wszystko jest w porządku.
codesign -dvvv ./myKext.kext
zwrócony następujący:
Executable=/Path/to/myKext
Identifier=com.myKext.kext.Firewall
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20100 size=317 flags=0x0(none) hashes=9+3 location=embedded
Hash type=sha1 size=20
CDHash=d0ff68bd8b49c650f45349c2d1570d45a8c1f148
Signature size=8544
Authority=Developer ID Application: My Kext Co., Ltd. (R2PBZJ465V)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=2014. 10. 31. 오전 11:09:35
Info.plist entries=18
TeamIdentifier=not set
Sealed Resources version=2 rules=12 files=1
Internal requirements count=1 size=188
To pokazuje, że w wersji 2.
Ale sudo kextload ./myKext.kext
wraca następujące:
/Path/to/myKext.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).
cat /var/log/system.log
Powroty:
com.apple.kextd[19]: ERROR: invalid signature for com.myKext.kext.Firewall, will not load
sudo kextutil -l ./myKext.kext
zwroty:
Diagnostics for ./myKext.kext:
Code Signing Failure: code signature is invalid
ERROR: invalid signature for com.myKext.kext.Firewall, will not load
Dlaczego nieważny podpis ?!
Mam podpisane z code2 w Yosemite.
Co zrobiłem źle znak? Ktoś mnie nauczy, proszę.
Zgaduję, ale czy Apple nie musi być zaangażowane w podpisywanie kodu, aby było ważne? – trojanfoe
Czy zażądałeś od Apple, że twój ID DeveloperID ma dodany atrybut codesign kext? – TheDarkKnight
Wygląda to na ten sam problem: http://stackoverflow.com/questions/26283158/codesigning-kext-with-kext-enabled-certificate-fails-during-kextload-code-sign – pmdj