开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 43886|回复: 222
收起左侧

[2017开源大赛(第二届)] OPENSSL一网打尽,一套源码搞定所有事/密码计算/证书操作/SSL通信

    [复制链接]
头像被屏蔽
结帖率:14% (1/7)
发表于 2017-11-15 00:15:40 | 显示全部楼层 |阅读模式   湖北省孝感市
本帖最后由 落款hMZ 于 2017-11-15 11:15 编辑

大家使用openssl的目的无非就是这三个方面了,1、密码学计算,什么RSA加密解密 ,RSA签名,AES,DES啥啥啥的,

2、生成证书,在写这个源码之前,不仅仅是易语言届,包括绝大多数需要自签名证书的,都是调用openssl的命令行,全局操作,想要调用API动态申请证书,签署证书的,源码在百度上基本找不到,要翻出去找谷歌,所以我认为至少在易语言范围内,此源码属于首发
3、SSL通讯,这类源码在论坛上不少了,2010年之前东灿大神就发过,他的源码也是我开始学习openssl第一部教程,不过可惜的是论坛上几乎所有openssl通讯源码都或多或少有点问题,基本上没法用于生产环境,所以这次改写了一下,也是翻了不少资料

本套源码特点:
1、几乎是一网打尽所有需要试用openssl的场合,个人认为很有收藏价值,以后基本不需要再去找跟openssl有关的东西了
2、本源码是面向生产环境的,几乎每个子程序,每种应用都考虑到了效率和稳定性,以及内存泄露等诸多问题,拿去之后基本上不需要再修改什么了,要做什么项目直接拿来用就是了
3、着重谈一下SSL通讯,其实在半年前已经重写好了,并且投入了生产环境,目前我3个HTTPS服务器都是用的这套源码,创新之处在于,
       A:结合cdecl 壳,让openssl可以调用易语言子程序,进行上锁解锁操作,没有锁的openssl是根本无法想象的,加锁以后,多线程随便跑
       B:SSL_accept 和 SSL_connect 的异步调用,这个东西研究的人很少,网上的源码基本都是同步调用,同步调用的弊端是一旦连接丢失了,就会一直卡在那,而异步调用不会存在这个问题
       C:完整的证书验证机制,回调验证,可做双向验证通讯
4、关于证书操作部分,随着计算机计算能力的发展,以及苹果宣布逐渐淘汰不是用https的应用程序,安全证书的需求猛增,去颁发机构买一个证书固然省事,但是随便一个证书都是几千块钱一年,并且还不能向下签发给用户,目前像阿里,TX那样的大牛也都开始在用自签名证书,然后向他们的用户发放个人证书,这是一个趋势,作为易语言编程者来说,给自己的用户的软件签发一个个人证书,倒也是一个不错的防破J防抓包方法,目前市面上基本上所有的抓包软件都是只能抓单向验证的HTTP明文,如果你在软件里强行验证服务器证书,并且服务器强行验证客户证书,那抓包软件再牛也没辙,破J起来难度就更大了,本源码证书操作都是用API操作,支持多线程,可以做简易的证书签发服务器
5、密码学计算部分相比我以前发的那个源码新增了一些东西,修改了一些不合理的机制,使用起来更舒服了,具体可以自己看源码
openssl大集合.rar (659.02 KB, 下载次数: 4040)
QQ图片20171114234755.png

点评

wlp
SSL_free会崩溃,正确方式是,循环 SSL_shutdown 直到返回1或者-1就返回   广西壮族自治区贵港市  发表于 2020-12-8 08:02
感谢分享,很给力!~   安徽省合肥市  发表于 2017-11-15 15:57

评分

参与人数 24好评 +20 精币 +102 收起 理由
roadma + 1 + 1 新技能已get√
wslcdjb2 + 1 支持开源~!感谢分享
就想改个名字 + 1 + 2 支持开源~!感谢分享
疯狂的猿猴 + 1 能弄sha256WithRSA 吗?
无风不起浪 + 1 + 2 很好很强悍,坚持下去哦~
路过错过 + 1 支持开源~!感谢分享
空之影 + 1 + 3 感谢分享,很给力!~
爱生活爱大乔 + 1 + 2 支持开源~!感谢分享
dashang + 1 支持开源~!感谢分享
jiagu + 1 感谢分享,很给力!~
fanhexiang + 1 + 1 支持开源~!感谢分享
╬部落酋长o + 1 支持开源~!感谢分享
大刀 + 1 + 2 这个牛逼
なす随风ぬね + 1 + 2 感谢分享,很给力!~
登峰望岳 + 1 + 4 大神,请收下我的膝盖
popgogo + 1 支持开源~!感谢分享
钱多多28 + 1 + 2 支持开源~!感谢分享
拉面 + 1 + 8 支持开源~!感谢分享
yinghao2005 + 1 + 2 支持开源~!感谢分享
hehehero + 1 + 2 感谢分享,很给力!~
提莫大队长 + 1 + 1 一运行窗口就显示运行完毕了,前后查看没发现问题,为啥一运行就关闭了呢?
冯古屋 + 1 支持开源~!感谢分享
兔子君 + 60 感谢分享,<span id="transmark" s
大飛 + 1 + 5 奉上小小红包希望笑纳

查看全部评分

本帖被以下淘专辑推荐:

头像被屏蔽
结帖率:14% (1/7)
 楼主| 发表于 2017-11-15 00:25:56 | 显示全部楼层   湖北省孝感市
自古一楼是楼主,
预告一下,接下来一段时间,我将会根据上面的openssl源码,扩展出三个比较大型的工程,并在合适的时候发出源码
1、易语言web服务器,支持HTTP和HTTPS单向双向验证,支持微软ISAPI扩展,支持PHP CGI和ISAPI调用,支持来宾用户管理,等等
2、易语言纯HOOK和openssl结合写HTTP抓包工具,支持用户自写插件,扩展支持拦截非HTTP包
3、证书签发服务器,根证书服务器,支持动态签发个人证书,证书链验证,撤销链验证等等

最后打个广告:
寻找项目合作,可提供资金和技术
本人虽穷,但是舍得为项目砸钱,阿里云未开发票金额已经接近80万元,打码兔V12级VIP用户,去年在他们那花了一辆途观的钱
只要你有好的想法,技术上实现不了的,可以跟我聊聊
或者也可以渠道合作
现在能做的项目基本都死光了,天天在家里闲着带娃不是个事。。。
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 1 天

发表于 2024-8-29 17:42:50 | 显示全部楼层   广东省揭阳市
666666666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2024-5-24 11:23:57 | 显示全部楼层   江苏省无锡市
感谢分享,支持一下
回复 支持 反对

使用道具 举报

结帖率:86% (12/14)

签到天数: 6 天

发表于 2024-3-9 08:22:03 | 显示全部楼层   山东省德州市
感谢分享,学习一下。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-3-6 17:33:26 | 显示全部楼层   四川省成都市
正好需要
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2024-3-6 17:33:12 | 显示全部楼层   四川省成都市
好东西 收藏了
回复 支持 反对

使用道具 举报

结帖率:75% (3/4)
发表于 2024-2-16 17:42:44 | 显示全部楼层   四川省成都市
        奉上小小红包希望笑纳
回复 支持 反对

使用道具 举报

结帖率:92% (12/13)
发表于 2023-11-23 20:38:57 | 显示全部楼层   江苏省苏州市
感谢分享,很给力!~  
回复 支持 反对

使用道具 举报

发表于 2023-8-27 19:09:54 | 显示全部楼层   河北省沧州市
谢谢大神分享,谢谢。
回复 支持 反对

使用道具 举报

发表于 2023-8-27 19:09:39 | 显示全部楼层   河北省沧州市
大神分享,谢谢
回复 支持 反对

使用道具 举报

结帖率:67% (2/3)

签到天数: 2 天

发表于 2023-7-9 04:32:45 | 显示全部楼层   广东省揭阳市
支持支持支持支持支持支持支持支持
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表