человечность 16.10 virtualbox не становится со знаком

У меня есть проблемы для получения virtualbox5.1, работающего над человечностью 16.10 с uefi, который безопасная начальная загрузка включила, это для запуска с моего самостоятельного обучения бродяги и далее :). Таким образом, я надеюсь, кто-то может помочь мне точно определить проблему или направить меня правильным способом.

Я исследовал сеть много и пришел к этой процедуре, но она не работает на меня, когда я делаю "sudo modinfo vboxdrv", я пропускаю информацию о подписи.

Я покажу вывод, я думаю, релевантно. При необходимости в большем количестве информации не стесняйтесь говорить мне:

uname -r
4.8.0-26-generic

dpkg -S sign-file
linux-headers-4.8.0-22-generic: /usr/src/linux-headers-4.8.0-22-generic/scripts/.sign-file.cmd
linux-headers-4.8.0-26-generic: /usr/src/linux-headers-4.8.0-26-generic/scripts/.sign-file.cmd
linux-headers-4.8.0-26: /usr/src/linux-headers-4.8.0-26/scripts/sign-file.c
linux-headers-4.8.0-22-generic: /usr/src/linux-headers-4.8.0-22-generic/scripts/sign-file
linux-headers-4.8.0-26-generic: /usr/src/linux-headers-4.8.0-26-generic/scripts/sign-file
linux-headers-4.8.0-22: /usr/src/linux-headers-4.8.0-22/scripts/sign-file.c
linux-headers-4.8.0-22-generic: /usr/src/linux-headers-4.8.0-22-generic/scripts/sign-file.c
linux-headers-4.8.0-26-generic: /usr/src/linux-headers-4.8.0-26-generic/scripts/sign-file.c

cd .ssh

openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -days 36500 -subj "/CN=computername.module.signing@gmail.com"

“введите мой пароль дважды”, так как я опустил - узлы (дополнительная безопасность;])

chmod 600 MOK.priv

export KBUILD_SIGN_PIN=”p4$$w<>rD” (not the real password off-course:])

-rw-------  1 username username 1834 Okt 21 14:44 MOK.priv
-rw-r--r--  1 username username  837 Okt 21 14:44 MOK.der
-rwx------  1 username username 1113 Okt 21 15:20 signscript

