如何将Java11中的证书与resttemplate和spring结合使用

lzfw57am  于 2021-07-16  发布在  Java
关注(0)|答案(1)|浏览(277)

一个机构已经给我发送了几个文件来使用他们的api:cert.pem、key-u.pem、companyrootca.pem和sdfgssdf_1.p12。
证书编号:

----- BEGIN RSA PRIVATE KEY -----
... 1234 ...
----- END RSA PRIVATE KEY -----
----- BEGIN CERTIFICATE -----
... abcdef ...
----- END CERTIFICATE -----

key-u.pem公司:

----- BEGIN RSA PRIVATE KEY -----
... 1234 ...
----- END RSA PRIVATE KEY -----

请注意,key-u.pem的密钥在cert.pem中是相同的。
companyrootca.pem公司:

----- BEGIN CERTIFICATE -----
... G h I J K ...
----- END CERTIFICATE -----

还有我无法用文本编辑器打开的文件sdfgssdfè1.p12。
我在linux终端上运行了以下命令,它成功地为我工作: curl -vvv --key ./key-u.pem --cert ./cert.pem --cacert ./CompanyRootCA.pem -H 'Content-Type: application/json' -d '{"parameters" : {}}' https://some.url.com.ar/api/2.1/server.php .
作为一个只发送cert.pem的测试运行,它也适用于我: curl -vvv --cert ./cert.pem -H 'Content-Type: application/json' -d '{"parameters" : {}}' https://some.url.com.ar/api/2.1/server.php .
现在,如何使用这些证书和密钥向api发送请求?我使用的是带有spring引导和rest模板的javaopenjdk11。

6jygbczu

6jygbczu1#

要将spring启动应用程序转换为使用ssl,您需要更新应用程序配置以包含类似的内容。

server:
  port: 8080
  SSL:
    key-store-type: PKCS12
    key-store: classpath:keystore/testkeystore.p12
    key-store-password: password

在上面的示例中,p12位于src/main/resources目录中
您需要添加一些rest模板配置,以便在下游api请求中使用它们。
下面是一篇关于在spring boot中使用ssl的好文章:
https://www.baeldung.com/spring-boot-https-self-signed-certificate

相关问题