当前位置: 首页 > 知识库问答 >
问题:

在spring boot中添加.crt以启用SSL

陆绪
2023-03-14

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

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

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

我在CentOS7服务器上有一个正在运行的spring boot应用程序(在端口80上有一个嵌入式Tomcat)。(服务器运行在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查询?

共有1个答案

康泽宇
2023-03-14

因此正确的步骤如下:

我不得不从零开始重新创建CSR,取而代之的是一个Java钥匙商店。

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文件,“bundle”文件是中间的.cer,我需要这样添加它:

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

那么实际的“long-named”.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

它终于奏效了。

 类似资料:
  • 如何启用此处列出的ExecutorServiceMetrics? https://github.com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/java/io/micrometer/core/instrument/binder/jvm/ExecutorServiceMetrics.java SpringB

  • 我正在运行一个springboot应用程序,它需要信任我在本地信任库中添加的证书。现在我将它设置在intellij中的运行配置选项下,它有效。ex- 我想知道有没有办法从应用程序设置它。以我们设置spring属性的方式在springboot中创建属性文件?

  • 我试图在spring boot应用程序中添加一个环境变量。属性文件。我知道如何在非spring启动项目中正常添加它,但我找不到用于添加环境变量的字段,这就是我所看到的。 这是我的application.properties文件,这可能会有帮助。

  • 在Woocommerce结账页面中,我试图在结账页面上添加一个复选框,并将其称为“分期付款”。 勾选复选框以添加3%的总金额时。 例如,如果总金额为,它将在总金额之前添加一个额外部分,称之为分期付款(=),并将该金额添加到总金额中。

  • 问题内容: 我正在尝试提供一组可以重复或删除的输入。 我发现并使用了以下方法的组合:https : //jsfiddle.net/69z2wepo/36745/ 并且(因为上面的代码无法处理删除操作):https : //codepen.io/lichin-lin/pen/ MKMezg 我可能不需要指向一个特定的输入,因为在我的界面中,您应该始终只添加一个新的(如果之前的一个已填充)(我将在稍后

  • 在RestTemplate中,我有一个自定义拦截器,它将记录一些请求-响应详细信息并保存到数据库。 我的自定义拦截器: springboot中的RestTemboard bean配置: 将拦截器添加到restTemboard bean: 如何将此拦截器添加到佯装客户端? 正在应用中。yml: InterceptorOne为假装客户端中的每个请求添加标头: 但是我不能添加日志服务拦截器,因为它由于错