openssl框架闲谈--总论

By | 02月09日
Advertisement

接触openssl已经有一段时间了,我读过很多源码,感觉不错的也就那么几个,linux内核是其中之 一,openssl也是其中之一。openssl说白了不是什么功能性的东西,而是提供了一个支撑性的底层框架,本质上和linux内核一样,但是和 apache有区别,apache明确的实现了一个功能,就是web服务器,而openssl中我认为最重要的就是它提供的BIO框架和EVP框架,与其 说openssl是一个ssl的实现不如说ssl只不过是openssl框架的一个demo,本质上openssl提供了一套抽象的IO接口,这就是 BIO,还有一套很容易使用的加密解密接口,这就是EVP,最后证实ssl这个协议使用了上述两类接口,如果从这个意义上讲的话,apache其实也是这 样的,在构建顶层的web服务器之前首先实现了一套apr通用框架,甚至memcahce使用的libevent也是这样,这就是说很多的成功的开源的代 码与其说是一种专用的程序倒不如说包含有一套通用的框架,而这个带代码的原始意义最后退化成了使用这个通用框架的一个实例,最起码我看好的几个开源项目都 是这样。策略和机制分离,可扩展性十分棒,用起来十分灵活。

本文出自 “我来,我看,我征服” 博客,请务必保留此出处

Similar Posts:

  • C\C++ 框架和库整理(转)

    [本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来

  • Python Django Web 框架,从安装到完成 Web 站点的设计

    1.安装必要软件包 yum -y install make gcc* gcc-c++ libjpeg-devel libpng-devel zlib-devel tcl-devel freetype-devel libevent-devel openssl-devel db4-devel curl-devel pcre-devel ncurses-devel readline-devel sqlite-devel ntp iptraf sysstat screen subversion wget

  • Linux加密和解密、openssl的基本应用及CA的实现过程

    一.数据加密方式 加密方式分为:单向加密.对称加密和公钥加密. 1.对称加密 对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密.在对称加密算法中常用的算法有:DES.3DES.TDEA.Blowfish.RC2.RC4.RC5.IDEA.SKIPJACK.AES等. 特性: 1.加密.解密使用同一个密钥: 2.将原始数据分割成固定大小的块,逐个进行加密: 缺陷: 1.密钥过多: 2.密钥分发: 对称加密过程如下图所示: 2.

  • 加密 解密过程详解及openssl自建CA  

    加密 解密过程详解及openssl自建CA 为了数据信息能够安全的传输要求数据要有一定的安全性那么数据的安全性包含哪些方面的特性呢? NIST(美国信息安全署)做了如下的定义: 保密性: 1,数据的保密性 指的是数据或隐私不向非授权者泄漏 2,隐私性 信息不被随意的收集 完整性: 1,数据的的完整性:信息或程序只能被指定或授权的方式改变不能被随意的 修改 2,系统的完整性:确保系统以正常的方式执行预定的功能 可用性: 对授权的用户不要拒绝服务且能工作迅速 以上为NIST的定义规范,但是实际经验告

  • Java中使用OpenSSL生成的RSA公私钥进行数据加解密

    本文出处:http://blog.csdn.net/chaijunkun/article/details/7275632,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在原始出处查看此文. RSA是什么:RSA公钥加密算法是1977年由Ron Rivest.Adi Shamirh和LenAdleman在(美国麻省理工学院)开发的.RSA取名来自开发他们三者的名字.RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加

  • Struts2.x+JFreeChart搭建框架出错(四)

    Struts2.x+JFreeChart搭建框架出错(三) 导入commons-lang3-3.1.jar包之后,还是出现新的问题: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] [ -nonaming ] { -help | start | stop } 2013-7-28 14:39:27 org.apache.catalina.core.AprLifecycleListener init 信息

  • 【转载】值得推荐的C/C++框架和库

    原文:值得推荐的C/C++框架和库 值得学习的C语言开源项目 Libevent libev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施.其以高效出名,它可以将IO事件,定时器,和信号统一起来,统一放在事件处理这一套框架下处理.基于Reactor模式,效率较高,并且代码精简(4.15版本8000多行),是学习事件驱动编程的很好的资源. 下载链接:https://github.com/libevent/libevent Memcached Memcached 是一个高性能

  • iOS框架介绍

    iOS框架介绍 Cocoa Touch GameKit 实现对游戏中心的支持,让用户能够在线共享他们的游戏相关的信息 iOS设备之间蓝牙数据传输 从iOS7开始过期 局域网游戏 http://www.cnblogs.com/KidReborn/archive/2011/10/17/2215641.html iAd 用来在应用中提供广告条 广告条与用户UI视图进行合并,与苹果的iAd服务一起工作,自动处理.加载和呈现富媒体广告以及应答在那些广告条上的点击等所有相关的工作.http://www.co

  • iOS RSA加密用OpenSSL

    iOS使用RSA加密有两种方式: 1.使用Apple SDK中的Security.framework框架实现(具体细节,请各位小伙伴还是查看官方资料吧,因为这里不是说明具体的细节的): 2.使用开源库OpenSSL来实现. 使用OpenSSL需要做一些前期工作: http://x2on.de/2010/07/13/tutorial-iphone-app-with-compiled-openssl-1-0-0a-library/ 或者这里:http://x2on.de/2010/02/01/tut

  • 项目闲谈(一)

    参与到这个项目已经有1年半的时间了,而这个项目在我来之前的七八个月前就开始了,也就是说到现在为止,这个项目已经做了两年多了,所以这个项目还是蛮庞大的,一直想写些什么来记录下,但由于本人比较懒,所以才拖到现在才写,当然还有个原因就是每次想写,但又不知从何处开始,然后,就没有然后了...随便写吧,就从telerik控件说起吧. Telerik公司针对不同的平台有不同的控件,这里我想讲一下 WebForm 框架下RadControls For Asp.net Ajax,顺便提一下,在我做的这个MES系

Tags: