2014-10-09 5 views
9

따라서 kexts에 을 서명 할 수있는 인증서가 있지만 sudo kextload friendly.kext를 실행하면 이 실패하고 kext에 서명합니다 우리가 원하는, 그리고 서명 것 증명하기 위해, 여기에 몇 가지 진단 출력입니다 :kextload 중에 kext 사용 인증서로 Kext를 코딩하면 "코드 서명이 잘못되었습니다."

통합 설계 --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 
,451,515,

통합 설계 -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 

통합 설계 --verify -vvvv friendly.kext

제대로 서명 한 것처럼 보이는
friendly.kext: valid on disk 
friendly.kext: satisfies its Designated Requirement 

; 그러나, 나는 실행할 때> sudo는 kextutil -v friendly.kext :

한번 전에 인증서를 다시 다운로드 시도하지만 내가 어느 내가 (우리가 확실히 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 

그래서 그것은 문제가되지 않을 수도 있습니다. 그렇지 않으면 서명하는 방식입니다. 나는 그들이 내가 서명하기 전에 내가 kext에 설정 한 허가와 관련이 있다고 생각하고 있나?

전에이 문제를 본 사람이 있습니까? 사전에

감사합니다!

답변

12

kext 서명 인증서의 확장명은 "(1.2.840.113635.100.6.1.18)"이어야합니다. kext 사용 인증서로 지정합니다. Keychain Access.app에서 쉽게 확인할 수 있습니다. (하단에, 확장 기능 "(1.2.840.113635.100.6.1.13)"아래에 나열되어 있습니다. 앱용으로 사용되어 모든 개발자 ID 인증서에 포함되어 있다고 생각됩니다.)

+0

그래, 내가 실행중인 셸 스크립트가 있었어. 업데이트를 잊어 버렸지 만 근본적으로 올바른 서명을 통해 서명했습니다. 그래서 나는 올바르게 서명했지만 쉘 스크립트는 잘못된 인증서를 가지고 서명 할뿐입니다. 어제 공에 없었어 –

+0

분명히 kext 서명은 새로운 인증서에 대해 더 이상 사용할 수 없습니다. 이미 이미 가지고있는 사람들은 즐기십시오! @stackoverflow.com/questions/26671885/codesigned-kext-but-why-not-load-in-yosemite10-10 – gimix

+0

@ gimix 내가 아는 한 kext 서명은 기본적으로 개발자 ID 인증서에서 활성화되지 않았습니다. Kext 서명 검사가 OS X 10.9에서 도입되었으며 클라이언트가 10.9가 여전히 베타 버전 일 때 kext 지원 개발자 ID를 요청했습니다. – pmdj