【问题标题】:How to implement TLS encryption with client authentication between a Java application and a C/C++ client如何在 Java 应用程序和 C/C++ 客户端之间通过客户端身份验证实现 TLS 加密
【发布时间】:2016-02-10 10:33:46
【问题描述】:

我有一个 Java Swing 应用程序,它需要通过套接字与 C/C++ 应用程序通信。数据以 XML 文档的形式传输。为了确保这种通信的安全,我最初考虑使用非对称加密,但后来它重新发明了轮子。所以我想到了使用 TLS(v1.2),它解决了我们自己实现加密过程中遇到的大部分问题。我也想对客户端进行身份验证,即双向身份验证。关于如何解决这个问题的任何指示或线索?我已经阅读了 JSSE 参考指南,但有些我仍然感到困惑。

【问题讨论】:

  • 我不明白反对票。为什么??

标签: java sockets security tls1.2 jks


【解决方案1】:

TLS 和 SSL 与您在通信的客户端或服务器上使用的编程语言无关。

这只是一个协议。

您可以将此协议用于任何语言。

【讨论】:

  • 是的,我知道,但我不知道如何处理客户。我可以在服务器上生成 java 密钥存储文件并完成其余的工作。但是客户端可以在任何版本的 TLS/SSL 上拥有自己的实现。这些版本会向前/向后兼容吗?此外,我不确定在客户端(例如 C/C++)需要做什么才能使用 SSL/TLS 与我的 Swing 应用程序进行通信。
【解决方案2】:

是的,通信通道的每一端都必须支持 SSL/TLS。 在 C/C++ 中有几种可能性/库可以做到这一点,这完全取决于平台(windows、unix、whatnot)。因此,实际上不可能完全回答您的问题。您必须提前了解需要哪种类型的应用程序与您的 java 应用程序进行通信。

至于“向后/向前兼容性”:如果 C/C++ 代码坚持使用一些广泛使用的 TLS 实现,您可能不会遇到很多此类问题。你可以用一些系统属性或一些额外的代码来调整你的java端来解决它们。

【讨论】:

    猜你喜欢
    • 2016-04-24
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 2015-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多