- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 OPENSSL API 进行安全编程
学习如何使用 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 保护任何连
文档评论(0)