1.下载openssl

下载链接:https://www.openssl.org/source/snapshot/

里边是当前仍支持版本的快照;同版本不同日期内容可能不同的,所以下载一般下对应版本的最新快照;安装出错则尝试另一个快照。

解压后的文件夹下有INSTALL和README等文件。

2.安装

以root身份执行:

openssl version        #查看安装前openssl版本

tar -zxf openssl-1.0.-stable-SNAP-.tar.gz
cd openssl-1.0.-stable-SNAP-
./config shared zlib-dynamic
make depend #如果提示要运行
make #如果报错,按其建议使用./config -fPIC重新配置,shared等参数就不要了
make test
make install

3.替换旧版本

由于openssl新版不会直接覆盖旧版本,所以我们需要手动用新文件去替换掉旧版文件。

mv /usr/bin/openssl /usr/bin/openssl.old
mv /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo "/usr/local/ssl/lib" >> /etc/ld.so.conf #在/etc/ld.so.conf文件中写入openssl库文件的搜索路径
ldconfig -v #使修改后的/etc/ld.so.conf生效
openssl version #查看版本,看更新是否成功

4. openssl基本命令使用

openssl其实包括三部分:SSL协议库、应用程序(openssl可执行程序)以及密码算法库(包括各类主流加密算法)。

# 使用md5算法计算/etc/passwd文件的md5值
openssl md5 /etc/passwd # 列出当前openssl支持的加密套件
openssl ciphers # 使用指定的加密套件去连接服务器,CONNECTED则表示服务端支持该加密套件,报错则表示不支持
openssl s_client -cipher "TLS_RSA_WITH_3DES_EDE_CBC_SHA" -connect 192.168.220.128:
# 监于服务端支持则能连接,不支持则连接报错,所以我们可以反复使用以上命令探测服务端支持哪些加密套件
# 但,探查服务端支持哪些加密套件最好的办法是nmap --script ssl-enum-ciphers -p 443 www.example.com
# 参考: https://superuser.com/questions/109213/how-do-i-list-the-ssl-tls-cipher-suites-a-particular-website-offers

参考:

https://wenku.baidu.com/view/b3d7009d69eae009591becb3.html(其中说的libssl.so依赖库在编译出的文件中并没有发现,所以我们这里依赖库没改)

http://www.zuimoban.com/jiaocheng/linux/4244.html

https://superuser.com/questions/109213/how-do-i-list-the-ssl-tls-cipher-suites-a-particular-website-offers

openssl安装/更新教程(CentOS)的更多相关文章

  1. openssh安装/更新教程(CentOS)

    由于rpm包版本总落后于tar包,对于想安装新版本或由于漏洞需要更新到新版本那只能选择源代方式编译安装. 更新执行和安装一样的步骤就行了. 1.下载 官方网址:http://www.openssh.c ...

  2. (转载)Centos下Elasticsearch安装详细教程

    原文地址:http://www.cnblogs.com/sunny1009/articles/7874251.html Centos下Elasticsearch安装详细教程 1.Elasticsear ...

  3. CentOS 6.5 安装 php7 教程 包很重要使用lnmp1.4里面的包

    ./configure \ --prefix=/usr/local/php-7.0.1 \ --with-mysql=mysqlnd \ --with-pdo-mysql=mysqlnd \ --wi ...

  4. CENTOS --5分钟搞定Nginx安装的教程

    1. 安装gcc(centos 7之后一般已自带,可以在第6步失败后再安装) yum install gcc gcc-c++ 2. 安装pcre yum install -y pcre pcre-de ...

  5. Centos安装elasticsearch教程

    elasticsearch安装是ytkah在做laravel电商站内搜索要实现的,通过自己的搜索和学习能力不算很费力解决了.下面就整理一下安装elasticsearch教程,服务器是Centos 7, ...

  6. centos/rhel 6.5(更新至centos 7)下rabbitmq安装(最简单方便的方式)

    vim /etc/hosts 增加 127.0.0.1 hostname 不然启动的时候可能会报如下错误: [root@devel2 rabbitmq]# rabbitmq-server ERROR: ...

  7. centos安装更新Python2.7以及pip的安装

    一.首先对相关的软件进行更新 python -V yum -y update yum groupinstall -y development yum install -y zlib zlib-dev ...

  8. Centos安装smokeping教程

    Centos安装smokeping教程 一 .安装基本依赖包 ntpdate time.windows.com #64bit rpm -Uhv http://apt.sw.be/redhat/el6/ ...

  9. Centos下Elasticsearch安装详细教程

    Centos下Elasticsearch安装详细教程 1.Elasticsearch简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于 ...

随机推荐

  1. perl hash array 嵌套 push

    $hash{"A"}=["pp"];想变成:$hash{"A"}=["p","q"];因为 $has ...

  2. gulp常用方法

    var gulp = require('gulp'); var concat = require('gulp-concat'); //使用gulp-concat合并文件,减少网络请求(静态资源数量): ...

  3. 【BZOJ】3209: 花神的数论题

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3209 显然是按照二进制位进行DP. 考虑预处理$F[i][j]$表示到了二进制的第$i$位 ...

  4. Abode Audition 的使用

    讲一下音频的合并,音量放大,音频截取,音频删除等. 我下载的是Abode Audition 3.0的试用版本,可以免费使用30天. 1. 将抖音中小视频保存下来,成为mp4文件,然而Audition ...

  5. git checkout -b 分支name 分支的新建, 切换, 删除, 查看

    $ git checkout 711 -berror: switch `b' requires a value 以上, 可以看出, 参数 -b  放到最后是错误的. 711@MININT- 64 /d ...

  6. Linux下HBase和Maven的环境搭建

    Maven环境部署如下: maven下载并进行环变量配置 export MAVEN_HOME=/home/hadoop/app/apache-maven-3.3.9export PATH=$MAVEN ...

  7. Jmeter 接口测试知识梳理——环境搭建篇

    Jmeter 使用也有很长时间了,但是一直没有做一下知识梳理,近期会对公司同事做一下这方面的培训,借此机会,把使用过程中应用到的知识,或是遇到的问题,整理出来,方便大家学习! 环境搭建篇 很多文章介绍 ...

  8. python中简单的递归(断点报错的小福利)

    首先要先理解什么是递归? 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 下面讲了一个很简单的递归函数 def clac(n): print(n) if int( ...

  9. Ruby 基础教程 第二部分 Ruby 的基础 第4章

    第二部分 Ruby 的基础 第4章~第6章 这一部分是 Ruby 编程需要遵守的规则. 第四章 对象,变量与常量 对象 & 类 对象的常见种类: 数值对象 字符串对象 数组.散列对象 正则表达 ...

  10. pythoncook 文件和io

    1.文件不存在,则写入:文件存在则,报错 try: with open('file','x') as f: f.write() except FileExistsError: print('file ...