从加解密到HTTPS
一、名词解释明文未经加密的信息。密文加了密的信息。密钥加解密时供算法使用的密码相当于我们的银行密码另一种说法是盐值。私钥个人所有的不经公开的密钥。公钥公开的密钥。二、加密和解密1、含义明文通过一定的算法转换成密文的过程就是加密相反将密文通过使用加密时用的相同算法进行逆运算得到明文的过程就是解密。比如密钥是1明文是100算法是加减法加密过程明文100--加密1001101--密文101解密过程密文101--解密101-1100--明文1002、对称加密对称加密就是指加密和解密的密钥是相同的。特点是安全系数不高但性能高加解密快。3、非对称加密非对称加密就是指加密用的密钥和解密的密钥是不相同的。一般来说指:加密时使用公钥,解密时使用私钥。CS架构中私钥只存在于服务端客户端只持有公钥具有加密能力。特点是安全系数高但性能低算法复杂加解密慢。4、SSL与TLSSSL是结合对称加密和非对称加密各自的优点的产物其运用于HTTPS中有效地解决了数据在网络传输中的安全问题不再像HTTP那样让数据以明文方式在网络中裸跑了。HTTPS中SSL的加解密过程一次HTTPS请求中客户端和服务端先要确定加密的密钥然后才是正式的数据传输。客户端会先向服务端索要公钥然后自己生成对称加密的密钥随机数然后用公钥加密对称加密的密钥将其发送给服务端最后各自通过对称加密的密钥对传输的数据进行加密传输。目前SSL已经被淘汰现在使用的都是TLS 1.2或者1.3。他们二者机制大体同源但SSL所有的版本都不安全现在HTTPS底层只跑TLS。三、数字证书1、含义和分类证书顾名思义证明某种东西确实是某样东西。如学校给你发的毕业证书一样是大家认可的证明你是某某大学毕业的证书上也有学校的公章。但你某天去找工作说自己某某大学毕业的你不能口头说啊公司又不傻肯定不信要你出示证书加以证明。其实HTTPS的公钥也是通过数字证书传递的证书不仅包括公钥信息还包含了公司域名公司名称地址证书的颁发机构证书的过期时间等等。HTTPS用到的证书被称为SSL证书当然还包括其他证书具体分类SSL证书代码证书客户端证书双因素证书2、证书的制作1jdk内网调试2上线申请阿里云、腾讯云DV免费证书外网3、证书的大致内容公钥、算法、证书颁发者、证书的过期时间、密钥等根证书证书有很多类别如果不加以区分让一个对象来负责颁发所有的证书那么无疑会增加其负重。所以就像公司一样针对不同的功能设立不同的部门分别负责各自的职责范围的事这样不仅对事务进行了平摊减轻单个的负重而且也减少了出错的概率。其实证书的管理机制也是如此先由一个大的根证书分散出分支证书形成证书路径。如果根证书验证不通过或者不受信任其下的所属证书也是无效的。证书路径如下图就是证书路径的展示。其大致表示*.csdn.net的证书由Geo Trust CN RSA CA G1颁发而它又是根证书Digicert管理、授权。4、CACA是Certificate Authority的缩写也叫“证书授权中心”专门颁发权威证书的机构。证书是可以自己制作的但是在实际应用中如何确保证书的安全可靠呢那就必须有个受信任的机构或公司专门来做这事儿。CA就是这样的机构。四、HTTPS1、含义HTTPSHyperText Transfer Protocol Secure安全版超文本传输协议。可以说HTTPS HTTP通信 TLS加密 数字证书身份认证。其中http负责说话的内容TLS负责加密说话的内容数字证书SSL证书负责验证对方身份。扩展HSTSHSTS是国际互联网工程组织 IETE 正在推行一种新的 Web安全协议HTTP Strict Transport SecurityHSTS。采用 HSTS 协议的网站将保证浏览器始终连接到该网站的 HTTPS 加密版本不需要用户手动在 URL 地址栏中输入加密地址。每次访问时都会发送该请求头失效时间是两年秒数这个失效时间每次都会设置为两年后:Strict-Transport-Security max-age63072000; includeSubdomains; preload2、HTTPS握手工作流程①、你打开网页服务器主动把数字证书发给浏览器②、浏览器校验证书真伪CA签名、有效期、域名匹配假证书直接报错③、校验通过读取证书里的公钥④、浏览器随机生成一把会话密钥用公钥加密后发给网站服务器⑤、只有网站自己的私钥能解开拿到会话密钥后续双方用会话密钥加密传输数据全程就算是数据被黑客拦截也只是乱码。ps公钥放在证书里公开随便看用来加密而私钥是网站服务器自己保存绝不外传用来解密。3、黑客攻击如果你是黑客要怎么去攻击https通信窃取他们之间的通信讯息呢①、中间人劫持客户端公钥会话密钥- 黑客看不到会话密钥因为会话密钥只能私钥才能解于是黑客伪装客户端将公钥黑客会话密钥发送给服务器- 服务器拿到黑客给的公钥加密后会话密钥与黑客通信。这个过程中黑客始终是不知道客户端与服务器的会话密钥的只会让客户端和服务器对不上暗号通信失败窃取不到数据。②、中间人伪造证书中间人这次伪装成服务器伪造一套公私钥假装自己就是服务器。客户端 - 中间人黑客假服务器-真服务器对于客户端黑客就是服务器对于真服务器黑客就是客户端。所以就达到窃听了但是客户端有办法鉴别黑客伪装的服务器因为浏览器会自动校验对方的证书如果是非受信任非正规证书机构颁发的的就会告警这时客户端是能感知到的于是就拒绝访问从而避免窃听。面试题既然说https是安全的为什么抓包工具还是能窃听到明文信息呢答抓包工具就是利用中间人伪造证书的方式然后你也同意了这种非受信任的证书的通信。五、利用JDK工具生成自签证书我们在开发https协议的Web应用时需要先在本地进行调试或者在内网服务实现https时。我们希望自己就能生成自签的证书、以及公钥私钥。那么JDK的keytool工具就能实现这点以下分解聊下怎么使用该工具。1、前置条件①、配置好JDK环境变量cmd 终端输入keytool -version能输出版本即生效②、Windows使用CMD/PowerShellMac上使用Linux终端2、核心概念密钥库.keystore/.jks二进制文件用来存放一对公私钥字签证书JavaWebSpringBoot、Tomcat默认读取jks密钥库。公钥封装在证书里对外公开私钥存放在密钥库内部绝不泄漏字签证书自己给自己发证浏览器不信任。3、一键生成JKS密钥库keytool -genkeypair -alias myhttps -keyalg RSA -keysize 2048 -storetype JKS -keystore myssl.jks -validity 365参数解释-alias myhttps密钥别名一个密钥库可以存多组密钥别名区分-keyalg RSA加密算法HTTPS标准RSA-keysize 2048密钥长度安全最低标准-storetype JKS密钥库格式Java专用-keystore myssl.jks生成的密钥库文件名-validity 365证书有效期365天执行后依此填写信息1、密钥库口令设置密码1234562、姓名、组织、城市、省份、国家3、是否正确4、密钥口令可和密钥库口令一致直接回车执行完毕后当前文件夹生成myssl.jks文件4、从JKS文件中导出证书导出公钥证书浏览器需要的公钥直接从证书中获取。keytool -exportcert -alias myhttps -keystore myssl.jks -file public.cer执行后提示输入密钥库密码之后就会得到public.cer文件这个文件里包含了公钥证书信息可以发给其他人。私钥还是在jks文件内部无法从cer证书提取私钥5、把证书导入JDK信任库这步是为了解决本地调用接口报证书不信任。本地Java后端调用自己的HTTPS接口报错SSL握手失败把cer导入JDK信任列表。keytool -import -alias myhttps-trust -file public.cer -keystore %JAVA_HOME%\jre\lib\security\cacerts执行后提示输入信任库密码默认changeit6、SpringBoot项目配置Httpsapplication.ymlserver: port:8443 ssl: key-store:classpath:myssl.jks key-store-password:123456 key-alias:myhttps key-store-type:JKS启动项目访问https://127.0.0.1:8443浏览器提示不安全属于正常现象字签证书选择继续访问即可调试

