I encounter the exact same problem as here except I'm not able to recover using the proposed solution.
I have followed the recommended solution and everything seems fine but still the module could not be loaded.
The key seems correctly loaded:
$ sudo mokutil --list-enrolled [key 1] […] [key 2] SHA1 Fingerprint: 0f:6f:8e:7a:39:d0:27:33:7d:eb:e0:62:cf:38:b1:af:4c:82:98:c4 Certificate: […] Issuer: CN=modssign […] X509v3 extensions: X509v3 Subject Key Identifier: 83:83:25:5B:D6:6E:A0:BB:87:44:A9:8C:EA:47:58:DD:07:B9:A6:C7 X509v3 Authority Key Identifier: keyid:83:83:25:5B:D6:6E:A0:BB:87:44:A9:8C:EA:47:58:DD:07:B9:A6:C7 […]
And the module is signed with this key:
$ sudo modinfo vboxdrv filename: /lib/modules/3.16.0-77-generic/misc/vboxdrv.ko version: 5.1.0 r108711 (0x00260000) license: GPL description: Oracle VM VirtualBox Support Driver author: Oracle Corporation srcversion: 32F3C607C8086AE6187D18B depends: vermagic: 3.16.0-77-generic SMP mod_unload modversions signer: modssign sig_key: 83:83:25:5B:D6:6E:A0:BB:87:44:A9:8C:EA:47:58:DD:07:B9:A6:C7 sig_hashalgo: sha256
But the module still failed to insert:
$ sudo modprobe vboxdrv modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Do you have any idea? I thought I had correctly follow all the steps (including enrolling the new key at boot, etc)
More technical information:
- Ubuntu 14.04.4 LTS freshly updated
- Linux 3.16.0-77-generic
- Virtualbox 5.1.0 r108711 freshly downloaded from the Virtualbox.org website
Thanks in advance for your hints!
Edit of 2016-08-23:
I think the issue is due to the fact my certificate is never loaded by the kernel at boot.
The certificate loaded by the kernel is
$ sudo dmesg | grep 'Loaded X.509 cert' [ 1.126207] Loaded X.509 cert 'Magrathea: Glacier signing key: 4a94aff5eff7b539906b3f2a9d0cca00dac4cbb0'
And all modules are well loaded because they are signed with this specific key (
$ sudo modinfo ip_tables | grep sig_key sig_key: 4A:94:AF:F5:EF:F7:B5:39:90:6B:3F:2A:9D:0C:CA:00:DA:C4:CB:B0
But even if my certificate is shown in
mokutil --list-enrolled, it seems to not be loaded at boot.
How could I add my certificate to the kernel at boot sequence? Do I have to rebuild a new kernel with my certificate in it?