免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1527 | 回复: 4
打印 上一主题 下一主题

[其他] openssl源码中,是在哪个阶段加密数据的 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-06 17:40 |只看该作者 |倒序浏览
我刚从握手阶段开始看起源码,看到 ssl3_send_finished
ssl3_send_finished 发送握手信息,该握手信息 理论上是做摘要,然后加密发送出去的。
可是我一路看下去,只看到算摘要的,没有看到加密的过程,至少到ssl3_do_write函数之前都没有看到加密操作。

我以为漏看了,于是找 SSL_write 接口对应的源码函数,这个直接发送加密数据。然后跟随调用一个一个看过去      ssl3_write->ssl3_write_bytes->do_ssl3_write这几个阶段都没发现加密操作,不知道加密操作在哪里?

论坛徽章:
9
辰龙
日期:2014-08-18 20:38:42未羊
日期:2014-09-04 08:50:45丑牛
日期:2014-09-06 00:12:55寅虎
日期:2014-12-22 20:50:56摩羯座
日期:2015-01-14 22:28:15巳蛇
日期:2015-01-23 20:39:272015年辞旧岁徽章
日期:2015-03-03 16:54:1515-16赛季CBA联赛之青岛
日期:2016-03-13 23:37:1915-16赛季CBA联赛之深圳
日期:2016-03-29 18:52:38
2 [报告]
发表于 2014-08-06 23:37 |只看该作者
本帖最后由 Tinnal 于 2014-08-06 23:37 编辑

回复 1# mrpre
没有研究,我只是openssl的用户,这库很成熟,没打算改,也没打算研究。

做为通用的分析手段:
1. 直接看原码
2. GDB单步运行看流程
3. 如是你知到对应的加密函数,直接在那打个断点,continue, bt,


   

求职 : 系统工程师等
论坛徽章:
5
技术图书徽章
日期:2014-04-19 22:01:05天蝎座
日期:2014-05-09 13:49:28双子座
日期:2014-06-16 15:08:042015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:28
3 [报告]
发表于 2014-08-07 08:47 |只看该作者
加密函数为:evp_encryptinit_ex
                      evp_encryptupdate
                      evp_encryptfinal_ex
解密函数为:evp_decryptinit_ex
                     evp_decryptupdate_ex
                      evp_encryptfinal_ex
它们均定义在evp.h中。

看看是否这几个函数

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2014-08-07 09:33 |只看该作者
do_ssl3_write  中  s->method->ssl3_enc->enc(s,1);
的确是自己看的不仔细。

(至于为什么看源码。。。。就是好奇,想知道他们怎么实现的)

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:53:17
5 [报告]
发表于 2014-08-08 17:37 |只看该作者
opengssl的代码真丑
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP