C语言 使用 wolfSSL 时出现get_peer_certificate错误



我是使用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 wolfSSLn");
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,

听起来应用程序无法链接库,因此,虽然正确的标头已到位以定位函数定义,但链接函数的最后一步是失败的。libwolfssl.so 或 libwolfssl.a 在您的系统上位于何处?它是在/usr/local/lib/libwolfssl.so 还是/usr/local/lib/libwolfssl.a 中?

(.a 是静态库,.so 是共享对象库,可以是 OR(

一旦你找到它的位置,请尝试这个构建命令(为了一个例子,我将假设它在/usr/local/lib 中(:

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

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

[更新]

此问题已通过添加配置设置 --enable-opensslextra 解决

[完结更新]

问候

K

最新更新