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. django使用MySQL数据库

    在实际生产环境,Django是不可能使用SQLite这种轻量级的基于文件的数据库作为生产数据库.一般较多的会选择MySQL. 下面介绍一下如何在Django中使用MySQL数据库. 一.安装MySQL ...

  2. 力扣(LeetCode)965. 单值二叉树

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树. 只有给定的树是单值二叉树时,才返回 true:否则返回 false. 思路 递归 java版 /** * Definition for ...

  3. python paramiko 模块简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...

  4. xlua怎么样hotfix C#中的重写方法???

    问题的来源之这样的: 线上项目遇到一个问题,就是子类 override 了父类的一个 virtual 方法,并且调用到了父类里面的 virtual 方法.现在子类  override 的方法里有一些错 ...

  5. Go语言学习之4 递归&闭包&数组切片&map&锁

    主要内容: 1. 内置函数.递归函数.闭包2. 数组与切片3. map数据结构4. package介绍 5. 排序相关 1. 内置函数.递归函数.闭包 1)内置函数 (1). close:主要用来关闭 ...

  6. 十分钟带你理解Kubernetes核心概念

    什么是Kubernetes? Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展.如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成K ...

  7. [jQuery] 通过ajax保存到服务器,成功显示信息.

    保存数据到服务器,成功时显示信息. jQuery 代码: $.ajax({ type: "POST", url: "some.php", data: " ...

  8. 20165327 学习基础和C语言基础调查

    学习基础和C语言基础调查 一.关于技能 1. 你有什么技能比大多人(超过90%以上)更好? 根据数据来看,应该是短跑(几次测速50米平均时间6.5s),上学期的体测中短跑这项成绩在班上排前面,我们这个 ...

  9. python cook 整理

    1.字符串分割 单个分隔符    'abc'.split('b')  >> ['a','c'] 多个分隔符    re.split(r'[b,d]','abcde') >>&g ...

  10. English Voice of << Last Christmas >>

    Last Christmas填 词:乔治·迈克尔谱 曲:乔治·迈克尔编 曲:乔治·迈克尔歌词:Last Christmas I gave you my heart去年的圣诞节,我把心给了你But th ...