Nettle 패키지가 Ubuntu에 RSA 기능을 설치하지 않는 것 같습니다.

Nettle 패키지가 Ubuntu에 RSA 기능을 설치하지 않는 것 같습니다.

패키지 관리자에서 Nettle 라이브러리를 설치했습니다.libnettle7,libhogweed5,쐐기풀통, 그리고쐐기풀 개발, 이는 Nettle 3.5.1을 기반으로 하는 것으로 보입니다. 우분투 20.04를 사용하고 있습니다. 그 후 AES와 SHA 알고리즘을 사용하여 두 개의 프로그램을 작성할 수 있었고 제대로 작동했기 때문에 헤더 경로가 올바른지 알 수 있었습니다.

그러나 컴파일러 오류 없이 RSA 함수를 호출할 수는 없었습니다.

$ make rsa_test
/usr/bin/ld: /tmp/ccaqGeCe.o: in function `main':
rsa_test.cc:(.text+0x36): undefined reference to `nettle_rsa_public_key_init'
/usr/bin/ld: rsa_test.cc:(.text+0x42): undefined reference to `nettle_rsa_private_key_init'
collect2: error: ld returned 1 exit status
make: *** [Makefile:9: rsa_test] Error 1

오류를 생성하는 최소 코드는 다음과 같습니다.

#include <stdlib.h>
#include <stdio.h>
#include <nettle/rsa.h>
using namespace std;
int main(int argc, char **argv) {
  struct rsa_public_key pub;
  struct rsa_private_key priv;
  rsa_public_key_init(&pub);
  rsa_private_key_init(&priv);
}

rsa.h 파일은 /usr/include/nettle에 있으며 rsa_public_key_init 및 rsa_public_key_init 함수를 포함합니다. RSA 기능을 설치하고 호출하려면 어떻게 해야 합니까?

관련 정보