本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何将 .pem ssl 证书用于作为 Spring Boot 应用程序开发的 rest api

发布于2021-10-08 10:46     阅读(1095)     评论(0)     点赞(3)     收藏(1)


我们有一个用于其余 Web 服务的 Spring Boot 应用程序,该应用程序仍在开发中。我们现在使用自签名证书。

现在,它将与 1 个已开发的应用程序一起部署在一个系统中。默认情况下,此预先存在的应用程序使用自签名证书,但如果需要,客户端可以选择上传 CA 证书。现在,我们要为这个新应用程序使用相同的证书。

基本上,我们希望客户端为 1 个系统中运行的 2 个应用程序使用 1 个证书。

现在,此现有应用程序具有证书文件,如 .pem 和 .cer。现在,我如何在使用 jks 格式的证书的 Spring Boot 应用程序中使用此证书。

当然,如果有任何更新,证书应该对两个应用程序都可用。


解决方案


PEM 是一种众所周知的证书文件格式。除非涉及到 Java。因为 Java 只使用 JKS(它的 Java-only、二进制密钥库)或 PKCS12 作为密钥和证书。因此,我们必须将 PEM 编码的证书转换为 JKS 或 PKCS12,以便 Java 可以使用它。但这在很多情况下可能是丑陋的。

您可以在 spring-boot 应用程序中使用以下依赖项。

<dependency>
  <groupId>de.dentrassi.crypto</groupId>
  <artifactId>pem-keystore</artifactId>
  <version>2.0.0</version>
</dependency>

然后加

KeyStore keyStore = KeyStore.getInstance("PEM");

欲了解更多信息

https://github.com/ctron/pem-keystore

application.properties

 server.ssl.enabled=true
 server.ssl.key-store=/path/to/keystore.properties
 server.ssl.key-store-type=PEMCFG
 server.ssl.key-store-password=dummy
 server.ssl.key-alias=keycert

然后你创建文件keystore.properties

alias=keycert
source.cert=/etc/…/fullchain.pem
source.key=/etc/…/privkey.pem


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/299785/4fd85e0900ca9f386958/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)