【发布时间】:2016-11-09 19:46:02
【问题描述】:
2016 年 7 月 8 日更新。
我必须通过 SSL 实现 Web 服务到 Web 服务的通信。需求就像我们有一个在 Eclipse Virgo 服务器上运行的应用程序。该应用程序包含几个 OSGI 包。目前,当用户输入一些数据来存储应用程序时,应用程序接受它并将数据持久化到基于实体的异构数据源(数据库,使用 JNI 的 C 进程)中,这很好。
现在我需要实现的是,相同的应用程序将部署在多个服务器中,并且 UI 中将有一个选项来指定复制服务器(即运行相同应用程序的服务器和需要复制的数据) .
为此,我们计划创建一个单独的包来拥有一个 Restful Web 服务,并移动所有持久性逻辑以将数据保存到异构数据源。这个 Rest API 将检查可用的复制服务器,并且必须通过这些服务器中的 Rest 服务传递相同的数据。
需要注意的一点是,我们利用 Spring Security 框架来确保我们的 java 应用程序的安全性。由于我们不会将我们的 Web 服务暴露给任何第三方应用程序,因此所有调用(包括对 Web 服务的调用)都将使用它进行身份验证和授权。
我们这样做不是为了负载平衡。每台服务器都是独立的,我们使用安装程序安装应用程序以及所需的软件。这个想法是使用安装程序来创建和安装自签名证书。在安装应用程序时,我们可能不知道是否需要将其复制到另一台服务器。因为并非此应用程序的每个客户端都需要复制服务器。需要使用复制服务器的客户端必须能够在稍后阶段通过 Java Web 应用程序管理屏幕启用和禁用一个或多个复制服务器。从那里开始,一台服务器中发生的任何数据操作都需要以双向方式复制到另一台服务器。
所以我的问题是我们如何动态获取公钥并加密请求以双向方式连接到那些复制服务器,因为它在 SSL 中运行?
我对 SSL 的概念完全陌生。
提前致谢。
【问题讨论】:
标签: java web-services ssl ssl-certificate