Quindi abbiamo un certificato che ci consente di firmare kexts, ma quando eseguiamo> sudo kextload friendly.kext, fallisce e firmiamo il kext vogliamo, e per dimostrarlo è firmato, ecco qualche uscita di diagnosi:Il codesigning di Kext con certificato abilitato kext fallisce durante kextload, "firma codice non valida"
codesign --verify -vvvv friendly.kext
friendly.kext: valid on disk
friendly.kext: satisfies its Designated Requirement
spctl -a -vvvv friendly.kext
friendly.kext: accepted
source=Developer ID
origin=Developer ID Application: Friendly Corporation
/Library/Extensions
codesign -dvvv friendly.kext
Executable=/Library/Extensions/friendly.kext/Contents/MacOS/friendly
Identifier=com.friendly.friendly
Format=bundle with Mach-O thin (x86_64)
CodeDirectory v=20200 size=502 flags=0x0(none) hashes=18+3 location=embedded
Hash type=sha1 size=20
CDHash=a1e2bf8d53ea67c6cfe9fc3d6d2001fe56c838a7
Signature size=8528
Authority=Developer ID Application: Friendly Corporation
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Oct 9, 2014, 11:49:02 AM
Info.plist entries=21
TeamIdentifier=1234567890
Sealed Resources version=2 rules=12 files=1
Internal requirements count=1 size=180
codesign --verify -vvvv friendly.kext
friendly.kext: valid on disk
friendly.kext: satisfies its Designated Requirement
Sembra che è firmato correttamente; Tuttavia, quando corro> sudo kextutil -v friendly.kext:
Defaulting to kernel file '/System/Library/Kernels/kernel'
Diagnostics for /Library/Extensions/friendly.kext:
Code Signing Failure: code signature is invalid
/Library/Extensions/friendly.kext appears to be loadable (not including linkage for on-disk libraries).
ERROR: invalid signature for com.techsmith.friendly, will not load
sto pensando né ho scaricato il certificato sbagliato (abbiamo sicuramente ottenuto approvato per kext firma), anche se ho provato redownloading il certificato una volta prima quindi questo potrebbe non essere il problema. Altrimenti, è il modo in cui sto firmando. Sto pensando che forse ha qualcosa a che fare con i permessi che ho impostato su kext prima di firmarli?
Qualcuno ha già visto questo problema?
Grazie in anticipo!
Sì, così avevo uno script di shell che veniva eseguito che ho dimenticato di aggiornare, ma in pratica ho firmato la mia firma corretta. Quindi stavo firmando correttamente, ma poi lo script della shell avrebbe appena firmato con il cert non valido proprio sopra haha. Giusto non era sulla palla ieri –
A quanto pare la firma kext non è più disponibile per i nuovi certificati ... quelli che già li hanno, divertiti! http://stackoverflow.com/questions/26671885/codesigned-kext-but-why-not-load-in-yosemite10-10 – gimix
@gimix per quanto ne so, la firma kext non è mai stata abilitata sui certificati ID sviluppatore per impostazione predefinita. Il controllo della firma di Kext è stato introdotto con OS X 10.9 e i miei clienti hanno richiesto l'ID dello sviluppatore abilitato a kext quando 10.9 era ancora in versione beta. – pmdj