终于在自己不断的奋斗之后,来到科大的一波考试过去了,但是为了不使自己过于放松,回顾一下之前的东西,做一下笔记。所以新开一个专题笔记:

Using Apache with SSL

引入:
首先我们在平时的访问网站的时候,数据的传输协议是HTTP协议,这个协议是明文传输的,也就是说存在数据安全的问题。但是在电子商务的时代,我们需要数据安全地传输,这样SSL协议就应运而生了。
SSL在网络协议栈的位置:

我们平时在线支付的时候,浏览器的地址栏中的地址是https,也就是说是http over SSL。

当然支持SSL协议的软件库很多,但是推荐一款开源的OpenSSL,因为安全软件嘛,你的安全要放在桌面上,让大家看的见,不能有隐藏的漏洞。

正式开始:

讲解实验的环境:
VMWare虚拟机
CentOS Linux操作系统
Apache服务器
OpenSSL安全协议库
Google Chrome浏览器
学习目的:
①安装OpenSSL开源库
②加解密的基本知识
③SSL协议讲解(Secure Sockets Layer)
④在Apache中配置SSL协议
⑤配置CA数字证书
⑥SSL潜在的风险和漏洞,如何避免

安装OpenSSL开源库

首先进入OpenSSL的官方网站:http://www.openssl.org/
然后看到它的宣传标语和网站导航目录:
                            
从导航的Source中我们就能找到OpenSSL的源码,然后下载安装就ok了。我这里选择1.0.1e版本的:

然后通过Filezilla把OpenSSL传输到Linux虚拟机中去。然后在Linux中源码安装OpenSSL开源库。
源码安装首先要进行编译,把这个开源库编译成可执行文件或相关的库文件,所以CentOS中一定要有GCC编译器,

源码安装三部曲:
config:配置环境,检测相关库的完整性,其实就是执行一个配置脚本,传一些参数(看文档)
make:编译
make install:把编译好的可执行文件或者相关的库拷贝到config时指定的目录中去

下面开始安装:

配置环境:
tar zxvf openssl-1.0.1e.tar.gz(解压文件)
cd openssl-1.0.1e(进入到这个目录里面)
./config --prefix=/opt/openssl(执行这个目录下的config脚本,并且传入参数表明安装的目录)

编译源码:
make(编译)

安装:
make install(把编译好的可执行文件或者相关的库拷贝到config时指定的目录中去)

到此为止,OpenSSL这个安全库就安装结束了,利用Linux的相关命令查看安装的信息:
rpm -qa | grep openssl(查看系统中是否有openssl这个软件)
which openssl(查看openssl的安装的目录,这个目录就是在config中设置的目录)

至此我们的openssl真正的可执行文件的目录为:/opt/openssl/bin/openssl

加密传输SSL协议1_OpenSSL的安装的更多相关文章

  1. 加密传输SSL协议8_Apache服务器的安装

    学习了那么多的理论的知识,下面通过在Apache服务器中安装和使用SSL协议,实现安全传输,但是首先要安装好Apache服务器. Apache服务器的安装 Linux下所有的软件的原码的安装都是三部曲 ...

  2. 加密传输SSL协议7_SSL协议概述

    SSL(Secure Sockets Layer) SSL的功能,可以在通信的双方中建立一个加密的通信通道 同时还可以确认通信的双方是不是就是其声称的人,防止被钓鱼. SSL在网络协议栈中的位置:可以 ...

  3. 加密传输SSL协议6_验证公钥

    如上图所示,我怎么能确定我手里的公钥就是我心中的接收方的公钥呢?怎么防止被钓鱼呢? 解决的办法就是引入一个第三方,一个权威机构,一个我们都相信的机构. 验证公钥,Digital Certificate ...

  4. 加密传输SSL协议5_Hash Function

    怎么对一个大的文件进行签名,因为文件比较大,非对称签名很慢.那么想,我能把这个大的文件通过一种函数变换,变成一个和源文件唯一对应的的小的文件吗?答案是可以的. Hash Function 这里任何的文 ...

  5. 加密传输SSL协议4_综合方案

    隔了那么多天终于有时间继续把这个专题做完了,这次一定连续写完这方面的笔记. 上篇博文说明了非对称加密和对称加密各自的优缺点,那么就很自然的衍生出了一种综合的方案. 两种方案的结合--扬长避短 首先发送 ...

  6. 加密传输SSL协议2_传统加密

    原本到了睡觉的时间,但是做完了SSL的笔记还有GCC和Oracle等的好多的笔记,所以刻苦一点. The Priciple of Encryption/Decryption --conventiona ...

  7. 加密传输SSL协议3_非对称加密

    困死了,这里对非对称加密体系开个头,具体的实验明天写 非对称加密体系 为了解决对称加密中密钥的传输的问题,一些天才的数学家就提出了非对称式的加密体系,也称为公钥加密体系. 加密和解密的密钥是不同的.一 ...

  8. 学习笔记: MD5/DES/RSA三类加密,SSL协议解析

    1. 不对称可逆加密的 的2种用法 (1)保证信息不被篡改 (2) 保证信息只能被我看到 2. CA证书的基本原理 流程如下:  百度公司 向CA机构报备 持有者姓名, 有效期, 要发布的公钥 , 扩 ...

  9. HTTPS(身披SSL协议的HTTP)

    参考链接: HTTP 与 HTTPS 的区别 HTTPS科普扫盲帖 HTTPS小结 HTTP 和 HTTPS 区别 HTTP是明文传输未加密,安全性差,HTTPS(HTTP + SSL)数据传输是加密 ...

随机推荐

  1. opengl笔记—— glMultMatrixf() 区别 glLoadMatrixf()

    能找到最好的解释来自:http://www.gamedev.net/topic/489879-glpushmatrixglpopmatrix--glloadmatrixf/ 原理: glPushMat ...

  2. UIPageViewController-浅析

    一.UIPageViewController概念   控件为我们提供了一种像翻书效果的一种控件.我们可以通过使用UIPageViewController控件,来完成类似图书一样的翻页控制方式.   二 ...

  3. Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

    这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加) <style type="text/css"> /*展示图片切换的div样式*/ #Sho ...

  4. Flink Program Guide (8) -- Working with State :Fault Tolerance(DataStream API编程指导 -- For Java)

    Working with State 本文翻译自Streaming Guide/ Fault Tolerance / Working with State ---------------------- ...

  5. php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)

    /** * 表单校验函数库 */ /** * 判断email格式是否正确 * @param $email */ function is_email($email) { return strlen($e ...

  6. C语言入门(20)——使用VC2013对C语言进行调试

    软件调试过程中,有时会一些逻辑和内存访问方面的问题,如果没有调试器的帮助,找出何处代码导致这块内存被更改是一件非常麻烦的事情.恰当运用数据断点可以快速帮我们定位问题的所在. 1.VC的调试快捷键 F5 ...

  7. 【转载】详解java类的生命周期

    原文地址:http://blog.csdn.net/zhengzhb/article/details/7517213 引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑, ...

  8. Jupyter Notebook通过latex输出pdf

    主要步骤 1.将ipynb编译成tex ipython nbconvert --to latex Example.ipynb 2. 修改tex,增加中文支持 在\documentclass{artic ...

  9. [amazonaccess 1]logistic.py 特征提取

    ---恢复内容开始--- 本文件对应logistic.py amazonaccess介绍: 根据入职员工的定位(员工角色代码.角色所属家族代码等特征)判断员工是否有访问某资源的权限 logistic. ...

  10. Recover a file when you use git reset head by mistake.

    $ git init Initialized empty Git repository in .git/ $ echo "testing reset" > file1 $ g ...