Spring boot-使用CA证书启用SSL

问题描述 投票:2回答:1

也许我会在这里找到帮助。我想在Spring Boot应用程序上启用SSL。我有一个类似的配置:

服务器:端口:8999 ssl:已启用:true密钥库:classpath:keystore.jks密钥库密码:mypass密码:mypass

问题是我的密钥库。我已将* crt文件导入别名为“ tomcat”的密钥库中:

keytool -importcert -file certificate.crt -keystore native.jks -alias tomcat

但是,我仍然无法正确访问我的rest api。呕吐,Firefox出错:

SSL_ERROR_RX_RECORD_TOO_LONG

  • 不起作用。如何制作适当的密钥库以使其正常工作?我正在颁发CA证书,而不是自签证书。我有类似的文件:

certificate.crt,certificate.p12,certificate.pk,privkey.pem和三个文件root_ca_1.ca-bundle,root_ca_2.ca-bundle,root_ca_3.ca-bundle

。这就是我的全部。我对ssl主题非常了解,只需阅读一些教程并尝试了一些keytool命令以使其工作。我将不胜感激。提前谢谢。

java ssl spring-boot https jks
1个回答
0
投票

嗯,您需要在ssl配置中添加更多属性

server:
ssl:
  key-store: classpath:config/tls/keystore.p12
  key-store-password: password ##this will be your certificate password
  key-store-type: PKCS12
  ciphers: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  enabled-protocols: TLSv1.2
http2:
  enabled: true

确保p / 12密钥库文件位于config / tls中的类路径(src / main / resources)下

但是要生成密钥库文件,请使用以下openssl命令,其中将使用.crt和.key文件生成.p12文件。

。crt和.key位于文件夹CA下,文件p12将是在CA下生成

请注意,您将在之后要求输入证书密码运行以下命令

openssl pkcs12 -export -in CA/certificate.crt -inkey CA/certificate.key -name certificate -out CA/certificate.p12

如果要将此证书添加到本地cacert,请使用下面的命令

在jre \ lib \ security下

keytool -importcert -noprompt -trustcacerts  -alias ca.certificate  -file   CA/certificate.crt -keystore   cacerts -storepass changeit
© www.soinside.com 2019 - 2024. All rights reserved.