1.前言:  

  所谓区块链,简而言之就是一种数据结构,每一个区块都像账本的每一页纸记录了该网络上的交易信息,而众多区块在时间的基础上按照顺序连接起

来就形成了区块链。区块链能够以数字方式识别和跟踪交易,并通过计算机的分布式网络共享这些信息,在某种意义上创建分布式信任网络。区块链提供

的分布式账本技术为追踪资产的所有权、交易信息和资产的转移提供了透明和安全的手段

  其实区块链并不是一门全新的技术,中本聪研发出的比特币也只是将去中心化交易的金融思想、分布式数据存储、工作量证明pow机制等等结合那古老

又神秘的密码学中的"非对称加密"技术衍生出来的产物。而区块链的关键是去中心化、信任和安全,而成就这一切的最核心、最底层的技术就是密码学。

2.Http协议和Https协议

  1.1Http协议的概念

    Hyper Text Transfer Protocol,超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的www文件都必须遵循这个协议。 

  1.2Https协议的概念

    Hyper Text Transfer Protocol over Secure Socket Layer,是基于安全套接层的Http协议,简而言之就是Http协议的安全版本

3、对称加密

3.1现代密码学的先驱----"凯撒密码

  凯撒是第一个将密码用于军事用途、并且记录下来的人。在他的那本歌颂自己丰功伟绩的《高卢记》里,凯撒描述了他把密信送到正处

于围困之中、濒临投降的西塞罗手中。凯撒非常喜欢使用密文,后世的《凯撒传》详细地记录了凯撒使用的一种密文。而这种加密方法,甚

至沿用到今天。凯撒的做法是:将每个字母,用字母表中这个字母之后三位的那个字母替代。也就是字母A用字母D替代,字母B用字母E替

代。比如Abroad,凯撒在用密文写信的时候,就被替换为Deurdg。这种移动字母产生密码的方式,后来也被称为凯撒密码

3.2概念

  对称加密指加密和解密使用相同密钥的加密算法。有时又叫传统密码算法,就是加密密钥能够从解密密钥中推算出来,同时解密密钥也可

以从加密密钥中推算出来。而在对称算法中,加密密钥和解密密钥是相同的,它要求发送方和接收方在安全通信之前,商定一个密钥。对称算

法的安全性依赖于密钥,泄漏密钥就意味着任何人都可以对他们发送或接收的消息解密,所以密钥的保密性对通信的安全性至关重要。

3.3特征

  加密速度快,加密效率高:原因是加密的算法相较"非对称加密"来说要简单很多。

  安全,比如采用DES算法,使用64位的密钥技术对数据进行加密,实际只有56位有效,8位用来校验的。那么就有2的56种密码的可能性。

  缺陷:因为双方都是使用相同的密钥进行加密和解密,所以需要保障密钥传输的安全性以及密码管理的安全性。一旦任何一方密码丢失

都将导致密文被破解。

4、非对称加密

4.1概念

  与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公钥与私钥是一对,如果用公钥对数

据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。因为加密和解密使用的是两个不同的密钥,

所以这种算法叫作非对称加密算法。

4.2特征

  优点:更加安全,避免了密钥被截获而引发的安全性问题。

  缺点:加密时间长、速度慢、效率低。只适合对少量数据进行加密。因为加密算法复杂。

5、数字证书

5.1概念

  数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权

中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。

5.2创建数字证书

  在Java中内置了keytool工具可以帮助咱们生成keystore并导出证书

  生成密钥对 :keytool -genkeypair -alias "itheima" -keyalg "RSA" -keystore "heima.keystore"

  查看当前的keystore中的密钥对:keytool -list -keystore "heima.keystore"

  修改keystore的别名:keytool -changealias -alias mykey -destalias heima1

  导出证书:keytool -exportcert -alias "itheima" -keystore "itheima.keystore" -file "heima.cer"

  

  生成秘钥对文件:C:\Users\Administrator\heima.keystore

  

  

  生成的证书:未认证的

  

6、消息摘要和数字签名

5.1消息摘要

