mil*_*ilo 7 c++ ssl https gsoap
我需要在C++中使用gsoap库,我需要使用https.文档说明了如何在C中使用HTTPS,但在C++中却没有(http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.20).特别是,我在soap_ssl_init();功能上有编译错误.我查了/ usr/lib/libgsoap*文件,找到了ligsoapssl ++.一个文件并链接到它.这个错误消失了,但我明白了error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed.这意味着我需要调用soap_ssl_client_contextfunc,但是在C++中没有生成类.我该怎么办?
UPD:我自己解决了这个问题.但它是古怪的,非常古怪的方式.gSOAP生成继承自struct soap的C++类,它包含以下attrs:
BIO *bio;
SSL *ssl;
SSL_CTX *ctx;
unsigned short ssl_flags;
const char *keyfile;
const char *password;
const char *dhfile;
const char *cafile;
const char *capath;
const char *crlfile;
const char *randfile;
SSL_SESSION *session;
Run Code Online (Sandbox Code Playgroud)
所以我们可以自己在OpenSSL库中设置必要的attrs(flags,params).在简单的情况下,它足以调用soap_ssl_init()一次并设置ssl_flags = SOAP_SSL_NO_AUTHENTICATION.这个对我有用.如果有人知道更好的方式,我会很高兴看到.
我自己解决了这个麻烦。但这是一种古怪、非常古怪的方式。gSOAP 生成继承自 的 C++ 类struct soap,它包含以下属性:
BIO *bio;
SSL *ssl;
SSL_CTX *ctx;
unsigned short ssl_flags;
const char *keyfile;
const char *password;
const char *dhfile;
const char *cafile;
const char *capath;
const char *crlfile;
const char *randfile;
SSL_SESSION *session;
Run Code Online (Sandbox Code Playgroud)
因此我们可以像 OpenSSL 库中一样自行设置必要的属性(标志、参数)。在简单的情况下,调用soap_ssl_init()一次并设置就足够了ssl_flags = SOAP_SSL_NO_AUTHENTICATION。这个对我有用。如果有人知道更好的方法我会很高兴
| 归档时间: |
|
| 查看次数: |
14009 次 |
| 最近记录: |