gpt4 book ai didi

springboot添加https服务器的方法

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章springboot添加https服务器的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

什么是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的配置 。

?
1
2
3
4
5
server.port= 8443
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password= 123456
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat

简单配置以上就可以了 。

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@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;
  }

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

?
1
2
// 生成jks证书
keytool -genkey -alias tomcat -keyalg RSA -keystore dahai_server.jks -validity 3600 -storepass 123456

生成签名文件 。

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

总结 。

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

原文链接:http://blog.csdn.net/big_sea_m/article/details/78525745 。

最后此篇关于springboot添加https服务器的方法的文章就讲到这里了,如果你想了解更多关于springboot添加https服务器的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com