文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术网络安全使用 OpenSSL API 进行安全编程
精品推荐
特别推荐
·无线入侵的技术细节
·SQL注入和CSS攻击的检测
·详解:五种Windows常用密码设置
·浅析黑客攻击时的常用方法和攻击步骤
·不怕攻击 家庭上网必学八招安全绝招
·入门者如何获取肉鸡
·Linux安全配置步骤简述
·Wi-Fi网络安全探讨及组网策略
·网页病毒的概念
·保障您网站安全的十点技巧
·技巧:网上交易密码保护的几种窍门
·六个简单方法防止上网被钓鱼
·PING命令的小秘密
·安全第一 网络端口扫描技术介绍
·十大网络工具帮你审核网络安全
·信息安全问题需解决方案
·多角度详细解释网站安全保护方法
·端口截听实现端口隐藏,嗅叹与攻击
·用Win NT/2K 建WEB站点安全指南
·实现 Web 应用程序安全的捷径
热点TOP10
·解析远程控制带来的安全危险
·内网数据库服务器入侵实战
·不怕攻击 家庭上网必学八招安全绝招
·PING命令的小秘密
·MD5 Password Cracker 一个国外的md5爆破工具(速度极快)
·安全漏洞的起因:ActiveX技术安全报告
·使用Windows的安全802.11网络企业部署一
·黑客攻击步骤-如何获得IP
·恢复本来面目 消除JPEG图片马赛克
·认识映象劫持技术原理与解决办法
·保障您网站安全的十点技巧
·交换环境下SNIFFER的攻击技术手段
·防范于未然 2008五大企业安全问题预测
·假冒腾讯qq网络骗子欺诈骗术大曝光
·企业安全 减少内部安全风险的10种方法
·让尘封的DOS机莺歌燕舞欢喜过大年
·确保数据中心虚拟化安全10个步骤
·2007年12月十大网络安全漏洞综述
·大网站是保障网络安全的技巧
·检查并堵住网站的eWebEditor漏洞

使用 OpenSSL API 进行安全编程

日期:2004年10月26日 作者:清风网络学院 查看:[大字体 中字体 小字体]


创建基本的安全连接和非安全连接

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 命令行工具的资料,请参阅 参考资料 部分。

您需要什么
首先需要的是最新版本的 OpenSSL。查阅参考资料部分,以确定从哪里可以获得最新的可以自己编译的源代码,或者最新版本的二进制文件(如果您不希望花费时间来编译的话)。不过,为了安全起见,我建议您下载最新的源代码并自己编译它。二进制版本通常是由第三方而不是由 OpenSSL 的开发人员来编译和发行的。

一些 Linux 的发行版本附带了 OpenSSL 的二进制版本,对于学习如何使用 OpenSSL 库来说,这足够了;不过,如果您打算去做一些实际的事情,那么一定要得到最新的版本,并保持该版本一直是最新的。

对于以 RPM 形式安装的 Linux 发行版本(Red Hat、Mandrake 等),建议您通过从发行版本制造商那里获得 RPM 程序包来更新您的 OpenSSL 发行版本。出于安全方面的原因,建议您使用最新版本的发行版本。如果您的发行版本不能使用最新版本的 OpenSSL,那么建议您只覆盖库文件,不要覆盖可执行文件。OpenSSL 附带的 FAQ 文档中包含了有关这方面的细节。

还要注意的是,OpenSSL 并没有在所有的平台上都获得官方支持。虽然制造商已经尽力使其能够跨平台兼容,但仍然存在 OpenSSL 不能用于您的计算机 和/或 操作系统的可能。请参阅 OpenSSL 的 Web 站点(参考资料 中的链接),以获得关于哪些平台可以得到支持的信息。

如果想使用 OpenSSL 来生成证书请求和数字证书,那么必须创建一个配置文件。在 OpenSSL 程序包的 apps 文件夹中,有一个名为 openssl.cnf 的可用模板文件。我不会对该文件进行讨论,因为这不在本文要求范围之内。不过,该模板文件有一些非常好的注释,而且如果在 Internet 上搜索,您可以找到很多讨论修改该文件的教程。

头文件和初始化

[1] [2] [3] [4] [5] [6] 下一页 




上一篇:演示从注册表中还原MSNMessenger口令

下一篇:远程文件包含漏洞的利用

使用 OpenSSL API 进行安全编程 相关文章:
·socket编程原理
·GHOST使用方法(图解)
·IE7.0浏览器有用的9个使用技巧
·局域网上网的安全防范与技巧
·《拳王2002》隐藏人物使用法[PS2]
·如何进行局域网设置
·Vista系统使用技巧总结
·溯雪使用说明
·中小企业整体网络安全解决方案解析
·解析远程控制带来的安全危险
使用 OpenSSL API 进行安全编程 相关软件:
·黑客视频教程 VMware虚拟机的安装和使用
·2007网络安全黄皮书V1.0.0
·使用GPMC随心所欲管理组策略
·黑客视频教程-灰鸽子远控使用教程
·Adobe Photoshop CS 2 简体中文使用指南
·如何加固Windows XP 主机安全
·数码相机购买使用宝典 V1.03.29
·FLASH 8中文使用手册
·360安全卫士v3.2
·流光使用

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot