C++ 实现https客户端通讯

武汉元码科技 2015-06-25 10:16:26
客户端和服务器是使用http协议通讯的,现在想使用https通讯,该如何实现呢?
uo
原来使用的是poco库发送http消息, 使用https的时候需要加载一个.pem的证书,我在网上 看到一篇文章说fiddler能够直接抓到客户端使用htttps发送的数据明文(使用'中间人'代理欺骗方法,详见文章:http://blog.csdn.net/rztyfx/article/details/6919545)

和同事讨论了一下,他说httpAnalyzer也能够抓到https的明文,因为他在应用层抓包,这一点我觉得很不理解,如果能够抓到的是明文,那https,不就没有意义了吗?(他解释说https解决的是发送端到接收端之间的数据安全),希望大家讨论下。

如果https能够抓到明文,那么我该如何设计一个安全通讯的客户端呢?
使用了https的话,还需要对数据进行加密吗?
如何设计加签验签呢?

多谢大牛解答。

...全文
1486 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dibotiger 2015-07-04
  • 打赏
  • 举报
回复
基本原理要搞清楚. 如果是纠结于自己熟悉的环境和工具, 永远就搞不清楚状况了.
lys07962000 2015-06-27
  • 打赏
  • 举报
回复
百度,一大把111111
武汉元码科技 2015-06-26
  • 打赏
  • 举报
回复
引用 5 楼 xiaoxiaoyu85 的回复:
顶起来,求帮助。。。
标准的https证书客户端该如何获取呢?浏览器访问的时候会自动下载,我使用C++客户端调用https的接口,如何获得证书呢? 是要先导入.pem证书吗?
武汉元码科技 2015-06-26
  • 打赏
  • 举报
回复
引用 9 楼 worldy 的回复:
[quote=引用 7 楼 oyljerry 的回复:] [quote=引用 4 楼 worldy 的回复:] [quote=引用 3 楼 oyljerry 的回复:] 因为到了应用层,数据会还原解析处理,不然程序没法处理,比如浏览器。所以如果是应用层当然可以看到数据,httpAnalyzer就是应该是在浏览器中处理的 但是在网络中间,比如别人在你通信的中间拿到数据,那么它没法解析你的内容,除非进行中间人攻击,fiddler就是这种方式
既然fiddler能轻易的在中间的任何地方看到原文,那么是不是可以说https是一种无用的摆设?出入还要加密解密浪费资源[/quote] fiddler的证书,需要浏览器添加到信任列表。[/quote] 在传输途中截获,传入浏览器,不就可以偷窥别人的内容了?[/quote] 求大家帮忙啊。
worldy 2015-06-26
  • 打赏
  • 举报
回复
引用 7 楼 oyljerry 的回复:
[quote=引用 4 楼 worldy 的回复:] [quote=引用 3 楼 oyljerry 的回复:] 因为到了应用层,数据会还原解析处理,不然程序没法处理,比如浏览器。所以如果是应用层当然可以看到数据,httpAnalyzer就是应该是在浏览器中处理的 但是在网络中间,比如别人在你通信的中间拿到数据,那么它没法解析你的内容,除非进行中间人攻击,fiddler就是这种方式
既然fiddler能轻易的在中间的任何地方看到原文,那么是不是可以说https是一种无用的摆设?出入还要加密解密浪费资源[/quote] fiddler的证书,需要浏览器添加到信任列表。[/quote] 在传输途中截获,传入浏览器,不就可以偷窥别人的内容了?
oyljerry 2015-06-26
  • 打赏
  • 举报
回复
引用 6 楼 xiaoxiaoyu85 的回复:
[quote=引用 5 楼 xiaoxiaoyu85 的回复:] 顶起来,求帮助。。。
标准的https证书客户端该如何获取呢?浏览器访问的时候会自动下载,我使用C++客户端调用https的接口,如何获得证书呢? 是要先导入.pem证书吗?[/quote] 用openssl类库,不然自己就需要TLS握手协议一套东西
oyljerry 2015-06-26
  • 打赏
  • 举报
回复
引用 4 楼 worldy 的回复:
[quote=引用 3 楼 oyljerry 的回复:] 因为到了应用层,数据会还原解析处理,不然程序没法处理,比如浏览器。所以如果是应用层当然可以看到数据,httpAnalyzer就是应该是在浏览器中处理的 但是在网络中间,比如别人在你通信的中间拿到数据,那么它没法解析你的内容,除非进行中间人攻击,fiddler就是这种方式
既然fiddler能轻易的在中间的任何地方看到原文,那么是不是可以说https是一种无用的摆设?出入还要加密解密浪费资源[/quote] fiddler的证书,需要浏览器添加到信任列表。
笨笨仔 2015-06-25
  • 打赏
  • 举报
回复
http本来就是明文,用MD5或RSA方式加密,当然也可以用别的方式。其它应该就是策略问题了。
武汉元码科技 2015-06-25
  • 打赏
  • 举报
回复
如果要添加一个证书校验,该如何做呢?
武汉元码科技 2015-06-25
  • 打赏
  • 举报
回复
顶起来,求帮助。。。
worldy 2015-06-25
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
因为到了应用层,数据会还原解析处理,不然程序没法处理,比如浏览器。所以如果是应用层当然可以看到数据,httpAnalyzer就是应该是在浏览器中处理的 但是在网络中间,比如别人在你通信的中间拿到数据,那么它没法解析你的内容,除非进行中间人攻击,fiddler就是这种方式
既然fiddler能轻易的在中间的任何地方看到原文,那么是不是可以说https是一种无用的摆设?出入还要加密解密浪费资源
oyljerry 2015-06-25
  • 打赏
  • 举报
回复
因为到了应用层,数据会还原解析处理,不然程序没法处理,比如浏览器。所以如果是应用层当然可以看到数据,httpAnalyzer就是应该是在浏览器中处理的

但是在网络中间,比如别人在你通信的中间拿到数据,那么它没法解析你的内容,除非进行中间人攻击,fiddler就是这种方式

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