|
分享源码
界面截图: |
- |
是否带模块: |
- |
备注说明: |
- |
c/s数据安全必备神器
题外话:近期需要做一个SSL Socket双向认证连接的程序,翻阅论坛后只发现了东灿大神早期写的一个SSL Socket模块(见东灿屠版帖),
初期看着大神的代码,研究后也没看懂具体实现原理,由于资料太少,所以改用delphi写SSL Socket,几天下来,翻阅大量资料,逛遍大量技术贴,
终于将delphi版的OpenSSL双向认证实现了,想着咱易语言这方面的资料比较少,所以改造了东灿大神的SSL Socket,并且发到论坛给易友增加点
资料。
下面介绍下OpenSSL的作用
Openssl百科传送门 http://baike.baidu.com/view/300712.htm?fr=aladdin
网站应用:
相信大家都有见过以https开头的网站,https就是代表着此站点数据已经使用Openssl加密,并且带有证书,证书需要找可信任CA中心购买,
浏览器获取到证书时会提醒此站可信任。
C/S应用:
证书让浏览器识别站点是否合法,同时它也是数据加密的公钥。C/S模式下的SSL双向认证时,可以自己生成证书,不需要购买,因为不需要去认证证书是否合法。
加密流程:
服务端和客户Duan都有自己的公钥和私钥,发起连接握手时,客户Duan使用自己的公钥加密数据发送给服务器,服务器使用私钥解密,解密成功时服务器用自己的公钥加密数据返回给客户Duan(解密失败表示握手失败将断开连接,这表示客户Duan不合法),客户Duan使用自己的私钥解密服务器返回数据,解密成功后即可握手完成。握手发送的加密数据中,含有服务器与客户Duan双方后期数据互交时使用的加密密码,每个连接发送同样的数据包,加密内容都会不一样,因为后期数据加密密码是随机的(非对称加密),所以加密后的数据是不可逆的,大家可以到网上查查暴力加密OPENSSL的加密信息需要多久,这样足够保证了数据互交的安全性。可能我讲的不够清晰,大家可以自己到网上查阅OPENSSL相关资料吧。
另外,源码中只是给出了一个使用OpenSSL双向认证的例子,如果要使用到您自己的应用中还需要自己做大量修改。
原作者:hchb1990
|
评分
-
查看全部评分
|