相关新闻

Android开源项目终极宝典:200+精选资源助你快速提升开发效率

Android开源项目终极宝典:200+精选资源助你快速提升开发效率

Android开源项目终极宝典:200精选资源助你快速提升开发效率 【免费下载链接】android-open-project A categorized collection of Android Open Source Projects, More powerful web version: 项目地址: https://gitcode.com/GitHub_Trending/an/android-open-pro…

2026/8/10 16:46:03 阅读更多 →
ChatBox终极指南:5分钟搭建你的个人AI助手桌面客户端

ChatBox终极指南:5分钟搭建你的个人AI助手桌面客户端

ChatBox终极指南:5分钟搭建你的个人AI助手桌面客户端 【免费下载链接】chatbox Powerful AI Client 项目地址: https://gitcode.com/GitHub_Trending/ch/chatbox ChatBox是一款强大的AI模型桌面客户端,支持ChatGPT、Claude、Google Gemini、Ollam…

2026/8/10 16:46:03 阅读更多 →
Ubuntu系统下安装docker(GPU版)

Ubuntu系统下安装docker(GPU版)

一、参考资料 Repository configuration docker学习笔记(9):nvidia-docker安装、部署与使用 怎么在docker中使用nvidia显卡 docker使用GPU总结 二、相关介绍 Nvidia安装nvidia-docker官方教程 最初的docker是不支持gpu的 为了让docker支持…

