Keine OpenSSL-Signierdatei signing_key.pem führt zu Fehlern beim Laden der Kernelmodule

1310
Arnabjyoti Kalita

Ich habe Probleme beim Laden / Installieren eines Kernelmoduls. Das Kernel-Modul wird erfolgreich erstellt, aber bei jedem Versuch, module_install zu erstellen, scheint der Kernel nicht zu laden. Es hinterlässt die folgende Fehlermeldung: -

At main.c:158: - SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175 - SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178 sign-file: certs/signing_key.pem: No such file or directory DEPMOD 4.10.0-20-generic 

Ich habe über dieses Problem gelesen und festgestellt, dass der Kernel jetzt nur richtig signierte Module geladen hat. Ich finde, dass das Kernel-Quellverzeichnis /usr/src/<linux version>/certsin meinem System nicht die signing_key.pemprivate Schlüsseldatei hat, weshalb ich diesen Fehler sehe.

Was soll ich machen ? Kann ich eine signing_key.pemDatei manuell generieren und weiter verwenden? Was wären einige gute Methoden dafür? Wird openssl.cnfmir das Erstellen einer privaten Schlüssel- / Zertifikatsdatei helfen? Oder sollte ich überhaupt keine signierten Module verwenden und versuchen, die Module ohne Überprüfung zu laden?

Ich verwende Ubuntu 17.04 mit dem Kernel 4.10.0-20-generic .

2
Ich erlebe das auch. Obwohl ich scheinbar alles gut kompiliere, wird der Kernel-Treiber nie geladen. ben-Nabiy Derush vor 6 Jahren 0

1 Antwort auf die Frage

1
cryptoboy

Wechseln Sie in Ihrem Linux-Kernel-Stammordner, den Sie kompilieren, zum Ordner certs und führen Sie Folgendes aus:

openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem 

Dabei ist x509.genkey eine Datei mit dem Inhalt:

[ req ] default_bits = 4096 distinguished_name = req_distinguished_name prompt = no string_mask = utf8only x509_extensions = myexts  [ req_distinguished_name ] CN = Modules  [ myexts ] basicConstraints=critical,CA:FALSE keyUsage=digitalSignature subjectKeyIdentifier=hash authorityKeyIdentifier=keyid 

Siehe auch: https://wiki.gentoo.org/wiki/Signed_kernel_module_support

Option 2 deaktiviert das automatische Signieren von Modulen in der Konfiguration make menuconfigodermake xconfig