libkcapi - Erro: Erro de Netlink: não é possível abrir o soquete netlink

1

Eu estou tentando jogar com meu gerador aleatório, então eu decidi dar libkcapi uma tentativa.

Aqui está o que eu fiz:

$ wget http://www.chronox.de/libkcapi/libkcapi-0.13.0.tar.xz
$ tar xf libkcapi-0.13.0.tar.xz
$ cd libkcapi-0.13.0
$ cd lib
$ make
$ cd ../test
$ make
$ ./kcapi -x 3  -c sha1  -p 8c899bba
libkcapi - Error: Netlink error: cannot open netlink socket
libkcapi - Error: Netlink error: cannot open netlink socket
libkcapi - Error: NETLINK_CRYPTO: cannot obtain cipher information for sha1 (is required crypto_user.c patch missing? see documentation)
Allocation of hash sha1 failed
Failed to invoke testing

Olhando a saída da strace aqui está o que eu vejo:

socket(AF_NETLINK, SOCK_RAW, NETLINK_CRYPTO) = -1 EPROTONOSUPPORT (Protocol not supported)
write(2, "libkcapi - Error: Netlink error:"..., 60libkcapi - Error: Netlink error: cannot open netlink socket
) = 60
socket(AF_NETLINK, SOCK_RAW, NETLINK_CRYPTO) = -1 EPROTONOSUPPORT (Protocol not supported)
write(2, "libkcapi - Error: Netlink error:"..., 60libkcapi - Error: Netlink error: cannot open netlink socket
) = 60
write(2, "libkcapi - Error: NETLINK_CRYPTO"..., 137libkcapi - Error: NETLINK_CRYPTO: cannot obtain cipher information for sha1 (is required crypto_user.c patch missing? see documentation)

Como mencionado no arquivo README.md de nível superior:

The kernel interface and therefore this library can be used by unprivileged processes.

Eu também tentei usar sudo sem muita sorte.

Para referência, estou usando:

$ uname -a
Linux macbookpro 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u2 (2017-06-26) x86_64 GNU/Linux

Alguém sabe como usar o libkcapi no Linux?

    
por malat 14.07.2017 / 10:16

1 resposta

1

Na verdade, a resposta foi bem fácil. Da documentação:

Eu preciso do seguinte:

  • CONFIG_CRYPTO_USER
  • CONFIG_CRYPTO_USER_API
  • CONFIG_CRYPTO_USER_API_HASH
  • CONFIG_CRYPTO_USER_API_SKCIPHER
  • CONFIG_CRYPTO_USER_API_AEAD
  • CONFIG_CRYPTO_USER_API_RNG
  • (CONFIG_CRYPTO_USER_API_AKCIPHER) não obrigatório

No entanto, aqui está o que eu recebo com o kernel padrão do Debian:

% grep CONFIG_CRYPTO_USER /boot/config-4.9.0-3-amd64 
# CONFIG_CRYPTO_USER is not set
CONFIG_CRYPTO_USER_API=m
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
# CONFIG_CRYPTO_USER_API_RNG is not set
CONFIG_CRYPTO_USER_API_AEAD=m

Eu relatei isso, vamos ver o que acontece:

por 14.07.2017 / 10:55

Tags