Enable TLS1.2 on glassfish 3.1.2.2 - java

I want to enable TLS1.2 on glassfish 3.1.2.2 (build 5) with JDK7, I know JDK7 enables TLSv1.2, TLSv1.1, TLSv1 (default) and SSLv3.
I have upgraded the JDK version to JDK7 from JDK6, i'm connecting to glassfish server via SOAPUI client ( SOAPUI enabled TLS1.2 by setting -Dsoapui.https.protocols=TLSv1.2) to test a webservice application.
Following error is returning from server.
ERROR:javax.net.ssl.SSLHandshakeException: Server chose TLSv1, but
that protocol version is not enabled or not supported by the client.
I'm confused why glassfish doesn't choose the latest TLS version (TLS1.2) for the handshake.
Also found a glassfish blog
(https://java.net/projects/glassfish/lists/users/archive/2012-07/message/85)
stating glassfish3.1.2 had issues running TLS1.2 with JDK1.7
Does anyone successfully connected to glassfish3 via TLS1.2?

Related

IBM MQ explorer and standalone java client with SSL

The bounty expires in 5 days. Answers to this question are eligible for a +50 reputation bounty.
user1929905 is looking for an answer from a reputable source.
I have a IBM MQ manager with SSL enabled .I can connect with MQ explorer with SSL keystore.
But if i try with a standalone Java client and same keystore , I am not able to connect.
I can see error messages as No X.509 selected and unavailable authentication scheme messages in the ssl logs and client is sending a empty certificate.
Standalone Java client : uses IBM JDK , java full version JRE 1.8.0 IBM
Windows AMD 64 build 8.0.7.20 - pwa6480sr7fp20-20221020_01(SR7 FP20),
Cipher suite used in Java client:
SSL_ECHDE_RSA_WITH_AES_256_GCM_SHA384
IBM MQ explorer version 9.1 ,Internal JRE: java full version JRE 1.8.0
IBM Windows AMD 64 build 8.0.5.41 - pwa6480sr5fp41-20190919_01(SR5
FP41),
Cipher Suite on the Queue manager end ECHDE_RSA_AES_256_GCM_SHA384
Same keystore used on both.( keystore doesn't have password).
Can anyone suggest what would be the issue here?

TLS version used in JDK 8

We initialise our SSL context with the following code and are running on Java 8.
SSLContext context = SSLContext.getInstance("SSL");
Since Java 8 uses TLSv1.2 by default? Does it mean the above code will start sending TLSv1.2 requests if my server supports it.
Want to understand if "SSL" protocol name is just an alias but java runtime starts sending the requests with default TLS version.
UPDATE
I ran my code against "https://www.google.co.in/" and found this in fiddler
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.
Version: 3.3 (TLS/1.2
And also if i change my protocol to TLSv1 which only supports 1.0. Then Fiddler tells me
A SSLv3-compatible ClientHello handshake was found. Fiddler extracted the parameters below.
Version: 3.1 (TLS/1.0)
So, I guess the above code with "SSL" protocol name should work well with TLS 1.2 servers.
Yes. In Java 7, server side default TLS version was 1.2. In Java 8 both server and client have default TLS version 1.2.
As TLS version is backward compatible on both side unless server is configured strictly to specific version should not be an issue.

error " svn:SSLv3 SSLContext not available on RAD 7.5

I am getting the error " SVN: SSLv3 SSLContext not available SVN: OPTIONS request failed on ('SVN URL') while trying to connect to SVN repository through RAD 7.5.
I am using web sphere 7.0.
I am able to remote desktop to the server and also can login using the URL directly.
Only problem is through RAD.
Can anyone please help.
Thanks
It seems that RAD 7.5 does not support modern TLS/SSL versions, and supports only SSL 3.0 or older. I think that your server does not enable SSL 3.0 for security reasons. SSL 3.0 is deprecated and not secure.

How to make Glassfish 4.0 WebService use TLSv1.1 or TLSv1.2

Good Day, Everyone,
I have a JAX-WS (Metro) Web Service running on Glassfish 4.0 that receives inbound https messages. All has been running great (over TLSv1.0), but now the vendor sending us messages wants to require that they only be sent over TLSv1.1 or TLSv1.2. GF4.0 uses JDK7 by default which supports TLSv1.2 but it is disabled by default. How do you turn this on so that the Web Service can still receive messages?? I can do this in a POJO client (outbound), but am having issues configuring the server to do the same (inbound).
I have tried going into the GF Admin Console\Configurations\server-config\JVM Settings and adding JVM Option -Dhttps.protocols=TLSv1.2 but this seems to have no affect...
Thanks in advance! :)
TLS 1.2 should be enabled by default. You can disable TLS and TLS1.1 using the following asadmin commands
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.tls-enabled=false
asadmin set configs.config.server-config.network-config.protocols.protocol.http-listener-2.ssl.tls11-enabled=false
If you have other HTTPS listeners configured other than the default then replace http-listener-2 with the name of your http-listener and server-config with the name of your configuration e.g. default-config.

Client in java 6 for doint http post on tls

I have a consumed a payment gateway to which I was doing http post. Now payment gateway has been changed to tlsv1.2. Can I do http POST from java code, in tls v1.2 ??
I am current on java 1.6, server is tomcat.
Sources say I have to move to 1.7 .. Is it true ??
And can anybody guide me to how to do httpPost via tls v1.2
any refrence regarding same is welcome
Sources say I have to move to 1.7 .. Is it true ??
Yes, you have to move to 1.7 as JDK6 only supports TLSv1.
cf. https://blogs.oracle.com/java-platform-group/entry/diagnosing_tls_ssl_and_https
Note that TLSv1.1 and TLS1.2 are by default not enabled for client connections in 1.7 (they are in 1.8):
Although SunJSSE in the Java SE 7 release supports TLS 1.1 and TLS
1.2, neither version is enabled by default for client connections. Some servers do not implement forward compatibility correctly and
refuse to talk to TLS 1.1 or TLS 1.2 clients. For interoperability,
SunJSSE does not enable TLS 1.1 or TLS 1.2 by default for client
connections.

Categories

Resources