HTTPS是HTTP的安全版本,旨在提供数据传输层安全性(TLS)。当你的应用不使用HTTP协议的时候,浏览器地址栏就会出现一个不安全的提示。HTTPS加密每一个数据包以安全方式进行传输,并保护敏感数据免受窃听者或黑客的攻击。spring
您能够经过在Web应用程序上安装SSL证书来实现HTTPS,互联网上受信任的证书一般是须要(CA)颁发的证书。为了学习目的,您也可使用自签名证书,好比:使用Java Keytool生成自签名证书。浏览器
您可使用位于JDK bin文件夹下的Keytool生成证书。例如,C:\Program Files\Java\jdk1.8.0_161\bin
。可使用两种自签名证书,以下所示。安全
本做者技术博客是:字母哥博客(z i m u g 点 康 姆),里面包含精品技术文章集合,欢迎您的访问。
在Windows的搜索字段中键入cmd以找到命令提示符,而后以“以管理员身份运行”右键单击。使用以下的keytool命令。您能够说起所需的证书名称,以下所示。app
C:\Program Files\Java\jdk1.8.0_161\bin> keytool -genkeypair -alias selfsigned_localhost_sslserver -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore ebininfosoft-ssl-key.p12 -validity 3650
自签名证书受密码保护。命令回车以后,会提示输入密码(这个密码要记住,后面会用到)和其余详细信息,如如下屏幕截图所示。学习
完成上述步骤后,便会建立PKS密钥并将其存储在JDK Bin文件夹下。测试
#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
@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"ui