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 服务器, ...
随机推荐
- strcpy函数内存分析
void strcpy(char* strDest, char* strSrc) { while((*strDest++ = *strSrc++) != '\0'); } 看上面这段代码,只有一条语句 ...
- 【AMAD】cookiecutter-django -- 是一个构建Django项目的脚手架工具
动机 简介 个人评分 动机 Django内置的命令django-admin startproject其实并不好用,在你上线之前八成已经把它改的面目全非了. 简介 cookiecutter-django ...
- go爬虫系列
一.go语言爬取豆瓣电影top250 package main import ( "net/http" "io/ioutil" "os" & ...
- 浅谈 OpenResty,基于opebresty+redis进行实时线上限流
一.前言 我们都知道Nginx有很多的特性和好处,但是在Nginx上开发成了一个难题,Nginx模块需要用C开发,而且必须符合一系列复杂的规则,最重要的用C开发模块必须要熟悉Nginx的源代码,使得开 ...
- lua调用shell 脚本
Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出.io.popen()也可以执行dos命令,但是返回一个文件.eg: 复制代码 代码如下: local t = io. ...
- airflow的web任务管理
ariflow里绿的代表都跑完了:红的表示有问题:点红的图标进去: 点tree view 红色表示那一天失败: 点进去看可以看log: 点clear则是重跑任务:
- Apollo分布式部署总结
环境 操作系统为centOS7 Apollo服务端为Java版本为1.8 MySQL5.8.x 环境DEV 注意事项 按文档安装config与admin的数据库,并修改相关配置 在修改Apollo P ...
- 【转帖】我以为我对Kafka很了解,直到我看了这篇文章
我以为我对Kafka很了解,直到我看了这篇文章 2019-08-12 18:05 https://www.sohu.com/a/333235171_463994?spm=smpc.author.fd- ...
- plsql软件使用手册
记录登陆密码及用户名
- Java中的责任链设计模式,太牛了!
责任链设计模式的思想很简单,就是按照链的顺序执行一个个处理方法,链上的每一个任务都持有它后面那个任务的对象引用,以方便自己这段执行完成之后,调用其后面的处理逻辑. 下面是一个责任链设计模式的简单的实现 ...