什么是openssl_openssl里的fips是什么意思? - CSDN
精华内容
参与话题
  • OpenSSL什么

    2013-07-08 23:25:42
    OpenSSL项目的目的是通过开源合作精神开发一种健壮的、可以和同类型商业程序媲美的、全功能的,且开源的应用于SSL v2/v3(Secure Sockets Layer)和TLS v1(Transport Layer Security)协议的普遍适用的加密库工具集...
    OpenSSL项目的目的是通过开源合作精神开发一种健壮的、可以和同类型商业程序媲美的、全功能的,且开源的应用于SSL v2/v3(Secure Sockets Layer)和TLS v1(Transport Layer Security)协议的普遍适用的加密库工具集。
    
    展开全文
  • OpenSSL什么

    万次阅读 2017-08-26 22:47:11
    OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。  SSL是Secure Socket Layer(安全套...
      OpenSSL是为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

      SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已成为Internet上保密通讯的工业标准。安全套接层协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。通过以上叙述,SSL协议提供的安全信道有以下三个特性: 1、数据的保密性 信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密钥来加密数据然后再解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。 2、数据的完整性 加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户提供的加密信息,接收者可以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。 3、安全验证 加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安全验证的标识。SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。

      OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。

      OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。

      特点:

      众多的密码算法、公钥基础设施标准以及SSL协议,或许这些有趣的功能会让你产生实现所有这些算法和标准的想法。果真如此,在对你表示敬佩的同时,还是忍不住提醒你:这是一个令人望而生畏的过程。这个工作不再是简单的读懂几本密码学专著和协议文档那么简单,而是要理解所有这些算法、标准和协议文档的每一个细节,并用你可能很熟悉的C语言字符一个一个去实现这些定义和过程。我们不知道你将需要多少时间来完成这项有趣而可怕的工作,但肯定不是一年两年的问题。

      首先,应该感谢Eric A. Young和Tim J. Hudson,他们自1995年开始编写后来具有巨大影响的OpenSSL软件包,更令我们高兴的是,这是一个没有太多限制的开放源代码的软件包,这使得我们可以利用这个软件包做很多事情。Eric A. Young 和Tim J. Hudson是加拿大人,后来由于写OpenSSL功成名就之后就到大公司里赚大钱去了。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持。

      OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少。

      功能:

      基本功能

      OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

      作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

      辅助功能

      BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多。

      OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。

      OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜。
    展开全文
  • 什么是openssl

    千次阅读 2019-08-08 17:59:41
    openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。要想了解openssl,有几个前置的概念需要先熟悉一下: SSL SSL的全名叫做secure socket layer(安全套接字层),最开始是由一家叫网景的互联网...

    openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。要想了解openssl,有几个前置的概念需要先熟悉一下:

    SSL

    SSL的全名叫做secure socket layer(安全套接字层),最开始是由一家叫网景的互联网公司开发出来,主要是防止信息在互联网上传输的时候不被窃听或者篡改,后来网景公司提交SSL给ISOC组织做标准化,改名为TLS。
    在这里插入图片描述
    有些同学可能会好奇,说好好的数据怎么就被窃听以及修改呢?这个其实是很容易的,如果你上网连得的是wifi,那么你的数据一定会经过wifi路由器,通过对路由器做些手脚就可以拿到这些数据。

    非对称加密

    在数学上有这样一个现象:给两个质数,很容易算出他们的乘积,但是给你一个很大的数,你很难分解出两个质数,让他们的乘积正好等于这个很大的数。

    非对称加密就是基于以上的现象产生的,用一个密钥对数据进行加密,然后可以使用另外一个不同的密钥对数据进行解密,这两个密钥就是:公钥和私钥。
    在这里插入图片描述
    公钥和私钥是可以相互推导的,根据私钥,你可以很容易的算出公钥,但是根据公钥,你却很难很难算出私钥,在互联网上,私钥一般由服务器掌握,公钥则由客户端使用。根据公钥,理论上需要花费地球上所有的计算机计算数万年才能算出私钥,所以认为是非常安全的。

    数字签名

    将报文使用一定的HASH算法算出一个固定位数的摘要信息,然后用私钥将摘要加密,连同原来的报文一起,发送给接收者,接受者通过公钥将摘要解出来,也通过HASH算法算出报文摘要,如果两个摘要一致,说明数据未被篡改,数据是完整的。
    因为接收者是使用公钥解出的数据,如果数据完整,证明发送数据的人持有私钥,就能证明发送者的身份,因此数字签名具有证明发送者身份和防篡改的功能。
    在这里插入图片描述

    数字证书

    由CA颁发给网站的身份证书,里面包含了该网站的公钥,有效时间,网站的地址,CA的数字签名等。
    所谓的CA数字签名,实际上就是使用了CA的私钥将网站的公钥等信息进行了签名,当客户端请求服务器的时候,网站会把证书发给客户端,客户端首先可以通过CA的数字签名校验CA的身份,也能证明证书的真实完整性(之前说了,数字签名拥有证明身份和防篡改的功能)。
    在这里插入图片描述
    客户端有没有可能到一个假冒的CA去校验数字证书呢?不太可能,因为CA的地址是内嵌在浏览器中的,很难被篡改。

    SSL如何保护数据

    SSL保护数据的原理可以分为三部分
    1)认证用户和服务器,确保数据发送到正确的客户端和服务器;
    2)加密数据以防止数据中途被窃取;
    3)维护数据的完整性,确保数据在传输过程中不被改变。

    认证用户和服务器

    现在来思考这样的一个问题,当我们访问百度的时候,我们怎么知道自己访问的是真百度还是假百度?是不是有可能有人劫持了我们访问百度的请求,然后路由给了一台他伪造的服务器?在这里插入图片描述
    为了确定我们访问的服务器没有被伪造,在SSL的通信流程中做了这样一个规定:一旦我们向服务器发送了请求后,服务器必须返回它的数字证书,当我们拿到数字证书之后,我们可以根据里面的ca数字签名,校验证书的合法性(不是被伪造的)。
    此时,我们只能够证明证书确实是属于百度的,但不代表发送给我们证书的服务器就是百度,怎么办呢?
    在证书里面会带有百度服务器的公钥,在之后的通信当中,客户端会使用该公钥加密数据给百度服务器,百度服务器必须使用私钥才能够解出里面的数据,假设百度服务器是假冒的,他一定没有正确的私钥,那么之后的通信都无法进行,所以假冒服务器是无法操作的。
    由此,SSL就解决了服务器认证的问题。

    加密数据以防止数据中途被窃取

    客户端第一次给服务器发送请求的时候(拿到证书前的一次),会在请求里面放一个随机数C1,服务器在返回证书的响应里也会带一个随机数F,客户端拿到证书后,会使用公钥加密一个随机数C2送给服务器,这样客户端、服务器都拥有了三个随机数:C1、F、C2,双方使用这些随机数和一个相同的算法生成一个对称密钥,之后所有的通信都使用这个对称密钥来进行。
    这个密钥会不会被泄露呢?不会,因为密钥是由3个随机数产生的,对于第一个随机数C1,他可能会被中间人监听到,然后第二个随机数F,也可能会被中间人监听到,但是第三个随机数C2,因为是用公钥加密的,除非中间人有私钥,否则是不可能解出来的。
    为什么要生成一个对称密钥来进行数据通信呢?因为非对称加密在解密的时候相当耗费性能,换成对称密钥后,会好很多。

    维护数据的完整性

    这个主要是针对服务器发送数字证书这一过程来说的,服务器的数字证书中含有ca数字签名,可以很有效的保证证书的真实性和完整性(没有被篡改)

    openssl是什么

    回过头来,我们来了解一下openssl,上面的SSL只是一个协议,openssl则是SSL的实现版,另外openssl还包含了公钥私钥的生成、摘要生成等各种工具。

    openssl有什么使用场景

    我们知道,有些时候我们浏览网站的时候会有一些广告,这些广告什么的不一定是原网站挂上去的,也有可能是中间的运营商在中间篡改了内容导致的,可以使用https技术(一般是基于openssl)来对数据进行加密,保证数据不被篡改。
    在这里插入图片描述

    展开全文
  • HTTPS 和 OpenSSL什么关系?

    千次阅读 2018-05-07 13:50:16
    openssl是一套开源工具集,主要有两个特性:实现了ssl2,ssl3,TLSv1,TLSv1.1,TLSv1.2协议。实现目前常用的加密算法。没有一个非常精准的方法来判断HTTPS是否使用openssl,但是根据网站返回的server类型,可以大致...
    HTTPS是一种协议,等于HTTP+TLS(由于历史原因,SSL3.0之后就被TLS1.0替代了)。
    openssl是一套开源工具集,主要有两个特性:
    1. 实现了ssl2,ssl3,TLSv1,TLSv1.1,TLSv1.2协议。
    2. 实现目前常用的加密算法。
    没有一个非常精准的方法来判断HTTPS是否使用openssl,但是根据网站返回的server类型,可以大致估计是否使用了openssl,比如如果使用apache或者nginx,那么肯定是使用了openssl。保守估计至少70%以上的网站是使用openssl的。而windows系列的服务器包括IIS,windows server等都是使用schannel,没有使用openssl。
    展开全文
  • openssl到底是什么

    千次阅读 2012-07-26 16:12:42
    一开始以为openssl只是一个实现了SSL的库,没有别的。但是我们项目使用它来对CA进行验证,所以我才仔细了解一下。 看了 OPENSSL编程_赵春平 , 发现它的功能要强大的多,OPENSSL中概括为: openssl是一个功能丰富...
  • 什么是Openssl

    千次阅读 2018-08-13 19:25:38
    参考:...什么是openssl 1.1 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。在OpenSSL被曝出...
  • Windows安装使用Openssl

    万次阅读 多人点赞 2019-04-02 00:12:30
    1、什么是openssl 2、下载安装 三方下载地址
  • 如何查看openssl版本号

    万次阅读 2017-07-12 09:14:17
    注意,以下为centos6.8下 使用如下命令: openssl version 或者 openssl version -a
  • OpenSSL的官网上可以看到三个分支,分别是openssl-、openssl-fips-、openssl-fips-ecp-。这三者的区别如下。 分支 内容差异 openssl- 完整版的OpenSSL openssl-...
  • 安装opensslopenssl-devel

    万次阅读 2017-02-14 13:53:58
    yum install openssl openssl-devel 方法二、下载源码编译安装 以下借鉴了他人的安装方法。 1.下载 wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz 2.解压 tar zxf openssl-1.0.2h.tar.gz 3.安装 ...
  • openssl使用教程(一)

    万次阅读 2018-06-09 15:05:23
    openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理...安装openssl有两种方式,第一种是装上安装包即可运行;第二种是下载源码,自己编译。我选择最简单的方式作为介绍:使用opens...
  • centos7安装openssl

    万次阅读 2018-02-23 14:26:31
    yum install opensslyum install openssl-devel最开始在网上找教程安装的是libssl-dev,显示No package libssl-dev available.Error: Nothing to do,找了半天,才知道centos7没有libssl-dev这个包,是Ubuntu才有的....
  • 笔记:Linux7.4安装OpenSSL

    万次阅读 2018-10-23 11:34:13
    下载OpenSSL wget https://www.openssl.org/source/openssl-1.1.1.tar.gz #通过https://www.openssl.org/source/查看最新版本 解压openssl tar zxvf openssl-1.1.1.tar.gz cd openssl-1.1.1.tar.gz 设定安装目录...
  • OpenSSL下载安装

    万次阅读 2018-08-28 23:06:01
    OpenSSL下载安装 1、下载OpenSSL OpenSSL下载地址:https://oomake.com/download/openssl 这个链接有Windows版和源码版最新版下载地址,可以满足Windows、LInux、Mac OS系统使用。 2、Windows系统安装OpenSSL ...
  • Ubuntu安装openssl-devel

    万次阅读 2018-02-22 22:13:27
    需要安装openssl-devel,Github上的说明要用yum工具安装,反复安装不上,提示没有repos(回购),最后找到了方法。在Ubuntu系统里这是分开的两个,需要分开来安装:sudo apt-get install opensslsudo apt-get ...
  • Linux下Openssl的安装全过程

    万次阅读 2013-12-05 16:13:24
     下一个新版本的OpenSSL,我下的版本是:openssl-1.0.0e.tar.gz 2、在下载的GZ目录中,用命令执行:tar -xzf openssl-openssl-1.0.0e.tar.gz 3、进入解压的目录:openssl-1.0.0e [.......]#cd openssl-1.0.0e...
  • nginx -with-openssl 和 with-http-openssl区别

    万次阅读 2016-03-03 11:14:32
    --with-openssl 静态编译openssl库到nginx中 首先按照openssl到某个文件夹 然后编译nginx的时候指定源码目录(非安装目录) -with-http-openssl 是一个选项直接是 which openssl 得到的那个openssl 动态安装
  • Linux下OpenSSL 安装图文详解

    万次阅读 2013-05-02 15:37:05
     OpenSSL Version:openssl-1.0.0e.tar.gz  目前版本最新的SSL地址为http://www.openssl.org/source/openssl-1.0.0e.tar.gz 1、将下载的压缩包放在根目录, 2、在文件夹下解压缩,命令:tar -xzf openss
  • openssl命令详解 常规方式 生成私钥(key文件) openssl genrsa -out client.key 4096 生成签名请求(csr文件) openssl req -new -key client.key -out client.csr 签发证书 openssl x509 -req -days 365 -in...
  • linux升级openssl方法

    万次阅读 2018-03-15 14:06:16
    OpenSSL源码升级2014年4月8日,XP宣布正式停止服务的日子,也是Openssl爆出大漏洞的日子。OpenSSL主要是负责在一些敏感的数据提交上面被广泛使用,不乏大家经常访问的一些网站:支付宝、微信、淘宝、网银、社交、...
1 2 3 4 5 ... 20
收藏数 192,080
精华内容 76,832
关键字:

什么是openssl