本节将对OpenSSL的结构、功能以及在Windows平台、Linux平台下的编译安装做一个简单的介绍。
OpenSSL---简介
OpenSSL是一个功能丰富且自包含的开源安全工具箱。它提供的主要功能有:SSL协议实现(包括SSLv2、SSLv3和TLSv1)、大量软算法(对称/非对称/摘要)、大数运算、非对称算法密钥生成、ASN.1编解码库、证书请求(PKCS10)编解码、数字证书编解码、CRL编解码、OCSP协议、数字证书验证、PKCS7标准实现和PKCS12个人数字证书格式实现等功能。
OpenSSL采用C语言作为开发语言,这使得它具有优秀的跨平台性能。OpenSSL支持Linux、UNIX、windows、Mac等平台。
OpenSSL---结构
第一次从openssl的官方网站下载了OPenSSL压缩包并解压到硬盘时,面对OpenSSL目录里面的众多目录和文件,感觉是一头雾水,不知从何下手。本节将对OpenSSL的这些目录结构做个大概介绍,对于了解OpenSSL做个基础。
OpenSSL---总体结构
Openssl软件包大体可以分为3个模块:密码算法库、SSL协议库以及应用程序。
Openssl的根目录下有许多文件,这些文件包含Openssl各个平台下的编译安装的说明文档、编译安装的配置文件以及Openssl本身版本变化的说明文档。例如以INSTALL*开头的都是基于不同平台的安装编译说明文件。格式为:INSTALL.平台。平台说明见图1-1。
图1-1 Openssl安装说明文件和相应的平台
在Openssl中有一些目录不是很重要。例如MacOS、Netware、ms、os2、VMS这几个目录,是不同的平台编译时候的环境变量配置文件。在安装编译完成后,这几个目录就失效了。Bugs、certs、perl、shlib、times、