5.1.1概念

  消息摘要(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一个消息或文本的固定长度的值,它由一个单向Hash加密函数对消息

进行作用而产生。如果消息在途中改变了,则接收者通过对收到消息的新产生的摘要与原摘要比较,就可知道消息是否被改变了。

  消息摘要是一个不可逆

5.1.2作用

  消息摘要就相当于"密文"的指纹,用于验证密文的真5.1.3常见的消息摘要算法MD5、SHA、MAC等等都是消息摘要的算法

5.2数字签名

  数字签名其实就是对消息摘要的内容使用私钥进行加密。相当于给某个文件签上一个名,作用是防止黑客对文件进行篡改。
 

 

五、Https服务器的配置

  1.将数字证书keystore文件存放到某个文件夹中。

  2.在tomcat安装目录下找到conf文件夹中的,修改server.xml文件,其实就是

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="keystore证书文件的地址(C:\Users\Administrator\heima.keystore)"
keystorePass="keystore的密码" />

  3.重启Tomcat服务器,然后使用Https服务器中的项目

  4.由于我们的证书未在CA机构认证,所以需要我们手动将证书添加为可信任

  

  

  

  

    
 

Https服务器的配置

3.Https服务器的配置的更多相关文章

  1. nginx 学习笔记(9) 配置HTTPS服务器--转载

    HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定 ...

  2. linux下安装Apache(https) 服务器证书安装配置指南

    一.  安装准备 1.    安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz   下载Openssl:http: ...

  3. 自建证书配置HTTPS服务器

    1.写这篇博客的初衷是因为最近iOS9出来了,苹果官方默认要求使用HTTPS,所以自己想整一个HTTPS服务器,也想好好了解一下HTTPS通信,也知道了HTTPS其实就是在HTTP的基础上加上了SSL ...

  4. centos6.8下配置https服务器

    centos6.8下配置https服务器 1.1 环境 l  系统环境:内核环境为2.6.32版本  64位的CentOS release 6.8 (Final) [root@localhost ~] ...

  5. centos 6.9 +nginx 配置GIT HTTPS服务器(证书采用自签名)

    第一部分原通过SSH访问的GIT服务器迁移 1.把原服务器GIT资源库目录完成复制至新的服务器 2.安装GIT服务器 新的服务器 创建用户 useradd git password git 下载GIT ...

  6. 微信公众平台HTTPS方式调用配置免费https服务器

    微信公众平台数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用.避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用,平台将于 ...

  7. 服务器 apache配置https,http强制跳转https(搭建http与https共存)

    公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...

  8. nginx配置https服务器

    方法一 1.创建证书 #cd /usr/local/nginx/conf #openssl genrsa -des3 -out server.key 1024 #openssl req -new -k ...

  9. Nginx 配置 HTTPS 服务器

    Nginx 配置 HTTPS 服务器 Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器, ...

随机推荐

  1. python #!/usr/bin/python作用

    #!/usr/bin/python指定用什么解释器运行脚本以及解释器所在的位置 # -*- coding: utf-8 -*-用来指定文件编码为utf-8的PEP 0263 -- Defining P ...

  2. iscsi-文件类型

    iSCSI简介(Internet SCSI): iSCSI 小型计算机系统接口,IBM公司研发,用于在IP网络上运行SCSI协议:解决了 SCSI需要直连存储设备的局限性:可以不停机扩展存储容量,iS ...

  3. 【并行计算-CUDA开发】#pragma unroll伪编译指令的使用

    #pragma宏命令主要是改变编译器的编译行为,其他的参数网上资料比较多,我只想简单说下#pragma unroll的用法,因为网上的资料比较少,而且说的比较笼统,请看下面的一段代码 int main ...

  4. 将IList、DataTable数据导出到Excel

    /// <summary> /// IList导出Excel /// </summary> /// <typeparam name="T">&l ...

  5. centOS重启网络服务报错

    1:启动网卡报错(Failed to start LSB: Bring up/down networking )解决办法总结 将 NetworkManager关闭, systemctl stop Ne ...

  6. 「java.util.concurrent并发包」之 ReentrantReadWriteLock

    一 引言 在多线程的环境下,对同一份数据进行读写,会涉及到线程安全的问题.比如在一个线程读取数据的时候,另外一个线程在写数据,而导致前后数据的不一致性:一个线程在写数据的时候,另一个线程也在写,同样也 ...

  7. Swoft2.x 小白学习笔记 (四) --- RPC

    介绍 swoft 中 RPC使用:搭建访问服务端和客户端 RPC服务端: 一.配置,在文件 /app/bean.php中添加 return [ 'rpcServer' => [ 'class' ...

  8. appium-Android_webview页面元素定位遇到的问题

    如上图所示,该页面包含webview,但是用driver.contexts只获取到了Android原生,而webview的context则没有获取到,所以webview页面的元素.希望有大佬能提供有效 ...

  9. redis 主从、哨兵、集群

    出处: redis主从复制和哨兵 Redis集群方式共有三种:主从模式,哨兵模式,cluster(集群)模式 一.Redis主从复制 主从复制:主节点负责写数据,从节点负责读数据,主节点定期把数据同步 ...

  10. iview给布局MenuItem标签绑定点击事件

    @click.native="menuHandleClick"