使用Spring-Boot和Jetty设置SSL

时间:2018-01-25 19:39:46

标签: java spring ssl spring-boot jetty

我有一个使用jetty运行的spring-boot项目,我特别在我的gradle中

compile("org.springframework.boot:spring-boot-starter-web:1.5.8.RELEASE") {
    exclude module: "spring-boot-starter-tomcat"
}

我想设置SSL并注册,现在拥有.ca-bundle .crt .p7b .csr.key个文件。此外,我想通过使用@Configuration类而不是application.properties来实现此目的,但我不知道设置SSL的第一件事。任何人都可以指出我正确的方向,或提供一个代码片段,允许我的春季启动项目使用SSL吗?

1 个答案:

答案 0 :(得分:1)

1)您需要将证书添加到JKS格式的密钥库中。这是基于Java的Web服务器中用于存储证书的格式。您可以使用this guide或任何其他适合您的证书格式。

2)将生成的文件放入项目的src/main/resources文件夹中。

3)使您的Web服务器使用新的密钥库。

在春季启动过程中,通过.properties / .yml配置自动执行此过程非常简单。

以下是.yml的示例:

server:
  port: 443
  ssl:
    key-store: classpath:your-keystore.jks
    key-store-password: your-strong-pass
    keyStoreType: PKCS12
    keyAlias: your-alias

每个属性对应于您在第一步中输入的条目。端口应设置为443,因为它是SSL连接的默认端口。

注意:@Configuration类中没有必要这样做,因为建议的方法只是属性文件。查找更多详情in the documentation