C ++でgsoapライブラリを使用する必要があり、httpsを使用する必要があります。ドキュメントには、CでHTTPSを使用する方法が記載されていますが、C ++では使用できません(http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc19.20)。特に、関数の計算エラーがありsoap_ssl_init();
ます。/ usr / lib / libgsoap *ファイルを調べて、ligsoapssl ++。aファイルを見つけ、それに対してリンクしました。このエラーはなくなりましたが、取得しerror:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ます。つまりsoap_ssl_client_context
、funcを呼び出す必要がありますが、C++で生成されたクラスにはありません。私は何をすべきか?
UPD:私はこの問題を自分で解決しました。しかし、それは風変わりで、非常に風変わりな方法です。gSOAPは、structsoapから継承されたC++クラスを生成します。これには、次の属性が含まれています。
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;
そのため、OpenSSLライブラリのように必要な属性(フラグ、パラメータ)を自分で設定できます。soap_ssl_init()
単純なケースでは、一度呼び出して設定するだけで十分ssl_flags = SOAP_SSL_NO_AUTHENTICATION
です。わたしにはできる。誰かがより良い方法を知っているなら、私は見てうれしいです。