2026/8/10 16:46:03 阅读更多 →

最新新闻

终极窗口大小强制调整工具:WindowResizer让你的Windows窗口随心所欲

终极窗口大小强制调整工具:WindowResizer让你的Windows窗口随心所欲

终极窗口大小强制调整工具:WindowResizer让你的Windows窗口随心所欲 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些"顽固"的Windows窗口烦恼吗&a…

2026/8/10 17:20:15 阅读更多 →
3分钟上手MDTraj:分子动力学轨迹处理的快速入门指南

3分钟上手MDTraj:分子动力学轨迹处理的快速入门指南

3分钟上手MDTraj:分子动力学轨迹处理的快速入门指南 【免费下载链接】mdtraj An open library for the analysis of molecular dynamics trajectories 项目地址: https://gitcode.com/gh_mirrors/md/mdtraj MDTraj是一款强大的开源分子动力学轨迹分析库&…

2026/8/10 17:20:15 阅读更多 →
提升SEO表现:Heroku-buildpack-static Clean URLs功能配置与优化技巧

提升SEO表现:Heroku-buildpack-static Clean URLs功能配置与优化技巧

提升SEO表现:Heroku-buildpack-static Clean URLs功能配置与优化技巧 【免费下载链接】heroku-buildpack-static [DEPRECATED] Heroku buildpack for handling static sites and single page web apps 项目地址: https://gitcode.com/gh_mirrors/he/heroku-buildp…

2026/8/10 17:20:15 阅读更多 →
Ludusavi:游戏存档备份的终极解决方案,告别进度丢失的烦恼

Ludusavi:游戏存档备份的终极解决方案,告别进度丢失的烦恼

Ludusavi:游戏存档备份的终极解决方案,告别进度丢失的烦恼 【免费下载链接】ludusavi Backup tool for PC game saves 项目地址: https://gitcode.com/gh_mirrors/lu/ludusavi 还在为游戏进度丢失而烦恼吗?重装系统、更换电脑或游戏崩…

2026/8/10 17:20:15 阅读更多 →
革命性足球图像描述AI:ybelkada/blip-image-captioning-base-football-finetuned模型深度解析

革命性足球图像描述AI:ybelkada/blip-image-captioning-base-football-finetuned模型深度解析

革命性足球图像描述AI:ybelkada/blip-image-captioning-base-football-finetuned模型深度解析 【免费下载链接】blip-image-captioning-base-football-finetuned 项目地址: https://ai.gitcode.com/hf_mirrors/ybelkada/blip-image-captioning-base-football-fin…

2026/8/10 17:20:14 阅读更多 →
终极指南:40+功能离线塔科夫训练器完全掌握教程

终极指南:40+功能离线塔科夫训练器完全掌握教程

终极指南:40功能离线塔科夫训练器完全掌握教程 【免费下载链接】EscapeFromTarkov-Trainer Escape from Tarkov (EFT) Trainer - Internal 项目地址: https://gitcode.com/gh_mirrors/es/EscapeFromTarkov-Trainer EscapeFromTarkov-Trainer是一款专为《逃离…

2026/8/10 17:19:14 阅读更多 →

日新闻

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南

GraphQL-CSS API全解析:useGqlCSS、GqlCSS组件与getStyles实用指南 【免费下载链接】graphql-css A blazing fast CSS-in-GQL™ library. 项目地址: https://gitcode.com/gh_mirrors/gr/graphql-css GraphQL-CSS是一个基于GraphQL的CSS-in-GQL™库&#xff0…

2026/8/10 0:00:02 阅读更多 →
告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南

告别语言障碍:KISS Translator 双语翻译插件终极指南 【免费下载链接】kiss-translator A simple, open source bilingual translation extension & Greasemonkey script (一个简约、开源的 双语对照翻译扩展 & 油猴脚本) 项目地址: https://gitcode.com/…

2026/8/10 0:00:02 阅读更多 →
BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案

BepInEx配置管理器:游戏插件配置的终极可视化解决方案 【免费下载链接】BepInEx.ConfigurationManager Plugin configuration manager for BepInEx 项目地址: https://gitcode.com/gh_mirrors/be/BepInEx.ConfigurationManager 你是否曾经因为游戏插件的复杂…

2026/8/10 0:00:02 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/10 1:05:29 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/10 1:05:29 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/10 1:05:29 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/10 17:07:33 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/10 1:05:29 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/10 17:07:33 阅读更多 →