get_peer_certificate 使用 wolfSSL 时出错

get_peer_certificate error when using wolfSSL

我刚开始使用 wolfSSL。我正在尝试使用 gcc 编译一组代码。 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编译这组代码

@wolfSSL_new,

听起来应用程序无法 link 库,因此虽然正确的 headers 已到位以定位函数定义,但 link 函数的最后一步是什么正在失败。 libwolfssl.so 或 libwolfssl.a 在您系统上的什么位置?是在 /usr/local/lib/libwolfssl.so 还是 /usr/local/lib/libwolfssl.a?

(.a 是一个静态库,.so 是一个共享的 object 库,它可以是或)

一旦找到它所在的位置,请改用此构建命令(为了举例,我假设它在 /usr/local/lib 中):

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

让我知道这是否解决了您看到的 linker 错误。

[更新]

这已通过添加配置设置解决 --enable-opensslextra

[更新结束]

此致,

K