数字证书

4---RHCE 服务器中级(SSL加密原理)

牧云@^-^@ 提交于 2020-02-06 00:51:23
4.1.1超文本传输协议(HTTP) HTTP协议被用于在Web浏览器和网站服务器之间传递信息。HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此HTTP协议不适合传输一些敏感信息,比如信用卡号、密码等。为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS。 4.1.2超文本传输安全协议(HTTPS) (全称:Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,)是以安全为目标的HTTP通道。HTTPS并不是一个新协议,而是HTTP+SSL(TLS)。原本HTTP先和TCP(假定传输层是TCP协议)直接通信,而加了SSL后,就变成HTTP先和SSL通信,再由SSL和TCP通信,相当于SSL被嵌在了HTTP和TCP之间。 4.1.3安全套接层(SSL ) SSL 是“Secure Sockets Layer”的缩写。IETF 把SSL 标准化,标准化之后SSL被改为 TLS(Transport Layer Security传输层安全协议)。 SSL协议分为两层 : (1)SSL记录协议 (SSL Record Protocol)

公钥,私钥,数字签名,数字证书详解

左心房为你撑大大i 提交于 2020-02-04 13:37:46
鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。 鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。 鲍勃将这个签名,附在信件下面,一起发给苏珊。 苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。 苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。 复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。 后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥

数字签名原理简介(附数字证书)

让人想犯罪 __ 提交于 2020-01-29 07:50:38
http://www.cnblogs.com/kingsleylam/p/4985571.html 数字签名原理简介(附数字证书) 首先要了解什么叫对称加密和非对称加密,消息摘要这些知识。 1. 非对称加密 在通信双方,如果使用非对称加密,一般遵从这样的原则:公钥加密,私钥解密。同时,一般一个密钥加密,另一个密钥就可以解密。 因为公钥是公开的,如果用来解密,那么就很容易被不必要的人解密消息。因此, 私钥也可以认为是个人身份的证明。 如果通信双方需要互发消息,那么应该建立两套非对称加密的机制(即两对公私钥密钥对),发消息的一方使用对方的公钥进行加密,接收消息的一方使用自己的私钥解密。 2.消息摘要 消息摘要可以将消息哈希转换成一个固定长度的值唯一的字符串。值唯一的意思是不同的消息转换的摘要是不同的,并且能够确保唯一。 该过程不可逆 ,即不能通过摘要反推明文(似乎SHA1已经可以被破解了,SHA2还没有。一般认为不可破解,或者破解需要耗费太多时间,性价比低)。 利用这一特性, 可以验证消息的完整性。 消息摘要通常用在数字签名中,下面介绍用法。 了解基础知识之后,就可以看一下数字签名和数字证书了。 3.数字签名 假设现在有通信双方A和B,两者之间使用两套非对称加密机制。 现在A向B发消息。 那么,如果在发送过程中,有人修改了里面密文消息,B拿到的密文,解密之后得到明文,并非A所发送的

HTTP和HTTPS协议

