Vì vậy, chúng tôi có chứng chỉ cho phép chúng tôi ký kexts, nhưng khi chúng tôi chạy> sudo kextload friendly.kext, nó không thành công và chúng tôi ký kext chúng tôi muốn, và để chứng minh nó được ký kết, đây là một số kết quả chẩn đoán:Nhập Kext với chứng chỉ được bật kext không thành công trong kextload, "mã chữ ký không hợp lệ"
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
Dường như nó đã ký đúng cách; Tuy nhiên, khi tôi chạy> 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
Tôi đang nghĩ hoặc là tôi đã tải về giấy chứng nhận sai (chúng tôi chắc chắn đã được chấp thuận cho ký kext), mặc dù tôi đã cố gắng redownloading giấy chứng nhận một lần trước để có thể không phải là vấn đề. Nếu không, đó là cách tôi ký. Tôi nghĩ có lẽ nó có liên quan đến các điều khoản tôi đã đặt trên kext trước khi tôi ký chúng?
Có ai đã xem vấn đề này trước đây không?
Cảm ơn trước!
Vâng, vì vậy tôi đã có một kịch bản shell đang được chạy mà tôi quên cập nhật, nhưng về cơ bản đã ký vào chữ ký chính xác của tôi. Vì vậy, tôi đã ký một cách chính xác, nhưng sau đó kịch bản shell sẽ chỉ ký với cert không hợp lệ ngay trên nó haha. Chỉ cần không có trên quả bóng ngày hôm qua –
Rõ ràng kext ký là không có sẵn nữa cho giấy chứng nhận mới ... những người đã có chúng, thưởng thức! http://stackoverflow.com/questions/26671885/codesigned-kext-but-why-not-load-in-yosemite10-10 – gimix
@gimix theo như tôi biết, ký kext chưa bao giờ được bật trên chứng chỉ ID nhà phát triển theo mặc định. Kiểm tra chữ ký Kext đã được giới thiệu với OS X 10.9 và khách hàng của tôi đã yêu cầu ID nhà phát triển hỗ trợ kext khi 10.9 vẫn đang trong giai đoạn thử nghiệm. – pmdj