TLS 1.0 , 1.1 и 1.2 являются стандартами IETF, которые специально разработаны таким образом, чтобы их реализации могли взаимодействовать (на практике большинство SSL / Библиотеки TLS также будут включать поддержку SSLv3 как минимум). Это происходит все время, когда вы подключаетесь к веб-серверу (например, запускаете Apache с поддержкой OpenSSL) из браузера, который обычно не использует свои стеки SSL / TLS (например, IE, Firefox и Safari используют разные библиотеки SSL / TLS).
Возможно, можно использовать GnuTLS с JNI из Java, но я не уверен, что оно того стоит. У Java уже есть JSSE .
Причиной проблемы могут быть версия TLS, которую вы планируете использовать, и поддержка комплектов шифров.
В Oracle JRE используется поставщик Sun. То, что поддерживается, описано в документации поставщика SunJSSE для Java 6 и для Java 7 (в частности, TLS 1.1 и 1.2 не поддерживаются в Java 6). Существуют также таблицы, показывающие, что поддерживается различными реализациями в Википедии , но вам также может понадобиться посмотреть документацию для конкретной версии, которую вы хотите использовать для получения точных данных.
Например, можно подключиться к серверу Java (например, Jetty), работающему на JRE Java 6 из cURL
, скомпилированного с GnuTLS.