当前位置: 首页 > news >正文

SSL配置及练习

1.SSL简介

SSL(Secure Sockets Layer,安全套结层)是为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密,SSL协议位于TCP/IP与各种应用层协议之间,

为数据通信提供安全支持。SSL协议可分为俩层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能

的支持。SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始前,通信双方进行身份认证、协商加密算法、交换加密密钥等

 

如何在Spring Boot上配置SSL呢?

因为Spring Boot 用的是内嵌的Tomcat,因而我们做SSL配置的时候需要做如下的操作:

1.生成证书

每一个JDK或者JRE里都有一个工具叫keytool,它是一个证书管理工具,可以用来生成自签名的证书

在C盘用户路径下,生成一个.keystore文件,就是我们要用的证书文件

2.Spring Boot配置SSL

将.keystore文件复制到项目的根目录,然后在application.properties中做如下SSL配置:

此时,启动项目

至此SSL集成结束;

还可以进阶下:http 转向 https

 简单说:地址栏输入的是http,但是会自动转向到https

要实现这个功能,我们需配置TomcatEmbeddedServletContainerFactory,并且添加Tomcat的connector来实现。

 @Bean
    public EmbeddedServletContainerFactory servletContainerFactory() {
        TomcatEmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory
                = new TomcatEmbeddedServletContainerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint securityConstraint =
                        new SecurityConstraint();
                securityConstraint.setUserConstraint("CONFIDENTIAL");

                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                securityConstraint.addCollection(collection);
                context.addConstraint(securityConstraint);
            }
        };
        tomcatEmbeddedServletContainerFactory.addAdditionalTomcatConnectors(httpConnector());
        return tomcatEmbeddedServletContainerFactory;
    }
@Bean
    public Connector httpConnector() {
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        //设置有别于现有系统的端口号,监听此端口,实现转向
        connector.setPort(8443);
        connector.setSecure(false);
        //现有系统端口号
        connector.setRedirectPort(8080);
        return connector;
    }

 

转载于:https://www.cnblogs.com/meiCode/p/7685847.html

相关文章:

  • 从上百幅架构图中学得半点大型网站建设经验(上)
  • jquery选择器
  • 深切悼念苹果的老大乔布斯
  • css理论
  • windwos7 em控制台使用操作系统用户错误
  • angular4.0如何引入外部插件1:import方案
  • Thinking in React Implemented by Reagent
  • Streams复制文档
  • 动手动脑(课后实验):类和对象
  • 金额字段加千位分隔符
  • Python 中raw 字符串和多行字符串
  • 基本类型小总结
  • nodejs模块——fs模块 使用fs.read读文件
  • 十月百度,阿里巴巴,迅雷搜狗最新面试七十题(第201-270题)
  • 输入和输出
  • 收藏网友的 源程序下载网
  • [NodeJS] 关于Buffer
  • [笔记] php常见简单功能及函数
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • js
  • Linux快速复制或删除大量小文件
  • SpringCloud集成分布式事务LCN (一)
  • UMLCHINA 首席专家潘加宇鼎力推荐
  • Vue2 SSR 的优化之旅
  • webpack入门学习手记(二)
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 漂亮刷新控件-iOS
  • 前端面试之闭包
  • 入门级的git使用指北
  • 算法-图和图算法
  • 微信小程序--------语音识别(前端自己也能玩)
  • 我从编程教室毕业
  • #Linux(权限管理)
  • #pragma multi_compile #pragma shader_feature
  • $(selector).each()和$.each()的区别
  • (4)(4.6) Triducer
  • (8)STL算法之替换
  • (C++17) optional的使用
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (蓝桥杯每日一题)love
  • (图)IntelliTrace Tools 跟踪云端程序
  • (万字长文)Spring的核心知识尽揽其中
  • (转)winform之ListView
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .NET CLR Hosting 简介
  • .net core控制台应用程序初识
  • .Net程序帮助文档制作
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [] 与 [[]], -gt 与 > 的比较
  • [android] 切换界面的通用处理
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C#]winform部署yolov9的onnx模型