2014-10-09 4 views
9

So haben wir ein Zertifikat, das uns erlaubt, Kexts, zu signieren, aber wenn wir> sudo kextload friendly.kext ausführen, schlägt es fehl und wir unterschreiben die Kext wir wollen, und es ist unterzeichnet, hier einig Diagnoseausgang zu beweisen:CoDesign Kext mit Kext aktiviert Zertifikat schlägt fehl während Kextload, "Code Signatur ungültig"

Co-Design --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 

Co-Design -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 

Co-Design --verify -vvvv friendly.kext

friendly.kext: valid on disk 
friendly.kext: satisfies its Designated Requirement 

Es sieht aus wie es richtig unterzeichnet hat; Allerdings, wenn ich laufen> 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 

Ich denke, entweder ich das Zertifikat falsch heruntergeladen (wir haben auf jeden Fall für kext Unterzeichnung genehmigt), obwohl ich das Zertifikat einmal versucht redownloading vor Das ist vielleicht nicht das Problem. Ansonsten ist es die Art, wie ich unterschreibe. Ich denke, vielleicht hat es etwas mit den Berechtigungen zu tun, die ich vor dem Unterschreiben gesetzt habe?

Hat jemand dieses Problem schon mal gesehen?

Vielen Dank im Voraus!

Antwort

12

Das Kext-Signaturzertifikat muss die Erweiterung "(1.2.840.113635.100.6.1.18)" haben - dies bezeichnet es als Kext-fähiges Zertifikat. Sie können dies leicht überprüfen, indem Sie es in Keychain Access.app anzeigen. (es ist in der Nähe der unteren, unterhalb der Erweiterung "(1.2.840.113635.100.6.1.13)", die ich denke für Apps verwendet und damit in allen Entwickler-ID-Zertifikaten)

+0

Ja, also ich hatte ein Shell-Skript, das ausgeführt wurde dass ich vergessen habe zu aktualisieren, aber grundsätzlich über meine korrekte Signatur signiert habe. Also habe ich richtig signiert, aber dann würde das Shell-Skript einfach mit dem ungültigen Zertifikat gleich drauf haha. Gerade war gestern nicht am Ball –

+0

Offenbar Kext Signing ist nicht mehr für neue Zertifikate verfügbar ... diejenigen, die sie bereits haben, viel Spaß! http://stackoverflow.com/questions/26671885/codesigned-kext-but-why-not-load-in-yosemite10-10 – gimix

+0

@ Gimix, soweit ich weiß, Kext Unterzeichnung wurde nie standardmäßig auf Developer ID-Zertifikate aktiviert. Kext-Signaturprüfung wurde mit OS X 10.9 eingeführt, und meine Kunden haben die kext-fähige Entwickler-ID angefordert, als 10.9 noch in der Betaversion war. – pmdj

Verwandte Themen