2017-06-02 1 views
0

私はクライアント(soapui)であるバックエンドにserver.pemとserver.jksを持っています。私は次のように自分のWebサービス用の簡易認証を有効にするために、SSLサーバのコンテキストを初期化します。簡単な認証(サーバのみの認証)を有効にするためにgsoapを使用してサーバコンテキストを初期化する方法

int ssl_connection_flag = SOAP_SSL_DEFAULT; // Simple authentication 

int soap_result = soap_ssl_server_context(soap_object, 
               ssl_connection_flag,//SOAP_SSL_NO_AUTHENTICATION,//m_ssl_connection_flag, 
               m_key_file.c_str(),//Settings::instance()->get_cert_mngr_tls_certificate_path().c_str(),//"D:\\ICA\\Release\\currentStore\\TLSCertificate.pem",//m_ssl_private_key_file_path.c_str(),/* keyfile: required when server must authenticate to clients (see SSL docs on how to obtain this file) */ 
               l_recover.c_str(),//"changeit",//PWDHelper::instance()->retrieve_pwd("k-tls-key").c_str(),//"changeit",//"12345678",//"server_key_password",/* password to read the key file (not used with GNUTLS) */ 
               m_ca_certs_file.c_str(),//Settings::instance()->get_cert_mngr_ca_path().c_str(),//"D:\\ICA\\Release\\currentStore\\CA.pem",//"D:\\CertificatBrahim\\CAs.pem",//m_ssl_ca_file_path.c_str(), /* optional cacert file to store trusted certificates */             
               NULL, /* optional capath to directory with trusted certificates */ 
               NULL,/* DH file name or DH key len bits (minimum is 512, e.g. "512") to generate DH param, if NULL use RSA */ 
               NULL, 
               NULL); 

私は自分のサーバーに置かれているリモートPCにSOAPUIから私の要求を送信した後のWiresharkで探したときにトラブルがあり、 。相互認証が行われているようにデコードされます。

しかし、私は

SOAP_SSL_NO_AUTHENTICATION

SOAP_SSL_DEFAULT

を変更し、同じ要求を送信したときにそこにあるように、Wiresharkの中に見えますシンプル(サーバauのみ証言)が続いている。

しかし、gSoapのドキュメント、TLS/SSLオプションSOAP_SSL_NO_AUTHENTICATIONに従うと、クライアントとサーバーの両方の認証が無効になるため、混乱します。

私の質問は何ですか?

ご返信ありがとうございます。

よろしくお願いいたします。

答えて

0

サーバー側のSOAP_SSL_NO_AUTHENTICATIONフラグは、クライアントがサーバーの認証を要求することを妨げません。このフラグは、ピアが要求側に対して認証するための要件を無効にします。あなたの場合、クライアントは要求側であり、フラグはサーバー側で設定されます。

+0

返信用Thx –

関連する問題