spring - 将 .crt 添加到 Spring Boot 以启用 SSL

标签 spring tomcat ssl spring-boot https

我以前从来没有这样做过,而且大多数教程都没有提到如何处理.crt文件。

我在GoDaddy购买了SSL证书,下载时选择了Tomcat作为平台。 zip 文件包含 3 个文件:

dea08asdjakjawl.crt  
gd_bundle-g1-g1.crt  
gdig.crt.pem  

我在 CentOS7 服务器上有一个正在运行的 Spring Boot 应用程序(在带有嵌入式 Tomcat 的端口 80 上)。 (服务器在 Digital Ocean 上运行,它有一个分配的域,并使用简单的 http)

我想将其切换为 https://something.com

所有教程都建议我必须有一个 .jks 或 .p12 文件,但我无法将 .crt 文件转换成那个。此外,我不确定我应该将 2 个 .crt 文件中的哪一个转换为 .jks/.p12。

我已将此添加到我的 application.yaml,但没有帮助:

server:    
  port: 443  
  ssl:  
    enabled: true  
    key-alias: server  
    key-store: "cert.crt"  
    key-store-password: "***"  

如何更改正在运行的 Spring Boot 项目以接受使用此证书的 HTTPS 查询?

最佳答案

所以正确的程序如下:

我不得不使用 Java Key Store 从头开始​​重新创建 CSR。

keytool -genkey -alias mydomain -keyalg RSA -keystore KeyStore.jks -keysize 2048

然后是一个新的 CSR:

keytool -certreq -alias mydomain -keystore KeyStore.jks -file mydomain.csr

必须将其重新发送给证书提供商以生成新的 .cer 文件。所以他们发回了我提到的 2 个 .cer 文件,“捆绑”文件是中间的 .cer,我需要像这样添加:

keytool -import -trustcacerts -alias intermediate -file intermediate.crt -keystore KeyStore.jks

然后是实际的“长名称”.cer 文件,如下所示:

keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore KeyStore.jks

然后这是可以像这样转换为 p12 的东西:

 keytool -importkeystore -srckeystore <MY_KEYSTORE.jks> -destkeystore <MY_FILE.p12> -srcstoretype JKS -deststoretype PKCS12 -deststorepass <PASSWORD_PKCS12> -srcalias <ALIAS_SRC> -destalias <ALIAS_DEST>

最后 application.properties 需要额外的行,变成这样:

server.port=443
server.ssl.enabled=true
security.require-ssl=true
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=password
server.ssl.key-alias=domain
server.ssl.key-password=password

它终于开始工作了。

关于spring - 将 .crt 添加到 Spring Boot 以启用 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46670046/

相关文章:

java - 如何配置tomcat在浏览器中查看html中的图像

java - 在 SpringFrame 工作中进行日志记录的首选方式

java - Spring 4.07 Junit 测试和 Autowiring

java - 如何找到 Spring Boot 应用程序的入口点?

java - 如何调试 "No Mapping found for HTTP Request"?

ssl - 如何解决打算由 LAN 托管的站点的自签名 SSL 证书问题

spring - 这是我的 spring-boot-starter-tomcat 依赖项

java - ClassNotFoundException : com. sun.faces.config.ConfigureListener

ssl - Nginx 服务器关闭某些客户端的 ssl 连接

java - 将 SSL 证书转换或导入到 Java keystore