gsoap 通过SSL双向认证调用service

本文介绍如何生成并配置SSL证书用于IIS服务器,并利用生成的证书设置gSOAP客户端以实现安全的服务接口调用。文中详细记录了证书生成步骤及客户端调用过程中的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过<<SSL安全网络架设>>>一文,最终得到以下文件

ca.crt

ca.key

server.crt

server.key

client.crt

client.key

生成IIS需要的文件

[root]# openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx

将server.pfx ca.crt 传到IIS机器上,在证书管理中,除个人一项导入client.pfx外,其余都导入ca.crt

IIS 勾选使用SSL,客户端证书选择必须。

生成gsoap客户端需要的文件

1.[root]# cat client.crt client.key > client.pem

调用service接口

代码如下

soap_ssl_client_context($soap,

SOAP_SSL_REQUIRE_SERVER_AUTHENTICATION
| SOAP_SSL_SKIP_HOST_CHECK
| SOAP_SSL_ALLOW_EXPIRED_CERTIFICATE,
"client.pem",
"123456789",
"ca.crt",
NULL,
NULL);

int res = soap.method(request, response);

注意:

第二个参数使用SOAP_SSL_DEFAULT的话会报错,提示SSL/TLS certificate host name mismatch in tcp_connect()

出现了一次405错误,后来发现是自己的endpoint只改成了https://xxx.xxx.xxx:443 应该是 https://xxx.xxx.xxx:443/service.asmx才对,一时大意,还花了不少时间解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值