मुझे सी ++ में gsoap लाइब्रेरी का उपयोग करने की आवश्यकता है और मुझे https का उपयोग करने की आवश्यकता है। प्रलेखन का कहना है कि सी में एचटीटीपीएस के साथ कैसे काम करना है, लेकिन सी ++ में नहीं (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 पर कॉल करने की आवश्यकता है, लेकिन सी ++ जेनरेटेड क्लास में नहीं है। मुझे क्या करना चाहिए?सी ++ जीएसओएपी जेनरेटेड कक्षाओं में एसएसएल का उपयोग कैसे करें
यूपीडी: मैंने स्वयं को इस समस्या को हल कर लिया है। लेकिन यह quirky, बहुत quirky तरीका है। gSOAP struct साबुन से विरासत में मिली सी ++ वर्गों उत्पन्न करता है, यह निम्नलिखित 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 (झंडे, पैरामीटर) अपने आप से OpenSSL लाइब्रेरी में के रूप में। सरल मामले में soap_ssl_init()
को एक बार कॉल करने के लिए पर्याप्त है और ssl_flags = SOAP_SSL_NO_AUTHENTICATION
सेट करें। इससे मेरा काम बनता है। अगर कोई बेहतर तरीके से जानता है तो मुझे देखकर खुशी होगी।
क्या है त्रुटि आपको मिलने वाला:
जहां m_proxy ग्राहक प्रॉक्सी का एक उदाहरण है gSOAP उपयोग करते हुए उत्पन्न? – Mat
'soap_ssl_init अपरिभाषित संदर्भ'। मैंने देखा/usr/lib/libgsoap * फ़ाइलें और ligsoapssl ++ पाया। एक फ़ाइल और इसके खिलाफ जुड़ा हुआ है। यह त्रुटि चली गई है, लेकिन मुझे 'त्रुटि मिलती है: 140 9 0086: एसएसएल दिनचर्या: SSL3_GET_SERVER_CERTIFICATE: प्रमाण पत्र सत्यापित विफल '। इसका मतलब है कि मुझे 'soap_ssl_client_context' func को कॉल करने की आवश्यकता है, लेकिन सी ++ जेनरेटेड क्लास में नहीं है। मुझे क्या करना चाहिए? – milo