for f in $(dirname $(modinfo -n vboxdrv))/*.ko; do echo "Signing $f"; sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $f; done

Signing /lib/modules/4.8.0-26-generic/misc/vboxdrv.ko
At main.c:161:
- SSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
sign-file: ./MOK.priv: Success
Signing /lib/modules/4.8.0-26-generic/misc/vboxnetadp.ko
At main.c:161:
- SSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
sign-file: ./MOK.priv: Success
Signing /lib/modules/4.8.0-26-generic/misc/vboxnetflt.ko
At main.c:161:
- SSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
sign-file: ./MOK.priv: Success
Signing /lib/modules/4.8.0-26-generic/misc/vboxpci.ko
At main.c:161:
- SSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
sign-file: ./MOK.priv: Success

sudo mokutil --import MOK.der

Я перезагружаю компьютер и успешно регистрирую сертификат. Когда я проверяю, был ли vboxdrv подписан:

sudo modinfo vboxdrv
    filename:       /lib/modules/4.8.0-26-generic/misc/vboxdrv.ko
    version:        5.1.8 r111374 (0x00280000)
    license:        GPL
    description:    Oracle VM VirtualBox Support Driver
    author:         Oracle Corporation
    srcversion:     0194E56703167BB8828186F
    depends:         jjjjjjjjjjjjjjjjj
    vermagic:       4.8.0-26-generic SMP mod_unload modversions 
    parm:           force_async_tsc:force the asynchronous TSC mode (int)

Модуль не подписывается, поскольку я ПРОПУСКАЮ информацию от этого вывода:

signer: something
sig_key: 11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11:11
sig_hashalgo: sha256

Чтобы удостовериться, что я не совершал ошибку, я использовал этот сценарий: https://github.com/Majal/maj-scripts/blob/master/vboxsign

#!/bin/bash
# Sign and load VirtualBox modules
# Run as root
[ "`whoami`" = root ] || exec sudo "$0" "$@"
# Set working directory
dir=/home/username/.ssh
cd $dir
# (Optional) Setting env KBUILD_SIGN_PIN for encrypted keys
printf "Please enter key passphrase (leave blank if not needed): "; read -s
export KBUILD_SIGN_PIN="$REPLY"
# (Optional) Decrypt private key. To initially encrypt, run `gpg -c MOK.priv` then shred MOK.priv
#gpg -d --batch --passphrase-file /owned/by/root/.pass MOK.priv.gpg > MOK.priv
echo
# Sign and load modules
for module in vboxdrv vboxnetflt vboxnetadp vboxpci; do
 [ "`hexdump -e '"%_p"' $(modinfo -n $module) | tail | grep signature`" ] && echo -e "\e[93mModule $module is already signed. Skipping.\e[0m" || /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n $module)
 printf "$module: "
 echo `hexdump -e '"%_p"' $(modinfo -n $module) | tail | grep signature`
 modprobe $module && echo -e "\e[92m$module successfully loaded\e[0m" || echo -e "\e[91mFailed to load $module\e[0m"
 done
# (Optional) Shred private key
echo
#shred -vfuz MOK.priv

к сожалению, без успеха, я даже получаю ошибки SSL, но сценарий файла знака говорит мне, что был подписан успешно "файл знака:./MOK.priv: Успех"

At main.c:161:
- SSL error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt: evp_enc.c:529
- SSL error:23077074:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 cipherfinal error: p12_decr.c:108
- SSL error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error: p12_decr.c:139
- SSL error:0907B00D:PEM routines:PEM_READ_BIO_PRIVATEKEY:ASN1 lib: pem_pkey.c:141
sign-file: ./MOK.priv: Success
vboxpci: 
modprobe: ERROR: could not insert 'vboxpci': Required key not available
Failed to load vboxpci

когда я делаю:

sudo /sbin/vboxconfig

Created symlink /etc/systemd/system/multi-user.target.wants/vboxdrv.service → /lib/systemd/system/vboxdrv.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxballoonctrl-service.service → /lib/systemd/system/vboxballoonctrl-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxautostart-service.service → /lib/systemd/system/vboxautostart-service.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vboxweb-service.service → /lib/systemd/system/vboxweb-service.service.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: failed: modprobe vboxdrv failed. Please use 'dmesg' to find out why.

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig
as root.

"sudo dmesg | grep vbox" пуст, хотя

Я знаю, что это - много информации, но я надеюсь, что кто-то мог помочь мне или указать на меня в правильном направлении.

это - чистая установка, таким образом, я могу играть вокруг в случае необходимости :)

4
задан 21 October 2016 в 17:08

3 ответа

Ваш обеспеченный вывод является шоу ошибка пароля во время процесса подписания каждого модуля:

Signing /lib/modules/4.8.0-26-generic/misc/vboxdrv.ko
At main.c:161:
- SSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117

проблема состоит в том, что пароль никогда не достигает OpenSSL. Вы указываете пароль с переменной среды для текущего пользователя:

export KBUILD_SIGN_PIN=”p4$w<>rD”

, Но затем когда Вы запускаете скрипт подписания несколько строк вниз, Вы используете sudo для выполнения его в корневой среде вместо среды пользователя:

sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $f

скрипт запущен как корень, и переменная KBUILD_SIGN_PIN не находится в корневой среде, таким образом, сценарий не может получить доступ к KBUILD_SIGN_PIN.

можно было зафиксировать это путем помещения переменной среды после sudo, чтобы удостовериться, что она установлена в корневой среде:

sudo KBUILD_SIGN_PIN="p4$w<>rD" /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $f
3
ответ дан 1 December 2019 в 10:35

Самое простое решение - отключить безопасную загрузку. Можно подписать модули ядра с помощью вашего собственного ключа, а затем зарегистрировать этот ключ, но я не знаю деталей процесса.

-1
ответ дан 1 December 2019 в 10:35

Когда Вы добавляете MOK для шиммирования

 mokutil --import MOK.der
  • Отметьте пароль, который Вы даете.
  • Перезагрузка и после меню, зарегистрируйте ключ с этим паролем

После ключевого приема в перезагрузку MOK допустим для подписания vbox модули.

-1
ответ дан 1 December 2019 в 10:35

Другие вопросы по тегам:

Похожие вопросы: