密码学专题 openssl编译和安装

Configure 脚本文件

  • 使得OpenSSL可以适应多种不同的系统平台和多达几十种不同的编译器。Configure指令还可以使OpenSSL在编译的时候具备组件的选择功能,比如可以选择支持或者不支持某种算法或者协议等,这使得OpenSSL具有很大的灵活性,比如在空间有限的嵌入式系统移植中就具备独特的优势。定制化选择对应的组件
  • Configure指令还有其他一些灵活的功能,比如选择OpenSSL安装目录、是否支持汇编编译(通常为了加快速度)、是否支持硬件或者某种特定的硬件、编译的时候是否生成动态链接库、是否支持动态加载其他动态链接库,等等。
  • Configure指令事实上根据配置选项,重新改写和生成了opensslv.h,opensslconf.h,Makefile.sl三个文件,从而达到配置的目的。在Windows下,还会生成错误信息提示文件buildinf.h,该文件在Crypto根目录下

使用方式

  • 直接的方式:例如win: Perl Configure VC-NIN32;Configure可以带很多参数,比如要在编译的版本中去掉调用其他动态链接库的功能,就可以使用下面的Configure指令  Perl Configure VC-NIN32  no-dso
  • 间接的方式,如在Linux系统中,就是通过运行config指令来调用Configure指令的。事实上,在这种情况下,config指令自动提取了一些环境变量作为Configure的参数执行,比如自动识别系统的内核版本和编译器并设定参数等。

参数介绍

基于Linux系统的编译和安装

  • 所以,在Linux系统下编译完OpenSSL后,我们会得到一个可执行程序openssl,两个链接库libcrypto.a和libssl.a,如果你选择编译为动态链接库的模式,还会得到另外两个有用的动态链接库libcrypto.so.0.9.7和libssl.so.0.9.7文件。此外,在使用OpenSSL编程的时候,你还需要用到include目录下的头文件。 

使用Configure指令手动配置安装环境

  • 参考链接 
  • 从零开始配置服务器密码机的开发环境_CHYabc123456hh的博客-CSDN博客   
  • 安装 sudo apt-get install openssl
  • 安装 sudo apt-get install libssl-dev
  • Linux(centos7)下安装OpenSSL 安装详解_木亦汐丫-CSDN博客 
  • 使用./config或者./Configure指令配置环境,生成编译安装脚本;
  • 使用make指令执行编译任务;
  • 使用make test指令测试编译好的程序;
  • 使用make install指令安装OpenSSL到默认的/usr/local目录   需要具备root权限,在命令前面加上sudo
  • /source/index.html
  • .github - openssl/openssl - Sourcegraph 
  • OpenSSL所有使用的东西都安装在默认的路径/usr/local/ssl目录下面,进入该目录,首先会发现一个opensl.cnf文件,这就是以后经常会用到的OpenSSL配置文件,主要是用于证书生成和管理方面的。
  • Bin子目录存放了OpenSSL可执行程序,也就是指令;
  • Include目录存放了使用OpenSSL开发的时候需要的头文件;
  • Lib目录存放了libcrypto.a和libssl.a两个库文件;
  • Man目录是OpenSSL的使用文档。

 使用config指令自动配置OpenSSL系统编译选项

  • config指令是首先的选择,它能够自动识别你的系统内核和一些配置,比如编译器,但是又给了你不少灵活的选项。config指令执行的方式如下:./config [option]
  • OpenSSL的0.9.7版本中有效的选项在表5.2中列了出来,你会发现,所有的选项都是前面介绍过的Configure选项中存在的,不过选项减少了一些。这很正常,因为config指令就是调用了Configure,不过它首先自动收集了一些系统的信息作为调用Configure的参数。所以,config指令所有这些参数的格式和用法也和Configure同名参数的格式和用法是相同的

测试config收集到的信息 

  •  使用命令 ./config-t 

  • 如果编译失败需要重新进行编译,使用 make clean命令 并使用make继续编译

 

  • 使用openssl进行编程的时候 引入头文件 需要采用如下的形式 #include<openssl/ssl.h> 需要加上openssl 避免同名干扰的问题 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值