나는 데비안 10 시스템을 가지고 있습니다. 보안 부팅을 활성화합니다. virtualbox용 새 커널 모듈을 서명하고 로드하려고 합니다. 을 사용하여 인증서와 개인 키를 생성했습니다 openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -days 36500 -subj "/CN=My Name/" -nodes
. 그런 다음 mokutil --import MOK.der
. 그런 다음 비밀번호를 입력하고 재부팅하고 키를 등록합니다. 그런 다음 Debian.org의 자체 튜토리얼을 포함하여 수십 개의 부정확한 튜토리얼 을 읽은 후 모두 sign-file
. 잘 알려지지 않은 포럼을 검색한 후, 서명에 사용할 수 있는 유일한 옵션인 것처럼 보이는 sign-file
도구를 발견했습니다 . sbsign
모듈에 서명하기 위해 명령을 사용하려고 할 때마다 sbsign --cert ~/MOK.pem --key ~/MOK.priv /lib/modules/4.19.0-9-amd64/misc/vboxdrv.ko
. 그러나 명령은 를 반환합니다 Invalid DOS Header Magic
. 인터넷 어디에서도 이 오류에 대한 언급이 거의 없으며 의미 있는 방식으로 내 특정 문제와 관련이 없습니다.
이 오류는 무엇을 의미합니까? 이 모듈에 서명하려면 어떻게 해야 합니까?
답변1
sbsign
.efi
바이너리 및 기타 PE32(+) 형식 실행 파일 서명에 사용됩니다 .
sign-file
커널 소스 코드( scripts
소스 tarball 디렉터리) 및 linux-kbuild-4.19
Debian 10 .deb 패키지와 함께 제공됩니다. Linux 커널 모듈인 ELF 형식으로 바이너리에 서명합니다.
파일 형식이 다르기 때문에 다른 파일로 대체할 수 없습니다.
필요한 도구의 정확한 이름을 알고 있지만 해당 도구가 포함된 패키지 이름을 모르는 경우 배포판의 패키지 콘텐츠 검색 엔진으로 이동해야 합니다(좋은 배포판에는 검색 엔진이 있습니다). 이것은 데비안입니다:https://www.debian.org/distrib/packages
아래로 스크롤패키지 내용 검색, "키워드" 필드에 "sign-file"을 입력하고 "검색"을 클릭합니다. 해당 파일이 이 배포판의 패키지에 존재하는 경우 다음을 수행할 수 있습니다.~ 할 것이다그것을 찾아라.