Ошибка get_peer_certificate при использовании wolfSSL - PullRequest
0 голосов
/ 04 февраля 2020

Я новичок в использовании wolfSSL. Я пытаюсь скомпилировать набор кодов, используя g cc. gcc -o main main.c -lwolfssl

Я сталкиваюсь с ошибкой main.c:(.text+0x47b): undefined reference to 'wolfSSL_get_peer_certificate' collect2: error: ld returned 1 exit status при вводе оператора.

Фрагмент кода показывает местоположение ошибки:

        fprintf(stderr, "ERROR: failed to connect to wolfSSL\n");
        return -1;
    }   
    ret = certverify(CERT_FILE,verifyCert);
    WOLFSSL_X509* webCert = wolfSSL_get_peer_certificate(ssl);

Я попытался изменить команду WOLFSSL_X509* webCert = wolfSSL_get_peer_certificate(ssl);, но она кажется правильной.

Я не являюсь слишком уверен, почему эта ошибка происходит. Может кто-нибудь помочь мне с этим?

Я использую Kali Linux 2019.4 для компиляции этого набора кодов.

1 Ответ

1 голос
/ 04 февраля 2020

@ wolfSSL_new,

Звучит так, как будто приложению не удается связать библиотеку, поэтому, пока установлены правильные заголовки для поиска определений функции, последний шаг по связыванию функции - это то, что не удается. Где в вашей системе находится libwolfssl.so или libwolfssl.a? Он находится в /usr/local/lib/libwolfssl.so или /usr/local/lib/libwolfssl.a?

(. A - это библиотека stati c, .so - это библиотека общих объектов может быть либо, либо)

После того, как вы обнаружите, где она находится, попробуйте вместо этого эту команду сборки (для примера я собираюсь предположить, что она находится в / usr / local / lib):

gcc main.c -o main -I/usr/local/include -L/usr/local/lib -lwolfssl

Дайте мне знать, если это решит ошибку компоновщика, которую вы видите.

[ОБНОВЛЕНИЕ]

Эта проблема была решена путем добавления параметра конфигурации --enable-opensslextra

[END UPDATE]

С уважением,

K

...