【问题标题】:How to encrypt communication between a desktop app and a REST-based web service?如何加密桌面应用程序和基于 REST 的 Web 服务之间的通信?
【发布时间】:2015-03-27 21:51:33
【问题描述】:

我已经构建了一个 Java 桌面应用程序,它与部署在 Spring Boot webapp 中的 RESTful API 进行通信。 Spring Boot 配置为使用嵌入式 Tomcat。我知道我需要加密这两者之间的数据,但我对使用证书知之甚少。

我假设我需要使用 SSL 配置 Tomcat。这里有一些文档:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#howto-configure-ssl

我想我需要创建自己的证书(这称为自签名证书吗?)并将私钥添加到 Tomcat 访问的密钥库中,并将公钥添加到桌面应用程序中分发的密钥库中。到目前为止是正确的吗?

我听说过使用商业证书。这些是什么,我应该将它们用于我自己的吗?

目前 webapp 不接受用户登录。它只是有一些没有敏感数据的公共页面,并提供了可以传递敏感数据的 API。如果我添加需要用户登录的页面,我的自签名证书不适用于浏览器是否正确?这就是商业证书发挥作用的地方吗?

对于一篇帖子中的所有问题,我们深表歉意。我从非常有限的知识开始。

【问题讨论】:

    标签: java ssl encryption desktop-application


    【解决方案1】:

    Kevin,自签名证书未经 Verisign 等证书颁发机构认证。因此,当用户尝试访问该网站时,浏览器会向用户发出警告。

    商业证书与自签名证书相同,只是 Versign 将对其进行签名,而不是您签名。这给出了证书的有效性。

    通常对于内部测试,自签名是可以的,但是当您将应用公开给外部用户时,您需要商业证书。

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-03
      相关资源
      最近更新 更多