c - 使用wolfSSL时get_peer_certificate错误

标签 c ssl wolfssl

我刚开始使用 WolfSSL。我正在尝试使用 gcc 编译一组代码。 gcc -o main main.c -lwolfssl

我遇到 main.c:(.text+0x47b) 错误:未定义对“wolfSSL_get_peer_certificate”的引用 collect2:错误:ld 在输入语句时返回 1 退出状态

代码片段显示了错误位置:

        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,

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

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

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

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

请告诉我这是否可以解决您所看到的链接器错误。

[更新]

通过添加配置设置 --enable-opensslextra 解决了这个问题

[结束更新]

问候,

K

关于c - 使用wolfSSL时get_peer_certificate错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60051692/

相关文章:

c++ - 侵入性列表

c - 如何使用 swapcontext() 恢复函数的执行(而不是再次启动)?

c - 正确释放结构的内存

javascript - ssl 在网站中显示错误

ssl - wolfssl SendClientKeyExchange 失败

c - 无符号整数除法示例

ios - 防止 MitM (https) 使用包含的 pub 加密查看密码。 iOS/Android 应用程序中的 key

java - 使用 RSAL Toolkit 的 SSL 未被 jar 错误封装

c - 与 Wolfssl 和 Nordic 的蓝牙 LE 安全连接 : key exchange

使用 wolfssl 进行证书完整性检查