当前位置 博文首页 > 文章内容

    使用SpringBoot配置https(SSL证书)

    作者:shunshunshun18 栏目:未分类 时间:2021-12-28 15:11:00

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    SpringBoot配置https(SSL证书)

    最近在做微信小程序,https是必须条件

    仅需三步

    SpringBoot2.x版本

    对比一下这个小锁头是不是莫名有点好看?

    在这里插入图片描述

    在这里插入图片描述

    嘤为很久以前就备案有域名,就直接申请了SSL证书,几分钟就下来了

    在这里插入图片描述

    1.把tomcat目录里面的.jks文件

    复制到项目里面(注意路径)

    在这里插入图片描述

    2.配置application.yml

      ssl:
        key-store: classpath:server.jks
        key-store-password: 申请时设置的密码
        keyStoreType: JKS
    

    在这里插入图片描述

    3.接下来是重定向

    在启动类底下添加;(把指定的http8080端口重定向到https8888)

    @Bean
        public ServletWebServerFactory servletContainer() {
            TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
            tomcat.addAdditionalTomcatConnectors(createHTTPConnector());
            return tomcat;
        }
        private Connector createHTTPConnector() {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            //同时启用http(8080)、https(8443)两个端口
            connector.setScheme("http");
            connector.setSecure(false);
            connector.setPort(8080);
            connector.setRedirectPort(443);
            return connector;
        }
    

    在这里插入图片描述

    ok

    SpringBoot 改造成https访问

    SpringBoot https改造

    1.生成密钥证书

    生成命令:keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650

    (1)关键字解释:

    alias:密钥别名

    storetype:指定密钥仓库类型

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

    keysize:证书大小

    keystore:生成的证书文件的存储路径

    validity:证书的有效期

    (2)生成证书注意:

    在输入证书生成命令之后,会提示输入:

    • 密钥库口令:证书密码,在后面的项目中配置证书时用到
    • 姓氏:一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
    • 组织单位:证书使用单位信息,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
    • 组织单位名称:证书使用单位名称,一般没什么用,在浏览器中查看证书时会显示,用于正式场合的证书还是需要填写标准。
    • 所在的城市或区域名称:浏览器中查看证书信息时会显示。
    • 所在的省/市/自治区名称:浏览器中查看证书信息时会显示。
    • 单位的双字母国家/地区代码:国家或地区编码,浏览器中查看证书信息时会显示。

    2.将生成的密钥证书拷贝到项目中的resource中

    也可以不拷贝到项目中,后面配置路径时配置密钥证书的绝对路径即可

    3.修改项目配置文件application.properties

    增加如下配置项:

    • server.ssl.key-store=classpath:keystore.p12 (密钥文件路径,也可以配置绝对路径)
    • server.ssl.key-store-password=aqjcpt (密钥生成时输入的密钥库口令)
    • server.ssl.keyStoreType=PKCS12 (密钥类型,与密钥生成命令一致)
    • server.ssl.keyAlias=tomcat (密钥别名,与密钥生成命令一致)

    4.启动项目,直接访问项目即可

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持IIS7站长之家博文。