У меня есть server.pem и server.jks для серверной части, которая является моим клиентом (soapui). Я инициализирую контекст сервера ssl, чтобы включить простую аутентификацию для моей веб-службы следующим образом:
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);
Проблема в том, что когда я ищу в wirehark после отправки моего запроса из SoapUI на удаленный компьютер, где находится мой сервер. Декодирование выглядит так, будто происходит взаимная аутентификация.
Но когда я меняю
SOAP_SSL_DEFAULT
с участием
SOAP_SSL_NO_AUTHENTICATION
, и отправил тот же запрос, в wireshark похоже происходит простая (только аутентификация сервера).
Но это меня смущает, потому что, если я буду следовать документации gSoap, опция TLS/SSL SOAP_SSL_NO_AUTHENTICATION отключит аутентификацию как клиента, так и сервера.
Тогда у меня вопрос, что я делаю не так?
заранее спасибо за ваши ответы.
С наилучшими пожеланиями.