假如想象 提交于 2020-01-26 20:20:47
介绍 http [1] 是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是一种应用层协议,可用于将超文本服务器中文本、图片、音视频等内容传输到客户端浏览器。 构建与互联网之上的万维网,其主要组成部分就是http协议。目前使用的最广泛的http协议版本是http1.1。 最初的HTTP协议是万维网1991年诞生时,蒂姆·伯纳斯·李爵士(Sir Tim Berners-Lee)在European Organization for Nuclear Research使用的协议。之后万维网协会(World Wide Web Consortium)和Internet工作小组(Internet Engineering Task Force)合作,并最终发布了一系列的RFC,其中最著名的就是RFC 2616。RFC 2616定义了我们今天普遍使用的HTTP协议的一个版本——HTTP1.1。 在TCP/IP参考模型中和OSI参考模型中,http协议处于应用层的位置,http规定了客户端和Web服务端的通信协议,而html则规定了传输的内容的格式、类型。https是在http的基础上,增加了TLS/SSL协议,为通信内容进行加密操作。 http通信过程 http协议默认使用TCP的80端口进行通信。通过在浏览器中输入网站地址,URL (Uniform

UWP添加数字证书导出安装包本地安装

亡梦爱人 提交于 2020-01-21 04:44:23
先生成一个简单的HelloWorld应用程序 <Page x:Class="HelloWorld.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="using:HelloWorld" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}"> <Grid> <TextBlock Text="HelloWorld!" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="72"/> </Grid> </Page> using Windows.UI.Xaml.Controls; // https://go.microsoft.com

https、公钥,私钥,数字证书

我是研究僧i 提交于 2020-01-20 10:42:14
前言 https是http与ssl的结合,为了解决http明文传输导致信息泄露的问题。ssl通过公钥和私钥保证客户端和服务器之间的通讯加密,由权威机构办法的数字证书杜绝了中间人攻击的可能。 http和ssl http是处于应用层的传输协议,ssl是处于与TCP同层的传输层和应用层之间的协议,由于http使用明文传输,就会导致数据在传输过程中泄露,为此将http和ssl两者结合后得到https。 使用公钥和私钥进行数据传输 当客户端发送请求到服务端的时候,将会收到服务端发送的公钥,服务器有对应的私钥; 服务端与客户端进行通讯的时候,使用私钥将数据进行加密传输,客户端使用公钥进行解密后获得内容,而客户端发送数据到服务端的时候会使用公钥将内容进行加密,服务器接收后使用私钥解密。 但是当一开始服务端发送的公钥到客户端的过程中有可能被第三方劫持,然后第三方自己伪造一对密钥,将公钥发送给客户端,当服务器发送数据给客户端的时候,中间人将信息进行劫持,用一开始劫持的公钥进行解密后,然后使用自己的私钥将数据加密发送给客户端,而客户端收到后使用公钥解密,反过来亦是如此,整个过程中间人是透明的,但信息泄露却不得而知。 数字证书 为了防止中间人攻击,整个传输过程中亟需解决的是保证客户端收到的公钥是服务端发送的,为此提出了 数字证书 ,数字证书是由权威的CA机构给服务端进行颁发

tomcat 配置https + 数字证书认证

牧云@^-^@ 提交于 2020-01-17 03:49:50
生成服务端证书 keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456 客户端证书 keytool -genkey -alias client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/keys/client.p12 -storepass 123456 客户端证书导出为一个单独的CER文件 keytool -export -alias client -keystore D:/keys/client.p12 -storetype PKCS12 -keypass 123456 -file D:/keys/client.cer 服务端添加客户端信任 keytool -import -v -file D:/keys/client.cer -keystore D:/keys/tomcat.keystore 查看证书内容 keytool -list -v -keystore D:/keys/tomcat.keystore 导出服务端公钥

Android Application Digital Signatures - Android 数字签名

泄露秘密 提交于 2020-01-16 07:08:41
Android 数字签名 同一个开发人员的多个程序尽可能使用同一个数字证书 ,这能够带来下面优点。 (1)有利于程序升级,当新版程序和旧版程序的数字证书同样时,Android系统才会觉得这两个程序是同一个程序的不同版本号。假设新版程序和旧版程序的数字证书不同样,则Android系统觉得他们是不同的程序,并产生冲突,会要求新程序更改包名。 (2)有利于程序的模块化设计和开发。Android系统同意拥有同一个数字签名的程序执行在一个进程中,Android程序会将他们视为同一个程序。所以开发人员能够将自己的程序分模块开发,而用户仅仅须要在须要的时候下载适当的模块。 (3)能够通过权限(permission)的方式在多个程序间共享数据和代码。Android提供了基于数字证书的权限赋予机制。应用程序能够和其它的程序共享概功能或者数据给那那些与自己拥有同样数字证书的程序。假设某个权限(permission)的protectionLevel是signature,则这个权限就仅仅能授予那些跟该权限所在的包拥有同一个数字证书的程序。 在签名时,须要考虑数字 证书的有效期 : (1)数字证书的有效期要包括程序的估计生命周期。一旦数字证书失效,持有改数字证书的程序将不能正常升级。 (2)假设多个程序使用同一个数字证书,则该数字证书的有效期要包括全部程序的估计生命周期。 (3)Android

https的原理

强颜欢笑 提交于 2020-01-16 02:04:26
Http存在的问题   上过网的朋友都知道,网络是非常不安全的。尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵。还有大家平时喜欢用的万能钥匙,等等。那我们平时上网可能会存在哪些风险呢?   1. 泄密,个人隐私、账户密码等信息可能会被盗取。   2. 篡改,收到的数据可能被第三方修改过,或被植入广告等。   3. 假冒,访问的站点非目标服务器站点。如域名欺骗、域名劫持、钓鱼网站等。   可能住你隔壁穿人字拖、说话都略显羞涩的小王,一到夜深人静的时候就开始偷窥你的一举一动!陪你一起看91某社区的电影还好,万一窃取了各购物网站或其他站点的登录信息就……是不是想想有些害怕呢!   为什么别人能获取你上网的数据呢?有过一定网络基础的朋友多少都对TCP/IP有些了解,对各种握手挥手早已背得滚瓜烂俗,对http协议也早了然于心。http是应用层的协议,位于TCP/IP参考模型的最上层。用户数据经过应用层、传输层、网络层、链路层的层层封装后经过物理层发送到目标机器。在这几层中,数据都没有经过加密处理,所以一旦别人获取到你的数据包,就能轻易的获取到数据的信息。   为了保护数据隐私,让数据不再“裸奔”。对需要传输的数据进行加密处理就很有必要了。目前而言,加密算法可以分两大类,一类是对称加密算法,还有一类是非对称加密算法。 对称加密   对称加密算法的加密和解密都是用 同一个密钥

21. Spring Boot 2.x最佳实践之 HTTPS 集成

南笙酒味 提交于 2020-01-14 05:26:46
Spring Boot 2.x最佳实践之 HTTPS 集成 1. HTTPS 科普篇 1.1 什么是HTTP? 1.2 什么是HTTPS? 1.3 HTTP 和HTTPS 的区别 1.4 HTTPS 工作流程 2. 获取数字证书 2.1 购买的数字证书和自签名的数字证书的区别 2.2 购买免费的试用证书 2.3 自己动手做一个证书 2.3.1 什么是OpenSSL? 2.3.2 获取Open SSL 2.3.2.1 方法一:Github 下载源码编译安装 2.3.2.2 方法一:Windows下载编译好的Open SSL(亲测) 来源: CSDN 作者: 极客星云 链接: https://blog.csdn.net/hadues/article/details/103607879