Ho avuto un codice che firma su kext in Yosemite. Ma kextload è fallito.
Era codice di versione2. codesign --verify
è vero.
Ma kextload non è riuscito. Perché non caricare in Yosemite?codificato kext Ma perché non caricare in Yosemite (10.10)
Ecco il mio registro.
Ho controllato con codesign -dvvv ./myKext.kext
E va tutto bene.
codesign -dvvv ./myKext.kext
restituito seguente:
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
Essa mostra che la versione 2.
Ma sudo kextload ./myKext.kext
sta tornando i seguenti:
/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
rendimenti:
com.apple.kextd[19]: ERROR: invalid signature for com.myKext.kext.Firewall, will not load
sudo kextutil -l ./myKext.kext
restituisce:
Diagnostics for ./myKext.kext:
Code Signing Failure: code signature is invalid
ERROR: invalid signature for com.myKext.kext.Firewall, will not load
Perché sono firma non valida ?!
Ho firmato con il codice di versione 2 in Yosemite.
Cosa ho fatto di sbagliato segno? Qualcuno mi insegni per favore.
Sto solo supponendo, ma Apple non ha bisogno di essere coinvolto nella firma del codice per renderlo valido? – trojanfoe
Hai richiesto ad Apple che il tuo ID DeveloperID abbia aggiunto l'attributo kext codesign? – TheDarkKnight
Sembra lo stesso problema di questo: http://stackoverflow.com/questions/26283158/codesigning-kext-with-kext-enabled-certificate-fails-during-kextload-code-sign – pmdj