使用 OpenSSL API 进行安全编程
日期:2007年7月22日 作者: 查看:[大字体 中字体 小字体]-
创建基本的安全连接和非安全连接
Kenneth Ballard (kenneth.ballard@ptk.org)
自由程序员
2004 年 8 月学习如何使用 OpenSSL —— 用于安全通信的最著名的开放库 —— 的 API 有些强人所难,因为其文档并不完全。您可以通过本文中的提示补充这方面的知识,并驾驭该 API。在建立基本的连接之后,就可以查看如何使用 OpenSSL 的 BIO 库来建立安全连接和非安全连接。与此同时,您还会学到一些关于错误检测的知识。
OpenSSL API 的文档有些含糊不清。因为还没有多少关于 OpenSSL 使用的教程,所以对初学者来说,在应用程序中使用它可能会有一些困难。那么怎样才能使用 OpenSSL 实现一个基本的安全连接呢?本教程将帮助您解决这个问题。学习如何实现 OpenSSL 的困难部分在于其文档的不完全。不完全的 API 文档通常会妨碍开发人员使用该 API,而这通常意味着它注定要失败。但 OpenSSL 仍然很活跃,而且正逐渐变得强大。这是为什么?
OpenSSL 是用于安全通信的最著名的开放库。在 Google 中搜索“SSL library”得到的返回结果中,列表最上方就是 OpenSSL。它诞生于 1998 年,源自 Eric Young 和 Tim Hudson 开发的 SSLeay 库。其他 SSL 工具包包括遵循 GNU General Public License 发行的 GNU TLS,以及 Mozilla Network Security Services(NSS)(请参阅本文后面的 参考资料 ,以获得其他信息)。
那么,是什么使得 OpenSSL 比 GNU TLS、Mozilla NSS 或其他所有的库都优越呢?许可是一方面因素(请参阅 参考资料)。此外,GNS TLS(迄今为止)只支持 TLS v1.0 和 SSL v3.0 协议,仅此而已。
Mozilla NSS 的发行既遵循 Mozilla Public License 又遵循 GNU GPL,它允许开发人员进行选择。不过,Mozilla NSS 比 OpenSSL 大,并且需要其他外部库来对库进行编译,而 OpenSSL 是完全自包含的。与 OpenSSL 相同,大部分 NSS API 也没有文档资料。Mozilla NSS 获得了 PKCS #11 支持,该支持可以用于诸如智能卡这样的加密标志。OpenSSL 就不具备这一支持。
先决条件
要充分理解并利用本文,您应该:精通 C 编程。
熟悉 Internet 通信和支持 Internet 的应用程序的编写。
并不绝对要求您熟悉 SSL ,因为稍后将给出对 SLL 的简短说明;不过,如果您希望得到详细论述 SSL 的文章的链接,请参阅 参考资料部分。拥有密码学方面的知识固然好,但这并不是必需的。什么是 SSL?
SSL 是一个缩写,代表的是 Secure Sockets Layer。它是支持在 Internet 上进行安全通信的标准,并且将数据密码术集成到了协议之中。数据在离开您的计算机之前就已经被加密,然后只有到达它预定的目标后才被解密。证书和密码学算法支持了这一切的运转,使用 OpenSSL,您将有机会切身体会它们。理论上,如果加密的数据在到达目标之前被截取或窃听,那些数据是不可能被破解的。不过,由于计算机的变化一年比一年快,而且密码翻译方法有了新的发展,因此,SSL 中使用的加密协议被破解的可能性也在增大。
可以将 SSL 和安全连接用于 Internet 上任何类型的协议,不管是 HTTP、POP3,还是 FTP。还可以用 SSL 来保护 Telnet 会话。虽然可以用 SSL 保护任何连接,但是不必对每一类连接都使用 SSL。如果连接传输敏感信息,则应使用 SSL。
什么是 OpenSSL?
OpenSSL 不仅仅是 SSL。它可以实现消息摘要、文件的加密和解密、数字证书、数字签名和随机数字。关于 OpenSSL 库的内容非常多,远不是一篇文章可以容纳的。OpenSSL 不只是 API,它还是一个命令行工具。命令行工具可以完成与 API 同样的工作,而且更进一步,可以测试 SSL 服务器和客户机。它还让开发人员对 OpenSSL 的能力有一个认识。要获得关于如何使用 OpenSSL 命令行工具的资料,请参阅 参考资料 部分。
您需要什么
- [1] [2] [3] [4] [5] [6] [7] [8] 下一页
-
- 使用 OpenSSL API 进行安全编程 相关文章:
- ·《真?三国无双3》月英使用心得 - 真三国无双4攻略秘籍 - 真三国无双4
- ·QQ空间开场代码使用说明
- ·为什么iexplore.exe在打开网页时CPU使用会100%?
- ·MSComm控件使用详解
- ·联讯证券同花顺软件分析系统使用
- ·流光5.0使用小窍门
- ·vista下 迅雷右键不能使用
- ·在vista系统中使用特殊方法来输入特殊字符
- ·QQ空间鼠标代码使用说明
- ·DM万用版使用方法
- 使用 OpenSSL API 进行安全编程 相关软件
- ·使命召唤-联合进攻 Call of Duty United
- ·飘羽失忆天使 简体中文版
- ·使命召唤2 汉化包
- ·倾城之恋!粉色天使桌面主题
- ·天使之翼游戏下载
- ·天使帝国2
- ·超级兔子XP升级天使2007-10
- ·《使命召唤2》免CD补丁
- ·蓝色天使队
- ·咕噜小天使
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:对iis写权限的利用
精品推荐
热点TOP10
- ·netcat使用指南
- ·全面对比OmniPeek与Sniffer
- ·无线攻防:破解WEP密钥过程全解
- ·反病毒引擎设计全解
- ·PHP注入某大型网站
- ·Php+Mysql注入专题
- ·sqlexp攻击.怎么防止?
- ·Win2003服务器组网、安全管理全攻略(1)
- ·Windows组策略屏蔽U盘有妙法(图)
- ·104种清除木马方法
- ·检测和删除系统中的木马(Trojan Horse)教程
- ·IIS攻击与日志
- ·ASP漏洞大集合最新
- ·什么是注入式攻击(1)
- ·Do All in Cmd Shell (一切尽在命令行)
- ·使用 OpenSSL API 进行安全编程
- ·IP 伪 装 法
- ·禁止139/445端口连接
- ·百炼成钢-打磨你的Outpost防火墙
- ·网络钓鱼式攻击 挂QQ等级网站
特别推荐
- ·用路由器来减轻DDOS攻击危害
- ·加强边界路由器安全防护的9个步骤
- ·10种方法减少内部人员的安全风险
- ·网络安全技术 再谈跨站脚本攻击与防御
- ·禁止139/445端口连接
- ·Windows组策略屏蔽U盘有妙法(图)
- ·IIS攻击与日志
- ·ASP漏洞大集合最新
- ·网络安全常识:九招防范黑客的简单办法
- ·Webmail攻防实战
- ·认清主动防御 安全软件的困惑与走向
- ·网络安全新木桶理论与信息安全
- ·网络钓鱼式攻击 挂QQ等级网站
- ·黑客入侵具体环节
- ·IP 伪 装 法
- ·TCP端口的作用、漏洞和操作建议
- ·104种清除木马方法
- ·CGI漏洞集锦
- ·什么是注入式攻击(1)
- ·Win2003服务器组网、安全管理全攻略(1)
