java - 加密安装的应用程序和网络服务的方法

标签 java http ssl encryption https

我正在寻找有关如何加密命令行应用程序的建议。 我设想了一个与 Web 服务交互的命令行应用程序。我希望对应用程序和网络服务之间的消息进行加密。

我知道 SSL 证书是使用 Web 服务加密的常见用途,但是如果我有一个应用程序,许多人在他们机器的命令行上使用和使用,每个人都必须有一个 SSL 证书。

还有其他方法可以加密通信吗?

注意:我正在构建 Web 服务和命令行应用程序,因此可以在需要时匹配加密。

谢谢

最佳答案

I want to encrypt the transmitted data i.e., the http headers and body.

带有服务器证书的 HTTPS(在您的情况下不需要客户端证书)可以做到这一点。您的客户端和服务器之间的任何人都无法读取或修改传输数据的内容(url、 header 和正文)。

服务器将向您的客户端出示他的证书。这样您的客户端就可以确认服务器的身份。然后他们可以安全地交换信息。

如果您需要向您的服务器识别客户端,您可以使用客户端证书(但这不是唯一的方法)

请注意,由于 DNS 和 SNI,网络上的某些人仍然可以知道您的客户端连接到哪个域。

关于java - 加密安装的应用程序和网络服务的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36374466/

相关文章:

c - 套接字 http 请求失败

internet-explorer - 在 IE8 中检查 http 响应 header

c# - 通过 C# 为 MS Excel 的 VSTO 加载项代码签名证书

Java如何防止空对象异常

Java 字符串到 Int

java - JComponent 和组件左对齐

amazon-web-services - 如何使用自定义域创建 SSL AWS API 网关端点?

java - Springboot下拉菜单- "No mapping found for HTTP request with URI"错误

wcf - 可以从 SOAP UI 或任何此类工具设置 HTTP Origin 和 Referer 值吗?

ssl - Facebook 在 IE7 和 IE8 中通过 HTTPS/SSL 安全警告评论小部件