OpenSSL库的编译与安装

24 篇文章 0 订阅
http://blog.csdn.net/lizhoujian/article/details/2850239
 
http://www.cnblogs.com/vilyLei/articles/2115970.html

  SSL是一种国际标准的加密及身份认证通信协议.SSL的英文全称是"Secure SocketsLayer",中文名为"安全套接层协议层",它是网景(Netscape)公司提出的基于 WEB应用的安全协议。SSL协议指定了一种在应用程序协议(如HTTP 、Telenet 、 NMTP 和 FTP 等)和 TCP/IP协议之间提供数据安全性分层的机制,它为 TCP/IP 连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证.
一. 下载OpenSSL源码包:
    下载网址: http://www.openssl.org,但最好还是在GOOGLE里面搜索WIN32版本的OpenSSL,网上很多.
二.OpenSSL编译:
      一.Windows系统下编译步骤:    
              1.安装VC6.0或更高版本;
              2.安装perl5或更高版本.下载网址: http://www.perl.com;
              3.解压 openssl;
              4.在控制台下进入openssl目录;
            5.输入"perl Configure VC-WIN32"进行安装配置;
            6.输入"ms/do_ms.bat"(可用其它方式完成,查看INSTALL.W32文件);
            7.输入"nmake -f ms/nt.mak"(静态库)或"nmake -fms/ntdll.mak"(动态库);
            安装完毕后,生成的库文件放在inc32目录下,动/静态库和可执行文件放在out32和out32dll目录下.                 
        二.Linux系统下编译步骤:( 具体安装步骤见下面
        1.解压openssl开发包文件;
        2.在命令模式下输入"./config--prefix=/usr/local/openssl"(其它选项用"./config --help"查看);
        3.make install;
        4.make test(测试,可选);
        安装完成后,openssl 会被安装到/usr/local/openssl 目录,包括头文件目录include、可执行
      文件目录bin、man在线帮助、库目录lib以及配置文件目录(ssl).                                   
三.Openssl安 装:  
    一.Windows系统下的安装步骤:
      1.新建openssl/include目录与openssl/lib目录;
          2.将openssl/inc32目录下的所有文件复制到include目录;
      3.将openssl/out32目录上的libeay32lib,SSLeay32.lib复制到lib目录;
          4.在vc6.0(以vc6.0为例,其它IDE可能不一样)中tools->optional->directory中可如头文件.
  二.linux系统下的安装步骤;
      在linux系统不用安装,默认就会安装到/usr/local/openssl下.     
 



linux 安装openssl-1.0.0d.tar.gz

1tar zxvf openssl-1.0.0d.tar.gz -C /opt/

2./config --prefix=/usr/local/openssl-1.0.0d shared zlib-dynamic enable-camellia --prefix=/usr/local/openssl-1.0.0d

(一般的linux系统用命令为: ./Configure)

3./config -t

4make depend

5make

6make test

7make install

 

附加: 为了ssl

a:$ /usr/local/ssl-0.9.8lk/ssl

b:$ vi openssl.cnf

 default_bits 1024  

 改 default_bits 8192//为了安全最好改为4096以上的数据

c:$ countryName Country Name (2 letter code) 

 改 countryName  CN //只能使用2字母的国家代码

d:$ countryName_default             AU

  改countryName_default             Beijing

 Beijing //省份或直辖市名称

 

8a)cd /usr/local

 b)ln -s ssl-0.9.8lk ssl

9a)cd /etc/ld.so.conf.d

 b)cp -r /usr/local/ssl-0.9.8lk/lib/ ./

10cd /etc

 vi ld.so.conf

 加入:/usr/local/ssl-0.9.8lk/lib

11cd /usr/local/ssl-0.9.8lk/lib

 ldconfig

12vi /root/.bash_profile 

 另外一个终端:echo $PATH 把PATH显示路径加入到.bash_profile里

 例如:  PATH=$PATH:/usr/local/ssl-0.9.8lk/bin$HOME/bin

13source  ~/.bash_profile

14cd /usr/local/

15ldd /usr/local/ssl-0.9.8lk/bin/openssl

16which openssl

17openssl version

不进行make install安装的话,就在你openssl的源码目录里,当然你config的时候需要指明shared,否则只有.a的,没有.so的。

如果config的时候,指定了prefix,那么就到你指定的目录去找,下面应该有个lib目录。

如果你的linux自带openssl的话,系统的lib目录下就有。libcrypto和libssl

一般源码的安装包里解压后都有个README,那个是最正确的。

养成个习惯,每次安装之前都去看看。

大部分的软件安装都是./configure && make && make install

但总有不同的,甚至相同软件包的不同版本都有差异


查看该安装目录下的所有目录名:
    #ls
      bin  certs   include  lib   man   misc  openssl.cnf   private
    其中:
    bin:存放openssl的应用程序
    certs:初始化的时候是空目录,用于存放证书文件的默认目录
    include:存放使用openssl的静态链接库的时候需要的头文件,以openssl目录存放
    lib:存放openssl静态链接库和动态链接库
    man:存放openssl的说明文档
    misc:存放一些脚本指令文件
    private:初始化的时候是空目录,用于存放私钥文件的默认目录。
    openssl.cnf:应该是配置文件


    注意:OpenSSL的头文件需用 apt-getinstall libssl-dev来安装.


------------------------------------------------------------------------------------------------------------------------------------------
解释的比较详细:
     
先安装zlib,见linux下安装zlib
安装openssl

Our Configuration

  • Install to : 默认安装路径 /usr/local/ssl
  • Module type : dynamically and staticly loaded modules, *.so*.a

Build Instructions

Configure
.../openssl-0.9.8c]# ./config--prefix=/usr/local/ --openssldir=/usr/local/openssl -g3 shared zlib-dynamicenable-camellia

  • --prefix=/usr/local/ --openssldir=/usr/local/openssl
    [指定安装路 径; 默认是'/usr/local/ssl' -- which we willsymlink]
  • shared
    [in addition to the usual static libraries, create sharedlibraries]
  • zlib-dynamic
    [like "zlib", but has OpenSSL load the zlib librarydynamically when needed]
  • enable-camellia
    [enables the symmetric cipher 'Camellia' (128-bit, 192-bit,256-bit key versions), which is now available for royalty-freeuse]
  • 运行./config --prefix=/usr/local/openssl (更多选项用./config --help来查看),可用的选项有:no-mdc2、no-cast no-rc2、no-rc5、no-ripemd、no-rc4 no-des 、no-md2、no-md4、no-idea 、no-aes、no-bf、no-err、no-dsa、no-dh、no-ec、no-hw、no-asm、no-krb5、no-dso 、no-threads 、no-zlib、-DOPENSSL_NO_HASH_COMP、-DOPENSSL_NO_ERR、-DOPENSSL_NO_HW 、-DOPENSSL_NO_OCSP、-DOPENSSL_NO_SHA256-DOPENSSL_NO_SHA512等。去掉不必要的内容可以减少生成库的大小。 若要生成debug版本的库和可执行程序加-g或者-g3(openssl中有很多宏,需要调试学习最好加上-g3)。

display guess on system made by './config'...

.../openssl-0.9.8c]# ./config -t
正 式安装,Build and Install
  • .../openssl-0.9.8c]# make depend
    [step required since extra cipher wasenabled]     (时间很长)
  • .../openssl-0.9.8c]# make                    (时间很长,慢慢等待)
  • .../openssl-0.9.8c]# make test
  • .../openssl-0.9.8c]# make install


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值