我需要在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_context
func,但在C++生成的类中没有。我该怎么办?如何在C++ gSOAP中使用SSL生成的类
UPD:我自己解决了这个问题。但它古怪,非常古怪的方式。 gSOAP的生成从结构皂继承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;
所以我们可以设置必要ATTRS(标志,则params),如由我们自己OpenSSL库。在简单情况下,拨打soap_ssl_init()
一次并设置ssl_flags = SOAP_SSL_NO_AUTHENTICATION
就足够了。这个对我有用。如果有人知道更好的方式,我会很高兴看到。
什么是错误你得到:
其中m_proxy是客户端代理的实例使用gSOAP的产生? – Mat 2011-06-11 12:50:54
'soap_ssl_init undefined reference'。我查看了/ usr/lib/libgsoap *文件并找到了ligsoapssl ++。文件并与之链接。这个错误已经消失了,但是我得到错误:14090086:SSL例程:SSL3_GET_SERVER_CERTIFICATE:证书验证失败。这意味着我需要调用'soap_ssl_client_context' func,但是没有C++生成的类。我该怎么办? – milo 2011-06-11 13:21:55