gpt4 book ai didi

java - 如何在 Java 和 C 中使用 GnuTLS

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:52 24 4
gpt4 key购买 nike

我想创建可以通过网络与 C 客户端安全通信的 Java 服务器。我选择将 GnuTLS 用于加密库。问题是 GnuTLS 是用 C 语言编写的。我有两个问题:1. 是否可以使用 JNI 将 Java 与 GnuTLS 一起使用?2. 是否可以在服务器端使用内部 Java 加密包,在客户端使用 GnuTLS 和 C?它们会兼容吗?

最佳答案

TLS 1.0 , 1.11.2是 IETF 标准,它们是专门设计的,因此它们的实现可以互操作(实际上,大多数 SSL/TLS 库也至少包括对 SSLv3 的支持)。当您从不共享其 SSL/TLS 堆栈的浏览器(例如 IE、Firefox 和 Safari 使用不同的 SSL/TLS 库)连接到网络服务器(例如,运行由 OpenSSL 支持的 Apache)时,这种情况一直发生。

或许可以将 GnuTLS 与来自 Java 的 JNI 结合使用,但我不确定是否值得付出努力。 Java 已经有了 JSSE .

可能导致问题的是您计划使用的 TLS 版本以及对密码套件的支持。

Oracle JRE 使用 Sun Provider。 Java 6 的 SunJSSE 提供程序文档中记录了支持的内容和 Java 7 (特别是,Java 6 不支持 TLS 1.1 和 1.2)。还有tables showing what is supported by various implementations on Wikipedia ,但您可能还必须查看要用于准确数据的特定版本的文档。

例如,可以从针对 GnuTLS 编译的 cURL 连接到运行在 Java 6 JRE 上的 Java 服务器(例如 Jetty)。

关于java - 如何在 Java 和 C 中使用 GnuTLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9457179/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com