本文是1:1模式,N:1模式请参见新的一篇博客《SSL双向认证(高清版)》
----------------------------------------------------- 我是分割线 ---------------------------------------------------------
标题太长了不知道该怎么起,索性就把keyword列出来吧~
WebService的WS-*搞了一天没搞定,看样子PHP应该是彻底抛弃SOAP协议了,google翻烂了也没找到什么靠谱的解决方案。
合作方又不愿意自己去实现加解密签名那些东西,没办法,只好走https了,把这块儿从应用层抛到更底层去。
但是通信中的数据安全分几部分:保密性、不可篡改,不可抵赖。
传统的https调用只是对数据做了加密,解决了保密以及不可篡改问题,解决不了客户端的身份验证问题,或者叫不可抵赖性。
所以需要使用两套证书的SSL双向认证。
目前的Nginx对SSL双向认证支持的比较好,配置很简单:
……
listen 443;
server_name test.com;
ssl on;
ssl_certificate server.crt; //server端公钥
ssl_certificate_key server.key; //server端私钥
ssl_client_certificate client.crt; //client端公钥
ssl

本文探讨了在无法使用WS-*的情况下,由于合作方需求,使用HTTPS和SSL双向认证来确保数据安全。通过Nginx配置实现了SSL双向认证,解决了客户端身份验证问题。介绍了如何在PHP中使用SoapClient进行SOAP调用,并设置相应的header以完成HTTPS环境下的通信。测试通过curl验证了配置的正确性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



