Estoy intentando firmar una imagen efi con un Yubikey 4
Configuré a Yubikey con lo siguiente:
yubico-piv-tool -k $key -a import-key -s 9c < test-key.rsa
yubico-piv-tool -k $key -a import-certificate -s 9c < test-cert.pem
Incluí el certificado en un certificado:
certutil -A -n "efi-cert" -t ,,Tu -d $CERTDIR -a -i test-cert.pem
Puedo ver el token en pkcs11-tool:
$ pkcs11-tool --module=/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -L
Available slots:
Slot 0 (0xffffffffffffffff): Virtual hotplug slot
(empty)
Slot 1 (0x1): Yubico Yubikey 4 OTP+CCID 00 00
token label : PIV_II (PIV Card Holder pin)
token manufacturer : piv_II
token model : PKCS#15 emulated
token flags : rng, login required, PIN initialized, token initialized
hardware version : 0.0
firmware version : 0.0
serial num : 00000000
Pero cuando trato de usarlo con pesign, no encuentra el token
$ sudo pesign -i bootx64.efi --export-signature bootx64.sig --sign -d sha256 -t "PIV_II (PIV Card Holder pin)" -c "efi-cert" -n $CERTDIR
could not find token "PIV_II (PIV Card Holder pin)"
pesign: Could not find certificate efi-cert
En strace vi que pesign no lee opensc-pkcs11.so, pero lee libnssckbi.so, ¿puede ser esta la razón? ¿Debo configurar el Yubikey de manera diferente?
Cualquier ayuda sería muy apreciada.