J'ai eu un code qui signer sur KEXT dans Yosemite. Mais Kextload a échoué. Voici mon journal. P> J'ai vérifié avec Il montre que la version 2. /path/to/mykext.kext n'a pas réussi à charger - (libkern / kxxt) non chargée
(raison non spécifiée); Vérifiez les journaux système / noyau pour des erreurs ou essayez
Kextutil (8). P>
blockQquote> com.apple.kextd [19]: Erreur: Signature invalide pour
com.mykext.kext.firewall, ne chargera pas p>
blockQuote> pourquoi est une signature invalide ?!
C'était la version2 codesign. codesign --verifier code> est vrai.
Mais Kextload est échoué. Pourquoi ne pas charger en yosemite? codesign -dvvv ./mykext.kext code> et tout va bien. P> << p>
codesign -dvvvvvvvvv ./mykext.kext code> renvoyé suivant: p>
Mais sudo kextload ./mykext.kext code> renvoie ce qui suit: p>
Cat /var/log/system.log code> retourne: p>
sudo kxttil -l ./mykext.kext code> retourne: p>
J'ai signé avec la version2 codesign dans Yosemite.
Qu'est-ce que j'ai mal fait un signe? Quelqu'un m'apprends s'il te plait. P> p>
3 Réponses :
J'ai aussi eu le même problème. Et j'ai eu la solution partageant avec vous.
Apple a changé le programme de développeur MAC et supprimé la certification pour KEXT. Donc, même si vous êtes membre du programme Mac Developer, vous n'obtiendrez pas la certification du développement KEXT, à moins que vous ne le demandiez à Identifiant du développeur et portier . P>
BTW, Apples dit, P>
"La signature KEXT est destinée à la signature des keuex ou des projets d'expédition commerciale largement distribués dans une grande organisation." P> blockQuote>
Donc, ce que nous pouvons faire, c'est exécuter notre KEXT sur le mode de développement KEXT en ajoutant le "KEX-Dev- Mode = 1" Boot-Arg. Comme, p>
xxx pré> et redémarrage. P>
Je souhaite que cela vous sera utile. P> P>
Cette réponse est obsolète à partir d'El Capitan (10.11). Voir d'autres réponses pour plus de détails.
Je suis d'accord avec ParaDevil réponse.
Pour OS X Yosemite Vous pouvez procéder comme suit:
Pour charger des KEXT non signé, le système doit avoir "Mode de développeur KEXT" activé en ajoutant "KEXT-DEV-MODE = 1" BOOT-ARG. La commande suivante (suivie d'un redémarrage) conviendrait à la préparation d'un système de test de la non-production Kexts: Â Â P> blockQuote>
xxx pré> Une fois que cela est fait, la machine sera en mesure de charger n'importe quel KXT valide; Les signatures seront toujours vérifiées, mais une vérification échouée sera juste entraîner un message de journal. Remarque: Ceci s'applique aux kexts contenant un Binary, ainsi que des kexts sans code (Plist uniquement). Le système restera en mode développeur jusqu'à ce que vous éliminiez manuellement le démarrage-arg. NVRAM et redémarrez. Vous pouvez quitter le mode Developer en redéfinissant le BOOT-ARG à vos paramètres précédents ou effacez votre démarrage-args comme suit: p> blockquote>
   P>
sudo nvram boot-args="debug=0x146 kext-dev-mode=1"
Ceci est dû au Protection de l'intégrité système introduite à El Capitan (10.11). À partir de El Capitan, l'option de démarrage KEXT-DEV-MODE n'a aucun effet. La réponse de ParaDevil ne fonctionne pas. Au lieu de cela, vous devez désactiver la sip en suivant les instructions de Cette page : p> démarrage à la récupération OS en redémarrant votre machine et en maintenant la commande et les touches R au démarrage. P> LI>
terminal de lancement dans le menu Utilitaires. P> li>
exécutez la commande suivante: p>
Lorsque vous redémarrez, la protection de l'intégrité du système doit être désactivée. P> P>
Je devine juste, mais l'Apple n'aura pas besoin d'être impliqué dans la signature du code afin de le rendre valide?
Avez-vous demandé à Apple que votre développeurId a l'attribut KEX CODESIGNEDIGNED?
Cela ressemble au même problème que ceci: Stackoverflow.com/Questtions/26283158/...