黑客眼中的OpenSSL:强大的密码工具

豆豆网   技术应用频道   2008年03月28日    社区交流

内容摘要:enSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

  OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。

  OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

  这里简单说一下OpenSSL的背景,在OpenSSL之前,叫做ssleay,它是一个由Eric A.Young编写的SSL工具,它不断改进最终变成了OpenSSL,与NCSA的HTTPd变成Apache服务器的过程非常类似,今天,OpenSSL支持多种加密算法和协议。

  OpenSSL有许多的特征,而且还有SSL客户端和服务端特征,OpenSSL还有:

  ◆美国联邦政府NIST FIPS 140-2一级评估确认

  ◆TLS,下一代SSL协议

  ◆X.509密钥和证书的生成

  ◆X.509证书权力

  ◆S/MIME加密

  ◆文件加密和粉碎

  ◆打乱UNIX密码

  ◆9个不同的商业密码硬件设备

  ◆密码性能测试

  ◆36个命令

  ◆6个消息摘要算法

  ◆9个密码算法

  ◆多个加密协议

  尽管OpenSSL很复杂,但是大量的复杂性可以被避免的,本文剩下的部分将集中在易于使用的特征上,在shell代码中仅仅需要几行就可以了。

  本文使用与我早期编写的GnuPG Hacks文章一致的小结标题,以便于比较OpenSSL和GnuPG。

  入门

  首先,确认一下OpenSSL已经安装并处于你的路径之下,许多Linux发行版,甚至一下小的发行版,都包括了OpenSSL,通常,OpenSSL处于/usr/bin/下。

  在所有的例子中,shell提示符都是$。

  第一步,输入:

  $ openssl version

  注意这里在version选项前是没有破折号的。

  你应该看到类似下面这样的输出:

来源:51CTO    作者:黄永兵    责编:豆豆技术应用

正在加载评论...