Spring Boot SSL客户端-服务器通信

法尔佐

我对Spring Boot和SSL相当陌生。我已经开发了具有服务器密钥库私钥服务器CA的SSL rest Web服务器,并且可以正确处理相互X.509证书身份验证。我已经测试过,它可以与Postman和Python Client一起使用HTTPS请求,并且一切正常,服务器和客户端都可以成功交换和验证彼此的证书。

但是我的情况有点不同

我已经创建了一个Postgresql数据库并将其连接到我的spring boot应用程序,并且我已经创建了具有特定ID号的表的实体以及可以创建,获取实体等的REST端点。

所以我的情况如下:

  1. Python客户端带有特定的ID号,并向每个人可用的REST端点发出请求(服务器允许)。
  2. Spring Boot Server检查数据库中的该ID号,并向Python Client(我现在被卡住)创建一个Client Certificate,并将此证书发送给Client。
  3. 发送客户端证书后,客户端可以使用它并与证书进行服务器通信

所以问题随之而来;

是否可以在Java运行时中创建客户端证书?如果是,我如何创建它并发送回客户端?

感谢您的时间和回复。

法尔佐

我找到了解决方案。如果有人需要类似的解决方案,则可以执行以下步骤;

  1. 在Spring Boot中创建公共端点,您可以使用给定的ID号
  2. 与您的数据库进行比较,如果存在ID号,则调用.sh文件(使用过程)
  3. 在此.sh文件中,使用openssl命令生成密钥,从密钥中删除密码短语(如果已使用),创建客户端证书请求,最后对证书签名。
  4. 最后将此签名的证书和私钥发送回客户端。

毕竟,您的客户可以将您的签名证书与私钥一起使用,并使用安全的端点。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

转到服务器和Java客户端通信

Spring Boot 2-自动连接服务时对Feign客户端的不满意依赖

Spring Integration ByteArrayRawSerializer TCP客户端服务器

一旦启动eureka客户端服务,Spring Cloud Eureka服务器就会重新启动。(升级JDK和Spring Boot版本之后。)

如何将Spring Boot管理客户端元数据发送到管理服务器

Javafx SSL客户端配置消耗我的Spring Boot SSL安全的Rest Api

无法使用Spring Boot WS在Web服务客户端中设置肥皂动作回调

Spring Boot配置客户端属性

React登录页面(客户端)和Spring Boot /安全性(服务器端)

在Spring框架中,如何在服务器和客户端之间进行快速通信?

Spring Boot TCP客户端

Spring Boot 2 + Feign + Eureka客户端无法将服务名称解析为URL

Spring-Boot-Admin服务器无法从Eureka注册表中注册客户端

如何混淆或加密客户端服务器通信

Spring Boot SSL客户端

Spring Boot Web服务客户端认证

无法使用SSL在Java客户端和python服务器之间执行通信

如何在Spring Boot中从Eureka服务器上的Grails注册Eureka客户端

如何在Spring Boot OAuth2服务器中启用多个客户端ID?

Spring Boot 2 OIDC(OAuth2)客户端/资源服务器未在WebClient中传播访问令牌

从RSocket-Java客户端连接到Spring Boot RSocket服务器时出错

RSocket Js客户端未获取从Spring Boot RSocket服务器生成的元素

在Spring Boot中,Eureka客户端eureka.client.service-url.defaultZone如何工作以及如何添加新的eureka服务器?

客户端-服务器Websocket通信

服务器到客户端的通信方法

Android作为客户端,服务器使用Spring注释,以JSON格式通信,在服务器中接收时出错

Python 服务器和客户端无法通信

spring-boot-admin 服务器和客户端的区别

从反应客户端应用程序到 spring-boot 服务器的 HTTP POST 请求返回 400 错误