来源:http://wangyan.org/blog/install-openssl-from-source.html

OpenSSL 是一款开源的 SSL 软件包,采用 SSL 的公开密钥技术,用于实现传输层的通信加密功能。OpenSSL 支持 Linux、Windows、BSD、Mac 等平台,功能强大,包含丰富的密码算法库,SSL 协议库和应用程序。

一、SSL 基本常识

1.1、什么是 SSL?

安全套接层(Secure Sockets Layer,SSL), 最初由 netscape 公司设计,建立在传输层的安全通信协议,采用公开密钥体系的证书认证方式来确保客户端和 SSL 服务器之间的通信安全。

1.2、SSL 认证流程

SSL 客户端在 TCP 连接建立之后,发出一个消息(包含了客户端所支持的算法列表)给服务器端,然后服务器端返回一个数据包(确定了这次通信所需算法)和 SSL 服务器端的证书(包含了公钥)给客户端。客户端随后会用收到的公钥将消息加密再传送,该加密消息只能用 SSL 服务器端私钥解密,即便中途被截取也无法获知内容。

二、编译安装 OpenSSL

2.1、准备工作

系统版本:Ubuntu-10.10-Server-I386
更新源:apt-get update
升级软件:apt-get upgrade
更新系统:apt-get dist-upgrade

2.2、查看OpenSSL版本

部分 Linux 系统已默认安装了 OpenSSL 0.9.8,特别是 VPS 一般都安装了。

1
openssl version -a

2.3、安装基础编译环境

1
apt-get  install build-essential

2.3、编译安装 Zlib 库

1
2
3
4
5
wget http://zlib.net/zlib-1.2.5.tar.gz
tar -zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5/
./configure --prefix=/usr/local
make && make install

2.4、卸载旧版本 OpenSSL

1
2
apt-get purge openssl
rm -rf /etc/ssl #删除配置文件

2.5、编译与安装 OpenSSL

prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库。

1
2
3
4
5
6
7
8
wget ftp://ftp.openssl.org/source/openssl-1.0.0c.tar.gz
tar -zxf openssl-1.0.0c.tar.gz
cd openssl-1.0.0c/
./config  --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make && make install

进一步的配置可参考《OpenSSL-0.9.8g 安装与配置指南》

Linux 从源码编译安装 OpenSSL相关推荐

  1. 【Python 笔记】Linux 下源码编译安装 python

    本文记录在 Linux 上源码编译安装 python 的过程. 文章目录 1. 源码编译安装说明 2. 安装 python2.7 3. 安装 python3.6 1. 源码编译安装说明 安装过程比我想 ...

  2. Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录

    Python 3.10版本及其依赖项 Linux下源码编译 安装到指定路径/目录 安装需求 准备工作 Python及其依赖项 libffi glibc GDBM mpdecimal bz2 xz re ...

  3. Linux 下源码编译安装 vim 8.1

    前言 目前 linux 的各个发行版基本上都是带了一个 vi 编辑器的,而本文要说的 vim 编辑器对 vi 做了一些优化升级,更好用.当我们需要远程操作一台 linux 服务器的时候,只能使用命令行 ...

  4. Linux下源码编译安装新版libxcb

    前言 上一篇文章提到,linux 下编译Qt源码如果要用到Quick的话,那么运行时会依赖qxcb库,而编译生成qxcb库就需要先安装libxcb,并且最低要求 版本大于1.9.1 Requires ...

  5. git安装 perl ubuntu_【Git】Linux Ubuntu——源码编译安装Git 2.x 版本

    Git是一个开源的分布式版本控制系统,可以有效,高速的处理从很小到非常大的项目版本管理.Git与常用的版本控制工具CVS,Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持. ...

  6. Linux环境源码编译安装SVN

    zhoulf 2015/2/28 原创 安装说明 安装环境:Red Hat Enterprise Linux 安装方式:源码安装 软件:apr-1.5.0.tar.gz.apr-iconv-1.2.1 ...

  7. linux 编译配置文件,Linux程序源码编译安装的configure配置详解

    Linux环境下,如果通过源代码编译安装程序的简单过程可以 描述为:./configure-->make-->make install.其中./configure配置脚本功能就是对你的系统 ...

  8. Linux /centos7源码编译安装Nginx

    1.下载或上传nginx安装包 我这边使用wget命令直接在centos7上下载,上传安装包的可以忽略直接下一步 [root@localhost ~]# wget http://nginx.org/d ...

  9. Linux程序源码编译安装的configure配置详解

    Linux环境下,如果通过源代码编译安装程序的简单过程可以描述为:./configure–>make–>make install.其中./configure配置脚本功能就是对你的系统做很多 ...

最新文章

  1. linux系统调用理解之摘录(1)
  2. easyui datagrid java_EasyUI DataGrid 显示不了数据????
  3. selenium之截图
  4. Linux安装Yum包管理器
  5. SilverLight:基础控件使用(6)-Slider控件
  6. 后端服务接口都在测试什么?怎么测?
  7. OpenLayers 绘制,选中,鼠标悬浮
  8. Apache Tomcat漏洞总结
  9. JavaEE - 集合 - Collection集合
  10. 10019---JavaScript--闭包
  11. python爬虫之创建表格
  12. Maven学习(一)---Maven简介
  13. 2017第二届上海DAC体验
  14. 图文讲解安装Adobe Photoshop 2021 for Mac(附下载dmg安装包)
  15. JavaScript入门学习指南
  16. 计算机模拟飞行,模拟飞行 DCS F-14B Tomcat雄猫 中文指南 3.22计算机地址面板
  17. 如何度过生活的低谷?
  18. 电脑计算机桌面窄,大神讲解电脑屏幕变窄且两边是黑的鼠标点不到?
  19. HTML做一个简单漂亮的旅游网页(纯html代码)重庆旅游 7页
  20. CKEditor5记

热门文章

  1. c#中一个进程启动另一个进程并传递参数
  2. win32汇编基础概念
  3. IOS15使用Masonry和自动计算Cell的高度
  4. C++踩坑之连接mysql数据库
  5. micropython 实时音频传输_在线实时合唱的实现原理与难点是什么?
  6. JuPyter(IPython) Notebooks中使用pip安装Python的模块
  7. .net excel循环插数据_Python实战: 如何将数据从一个Excel文件移动到另一个?
  8. Android开发之Java的IO流读写的十种方法
  9. git生成秘钥配置SSH公钥的简单方法
  10. html vw自动跳到ie,CSS3动画/关键帧,在IE11问题中使用vw进行转换