• 如何为SpringBoot服务添加HTTPS证书


    HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS)。当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示。HTTPS加密每个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。

    您可以通过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书通常是需要(CA)颁发的证书。为了学习目的,您也可以使用自签名证书,比如:使用Java Keytool生成自签名证书。

    一、自签名证书

    您可以使用位于JDK bin文件夹下的Keytool生成证书。例如,C:Program FilesJavajdk1.8.0_161in。可以使用两种自签名证书,如下所示。

    1. 通过您自己的Java应用程序可以轻松访问JKS(Java密钥库)。JKS仅限于Java,不能从Java外部访问。
    2. PKCS12:该证书使用的公钥加密标准与语言无关,用于存储加密的私钥和证书。

    本作者技术博客是:字母哥博客(z i m u g 点 康 姆),里面包含精品技术文章集合,欢迎您的访问。

    二、如何生成自签名证书

    在Windows的搜索字段中键入cmd以找到命令提示符,然后以“以管理员身份运行”右键单击。使用如下的keytool命令。您可以提及所需的证书名称,如下所示。

    C:Program FilesJavajdk1.8.0_161in>
    
    keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore ebininfosoft-ssl-key.p12 -validity 3650
    

    自签名证书受密码保护。命令回车之后,会提示输入密码(这个密码要记住,后面会用到)和其他详细信息,如以下屏幕截图所示。

    file

    完成上述步骤后,便会创建PKS密钥并将其存储在JDK Bin文件夹下。

    三、将SSL应用于Spring Boot应用程序

    1. 从JDK bin文件夹复制ebininfosoft-ssl-key并将其放在Spring Boot Application的src / main / resources下。
    2. 如下所示,将SSL密钥信息添加到application.properties中。
    #SSL Key Info
    security.require-ssl=true
    server.ssl.key-store-password=生成证书的密码
    server.ssl.key-store=src/main/resources/ebininfosoft-ssl-key.p12
    server.ssl.key-store-type=PKCS12
    

    四、写一个Controller做简单的测试

    @RestController
    @RequestMapping("/home")
    public class HomeController {
     @RequestMapping(value = "/", method = RequestMethod.GET)
     public String hello() {
      return "welcome to spring boot application";
     }
    }
    

    如果您在不使用HTTPS的情况下访问Rest Endpoint,则会在浏览器中收到“Bad Request”消息。如果您使用HTTPS来访问URL,则会得到如下响应:"welcome to spring boot application"

    欢迎关注我的博客,里面有很多精品合集

    • 本文转载注明出处(必须带连接,不能只转文字):字母哥博客
  • 相关阅读:
    springboot2 pagehelper 使用笔记
    MySql实现分页查询的SQL,mysql实现分页查询的sql语句 (转)
    浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决
    idea设置JVM运行参数
    java.lang.OutOfMemoryError: Java heap space内存不足问题
    lasticsearch最佳实践之分片使用优化
    Elasticsearch分片优化
    ELASTICSEARCH 搜索的评分机制
    elasticsearch基本概念与查询语法
    mysql 用户及权限管理 小结
  • 原文地址:https://www.cnblogs.com/zimug/p/12484437.html
Copyright © 2020-2023  润新知