springboot添加https服务器的方法

springboot添加https服务器的方法,第1张

概述什么是https要说https我们得先说SSL(SecureSocketsLayer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSLRecord

什么是https

要说https我们得先说SSL(Secure Sockets Layer,安全套接层),这是一种为网络通信提供安全及数据完整性的一种安全协议,SSL在网络传输层对网络连接进行加密。SSL协议可以分为两层:SSL记录协议(SSL Record Protocol),它建立在可靠的传输协议如TCP之上,为高层协议提供数据封装、压缩、加密等基本功能支持;SSL握手协议(SSL Handshake Protocol),它建立在SSL记录协议之上,用于在实际数据传输开始之前,通信双方进行身份认证、协商加密算法、交换加密密钥等。在Web开发中,我们是通过httpS来实现SSL的。httpS是以安全为目标的http通道,简单来说就是http的安全版,即在http下加入SSL层,所以说httpS的安全基础是SSL,不过这里有一个地方需要小伙伴们注意,就是我们现在市场上使用的都是TLS协议(Transport Layer Security,它来源于SSL),而不是SSL,只不过由于SSL出现较早并且被各大浏览器支持因此成为了httpS的代名词,。你可以把httpS和SSL的关系理解成iPhone和富土康的关系,大概就是这样哈。

在安卓开发中发现很多App都是https访问,为了自己方便测试,自己搭建一个简单的https服务器

首先使用keytool生成证书,该生成的证书会被检测到有风险,自己使用无所谓啦:)

keytool -genkey -alias tomcat  -storetype PKCS12 -keyalg RSA -keysize 2048  -keystore keystore.p12 -valIDity 3650

1.-storetype 指定密钥仓库类型

2.-keyalg 生证书的算法名称,RSA是一种非对称加密算法

3.-keysize 证书大小

4.-keystore 生成的证书文件的存储路径

5.-valIDity 证书的有效期

然后根据提示填写信息就可以了

再在springboot的配置文件中添加https的配置

server.port=8443server.ssl.key-store=classpath:keystore.p12server.ssl.key-store-password=123456server.ssl.keyStoreType=PKCS12server.ssl.keyAlias=tomcat

简单配置以上就可以了

可以将http重定向到https,做如下配置就OK啦这里写代码片

 @Bean  public EmbeddedServletContainerFactory servletContainer() {    TomcatEmbeddedServletContainerFactory tomcat = 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);      }    };    tomcat.addAdditionalTomcatConnectors(initiatehttpConnector());    return tomcat;  }  private Connector initiatehttpConnector() {    Connector connector = new Connector("org.apache.coyote.http11.http11NioProtocol");    connector.setScheme("http");    connector.setPort(8080);    connector.setSecure(false);    connector.setRedirectPort(8443);    return connector;  }

在安卓端访问也可以用下面方法

// 生成jks证书keytool -genkey -alias tomcat -keyalg RSA -keystore dahai_server.jks -valIDity 3600 -storepass 123456

生成签名文件

keytool -export -alias tomcat -file dahai_server.cer -keystore dahai_server.jks -storepass 123456

总结

以上所述是小编给大家介绍的springboot添加https服务器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

总结

以上是内存溢出为你收集整理的springboot添加https服务器的方法全部内容,希望文章能够帮你解决springboot添加https服务器的方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1227421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存