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. 修改主机名(/etc/hostname和/etc/hosts区别)

    ubuntu永久修改主机名 1.查看主机名 在Ubuntu系统中,快速查看主机名有多种方法:其一,打开一个GNOME终端窗口,在命令提示符中可以看到主机名,主机名通常位于“@”符号后:其二,在终端窗口 ...

  2. Docker 面试题

    Docker 面试题 Docker? Docker是一个容器化平台,它以容器的形式将您的应用程序及其所有依赖项打包在一起,以确保您的应用程序在任何环境中无缝运行. CI(持续集成)服务器的功能是什么? ...

  3. mysql注入语句

    一.sql注入语句 爆破所有数据库: (select group_concat(schema_name) from information_schema.schemata) 获取数据库所有表: (se ...

  4. Python动态地声明变量赋值

    通过exec().globals()和locals() # 通过exec() for i in range(1, 4): # 第一次循环 i=1 时,会执行字符串中的python语句 ex1 = &q ...

  5. 基于模板匹配的目标跟踪(OpenCV)

    基于VS2010+ OpenCV2.代码可以读入视频,也可以读摄像头,两者的选择只需要在代码中稍微修改即可.对于视频来说,运行会先显示第一帧,然后我们用鼠标框选要跟踪的目标,然后跟踪器开始跟踪每一帧. ...

  6. hdoj1520(入门树形dp)

    题目链接:https://vjudge.net/problem/HDU-1520 题意:和luogu那道没有上司的舞会一样的题,给定一棵带点权的树,父结点和子结点不能同时选,问怎么选使得权值和最大,求 ...

  7. 基于freescale i.Mx6(ARM)的阿里云oss调试记录

    交叉编译阿里OSS调试记录 1.1 开通oss服务 具体参考以下链接: https://help.aliyun.com/document_detail/31884.html?spm=a2c4g.111 ...

  8. Minimum Cost For Tickets

    In a country popular for train travel, you have planned some train travelling one year in advance.  ...

  9. 从入门到自闭之Python--MySQL数据库的单表操作

    单表查询:select * from 表 where 条件 group by 分组 having 过滤 order by 排序 limit n; 语法: select distinct 字段1,字段2 ...

  10. pt工具

    percona-toolkit简介percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql任务和系统任务,这些任务包括: 检查master和slav ...