3.Https服务器的配置
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服务器的配置的更多相关文章
- nginx 学习笔记(9) 配置HTTPS服务器--转载
HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定 ...
- linux下安装Apache(https) 服务器证书安装配置指南
一. 安装准备 1. 安装Openssl 要使Apache支持SSL,需要首先安装Openssl支持.推荐下载安装openssl-0.9.8k.tar.gz 下载Openssl:http: ...
- 自建证书配置HTTPS服务器
1.写这篇博客的初衷是因为最近iOS9出来了,苹果官方默认要求使用HTTPS,所以自己想整一个HTTPS服务器,也想好好了解一下HTTPS通信,也知道了HTTPS其实就是在HTTP的基础上加上了SSL ...
- centos6.8下配置https服务器
centos6.8下配置https服务器 1.1 环境 l 系统环境:内核环境为2.6.32版本 64位的CentOS release 6.8 (Final) [root@localhost ~] ...
- centos 6.9 +nginx 配置GIT HTTPS服务器(证书采用自签名)
第一部分原通过SSH访问的GIT服务器迁移 1.把原服务器GIT资源库目录完成复制至新的服务器 2.安装GIT服务器 新的服务器 创建用户 useradd git password git 下载GIT ...
- 微信公众平台HTTPS方式调用配置免费https服务器
微信公众平台数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用.避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用,平台将于 ...
- 服务器 apache配置https,http强制跳转https(搭建http与https共存)
公司linux服务器上的nginx的已经改成https了,现在还剩下一个windows云服务器没配置. 环境 windows wampserver2.5 64位 1.腾讯云申请的ssl 包含三个文件: ...
- nginx配置https服务器
方法一 1.创建证书 #cd /usr/local/nginx/conf #openssl genrsa -des3 -out server.key 1024 #openssl req -new -k ...
- Nginx 配置 HTTPS 服务器
Nginx 配置 HTTPS 服务器 Chrome 浏览器地址栏标志着 HTTPS 的绿色小锁头从心理层面上可以给用户专业安全的心理暗示,本文简单总结一下如何在 Nginx 配置 HTTPS 服务器, ...
随机推荐
- java中图片地址base64编码的相互转换
public class Base64Url { /** * 将base64编码字符串转换为图片 * @param imgStr: base64编码字符串 * @param path: 图片路径-具体 ...
- Django:(03)请求和响应
一.HttpRequest 客户端传参的几种方式 传递方式 示例 后端获取方式 数据类型 url路径(path) /news/1/2 正则匹配 str 查询字符串 /news2?category=1& ...
- python之函数对象、名称空间、嵌套、作用域、闭包
函数对象 # 函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象# 函数对应的原因# 1 可以直接被引用# 2 可以当作函数参数传递# 3 可以作为函数的返回值 ...
- python中 __file__的小坑坑
在python脚本中,我们难免会需要用到自身文件所在的绝对路径,第一想法可能就是用os.path.dirname(__file__) 但是这里有个大坑,我就踩了,这种方式得到路径会出现问题,脚本执行报 ...
- 关于Dev-c++运行时与Windows不兼容问题
问题描述. 解决方案 1.鼠标右键点击图标,进入属性. 2.点击上方的兼容性. 3.在兼容模式中勾选以兼容模式运行这个程序并选择windows7. 4.再点击以管理员身份运行此程序. 5.点击应用. ...
- 事务配置在applicationContext.xml文件中不起作用,控制不了异常回滚
一.博主在学习到整合ssm框架的时候,遇到一个奇葩的问题就是将 事务的控制 ,写在在applicationContext.xml文件中不起作用,在事务控制的方法中,即使出现了异常,但是事务不会回滚的坑 ...
- csv文件的读取写法 from Udacity
长版本 import unicodecsv enrollments_filename = 'C:\\Users\\xxxxx\\Desktop\\try.csv' enrollments = [] f ...
- [转帖]SSL延迟有多大?
SSL延迟有多大? http://www.ruanyifeng.com/blog/2014/09/ssl-latency.html 转帖 作者: 阮一峰 日期: 2014年9月24日 感谢 腾讯课堂N ...
- Vue--理解非prop特性
所谓非 prop 特性,就是指它可以直接传入组件,而不需要定义相应的 prop. 尽管为组件定义明确的 prop 是推荐的传参方式,组件的作者却并不总能预见到组件被使用的场景.所以,组件可以接收任意传 ...
- 遗传算法与Java代码简单实现
参阅地址: https://www.jianshu.com/p/ae5157c26af9 代码实现: public class GA { private int ChrNum = 10; //染色体数 ...