如何配置 Spring Boot 2 WebFlux 以使用 SSL?
How to configure Spring Boot 2 WebFlux to use SSL?
我得到的只是javax.net.ssl.SSLHandshakeException: no cipher suites in common
。
这是重现该行为的方法:
- 转到 http://start.spring.io 并添加 "Reactive Web" 作为 Spring 2.0.1
的依赖项
- 解压缩存档
- 运行
keytool -genkeypair -keystore demo/src/main/resources/keystore.jks
- 选择密码
- 打return只要
[Unknown]
是默认的,当询问CN=Unknown, OU=Unknown, ...
是否正确时输入Yes
。
- 对密钥使用与密钥库相同的密码
将以下内容添加到application.properties
server.ssl.key-store=classpath:keystore.jks
server.ssl.key-store-password=<my-secure-pwd>
构建并运行应用程序
- 运行
curl https://localhost:8080
这是我第一次将 SSL 添加到 Spring 引导应用程序,我认为一定有问题 - 但我不知道是什么。也许你们中的任何人都可以提供一些帮助?谢谢!
好的,事实证明您需要将密钥算法设置为 RSA 才能使这项工作正常进行。
keytool -genkeypair -keyalg RSA -keystore src/main/resources/keystore.jks
我得到的只是javax.net.ssl.SSLHandshakeException: no cipher suites in common
。
这是重现该行为的方法:
- 转到 http://start.spring.io 并添加 "Reactive Web" 作为 Spring 2.0.1 的依赖项
- 解压缩存档
- 运行
keytool -genkeypair -keystore demo/src/main/resources/keystore.jks
- 选择密码
- 打return只要
[Unknown]
是默认的,当询问CN=Unknown, OU=Unknown, ...
是否正确时输入Yes
。 - 对密钥使用与密钥库相同的密码
将以下内容添加到application.properties
server.ssl.key-store=classpath:keystore.jks server.ssl.key-store-password=<my-secure-pwd>
构建并运行应用程序
- 运行
curl https://localhost:8080
这是我第一次将 SSL 添加到 Spring 引导应用程序,我认为一定有问题 - 但我不知道是什么。也许你们中的任何人都可以提供一些帮助?谢谢!
好的,事实证明您需要将密钥算法设置为 RSA 才能使这项工作正常进行。
keytool -genkeypair -keyalg RSA -keystore src/main/resources/keystore.jks