gsoap 读取 CA 文件,Windows
gsoap Reading CA file, Windows
我正在尝试使用我在 tomcat 中创建和部署的网络服务,在后者中启用 ssl。
为了创建客户端代码,我使用 gsoap。我生成了 nedded 文件,在我的 C++ 代码下面:
soap_ssl_init();
soap_init(&soap);
if (soap_ssl_client_context(&soap,
SOAP_SSL_DEFAULT, /* use SOAP_SSL_DEFAULT in production code */
NULL, /* keyfile: required only when client must authenticate to server (see SSL docs on how to obtain this file) */
NULL, /* password to read the keyfile */
"cacert.pem", /* optional cacert file to store trusted certificates */
NULL, /* optional capath to directory with trusted certificates */
NULL /* if randfile!=NULL: use a file with random data to seed randomness */
))
{
soap_print_fault(&soap, stderr);
exit(1);
}
if(soap_call___ns2__Add(&soap,"https://localhost:8443/TestWebService/services/AddService.AddServiceHttpsSoap11Endpoint", NULL,&add, &resp)!= 0)
soap_print_fault(&soap, stderr);
当我执行程序时,我得到了这个信息:
Error 30 fault: SOAP-ENV:Server [no subcode] "SSL error" Detail: Can't
read CA file and directory
在阅读时,我想我必须生成一些文件(.pem、证书...)。
第一次使用goap和ssl,请问如何解决?
我使用 Windows(因为我找到的所有示例都是针对 linux)
问题与我的 C++ 客户端代码无关。事实上,我必须将服务器认证文件添加到位于我的 jre 中的 Bin\security\cacerts 文件中。
我不得不尝试实现一个 Java 客户端来理解这个问题。
我正在尝试使用我在 tomcat 中创建和部署的网络服务,在后者中启用 ssl。
为了创建客户端代码,我使用 gsoap。我生成了 nedded 文件,在我的 C++ 代码下面:
soap_ssl_init();
soap_init(&soap);
if (soap_ssl_client_context(&soap,
SOAP_SSL_DEFAULT, /* use SOAP_SSL_DEFAULT in production code */
NULL, /* keyfile: required only when client must authenticate to server (see SSL docs on how to obtain this file) */
NULL, /* password to read the keyfile */
"cacert.pem", /* optional cacert file to store trusted certificates */
NULL, /* optional capath to directory with trusted certificates */
NULL /* if randfile!=NULL: use a file with random data to seed randomness */
))
{
soap_print_fault(&soap, stderr);
exit(1);
}
if(soap_call___ns2__Add(&soap,"https://localhost:8443/TestWebService/services/AddService.AddServiceHttpsSoap11Endpoint", NULL,&add, &resp)!= 0)
soap_print_fault(&soap, stderr);
当我执行程序时,我得到了这个信息:
Error 30 fault: SOAP-ENV:Server [no subcode] "SSL error" Detail: Can't read CA file and directory
在阅读时,我想我必须生成一些文件(.pem、证书...)。
第一次使用goap和ssl,请问如何解决?
我使用 Windows(因为我找到的所有示例都是针对 linux)
问题与我的 C++ 客户端代码无关。事实上,我必须将服务器认证文件添加到位于我的 jre 中的 Bin\security\cacerts 文件中。
我不得不尝试实现一个 Java 客户端来理解这个问题。