Reference Guide

8 SSL/TLS Communications
RSA BSAFE SSL-J 6.2.6 Security Best Practices Guide
For example:
SSLParams params = new SSLParams();
// Set the allowed TLS versions (not including SSLv3).
int[] versions = {
SSLParams.TLSV1_1,
SSLParams.TLSV1_2
};
params.setVersions(versions);
loadTrustAnchors(params);
// Create an SSLSocket and connect it to the server.
SSLSocket socket = new SSLSocket(HOSTNAME, PORT, params);
// Use the Socket.
InputStream in = socket.getInputStream();
OutputStream out = socket.getOutputStream();
For more information, see the following SSL-J CipherSuiteAndProtocol
samples:
sslj/client/CipherSuiteAndProtocol.java
sslj/server/CipherSuiteAndProtocol.java
SLOTH Attack
Security Losses from Obsolete and Truncated Transcript Hashes (SLOTH) attack is a
vulnerability that affects TLS 1.2 capable toolkits which support the RSA-MD5
signature algorithm.
An attack is carried out by forcing a hash-construction downgrade to MD5 thus
reducing expected security during a TLS connection. This class of attack is called
“transcript collision”. The attack relies on the use of an obsolete hash construction
such as MD5 in TLS 1.2.
For more information about the Security Losses from Obsolete and Truncated
Transcript Hashes (SLOTH) Attack, see CVE-2016-0924.
How to Help Prevent the Attack
The best way to help prevent the SLOTH attack is to remove all instances of
RSA-MD5 based signature usage.
SSL-J Prevention for the SLOTH Attack
SSL-J 6.2.6 and above protects against this vulnerability automatically. The
RSA-MD5 signature algorithm has been removed from TLS 1.2 and is disabled by
default in older version of the protocol. By default, only RSA-SHA is available.
No code changes are required to protect against this vulnerability.