私はクライアント(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に従うと、クライアントとサーバーの両方の認証が無効になるため、混乱します。
私の質問は何ですか?
ご返信ありがとうございます。
よろしくお願いいたします。
返信用Thx –