openssl 0.9.8.j可能存在的错误

openssl 0.9.8.j可能存在的错误,openssl,Openssl,我正在使用C中的openssl库0.9.8j处理ssl客户端。我需要连接到服务器并验证服务器的证书。首先,我要以这种方式进行测试: openssl s_客户端-connect 46.38.167.198:443-CAfile/home/user/Desktop/sf_sharewin/tftp/verisign.pem 它在我的Linux机器上的版本0.9.8g上运行良好。但是当我在我的uCLinux设备上使用版本0.9.8j时,相同的测试结果是“错误20无法获取本地颁发者证书” 我编写了一些C

我正在使用C中的openssl库0.9.8j处理ssl客户端。我需要连接到服务器并验证服务器的证书。首先,我要以这种方式进行测试:

openssl s_客户端-connect 46.38.167.198:443-CAfile/home/user/Desktop/sf_sharewin/tftp/verisign.pem

它在我的Linux机器上的版本0.9.8g上运行良好。但是当我在我的uCLinux设备上使用版本0.9.8j时,相同的测试结果是“错误20无法获取本地颁发者证书”

我编写了一些C代码(在ucLinux和0.9.8j版本下),函数SSL\u get\u verify\u result(SSL)返回相同的错误20。 我确信PEM文件是正确的,路径也是正确的。 问题出在哪里?
谢谢

您确定使用正确的CA证书作为CAFile吗?我已经下载了颁发者证书,一切正常。同时,请更新您的openssl库,因为0.9.8j存在已知漏洞。当前版本为0.9.8x。您可能缺少证书链中的某些证书。OpenSSL 0.9.8h删除了所有内置的CA证书,因此可能0.9.8g可以工作,因为链中所需的证书是内置的。现在我发现问题可能出在脚本shlib_wrap.sh中,因为“make test”失败并出现错误“word unexpected(expecting”)”。我仍然不明白opennssl为什么无法识别签名证书。我尝试了以下方法: