The latest PTFs for V7R4 of the IBMi Operating System includes a java update that disables the TLS protocol by default on your system. If, after applying them, you get reports of customers not receiving emails, here are the exceptions you will see in your Java debug logs, if you are affected by this issue:

[2021-09-14 17:06:50,916] ERROR Can’t send command to SMTP host

javax.mail.MessagingException: Can’t send command to SMTP host;

nested exception is:

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1420)

at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)

at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847)

at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)

at javax.mail.Service.connect(Service.java:275)

at com.cybra.email.EmailAccount.testConnection(EmailAccount.java:196)

at com.cybra.email.EmailAccount.testConnection(EmailAccount.java:137)

Caused by:

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

at com.ibm.jsse2.aa.<init>(aa.java:154)

at com.ibm.jsse2.ab.<init>(ab.java:16)

at com.ibm.jsse2.bb.a(bb.java:67)

at com.ibm.jsse2.bj.a(bj.java:243)

at com.ibm.jsse2.bj.f(bj.java:49)

at com.ibm.jsse2.bj.access$200(bj.java:406)

at com.ibm.jsse2.bj$c.write(bj$c.java:12)

at com.sun.mail.util.TraceOutputStream.write(TraceOutputStream.java:101)

at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:93)

at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:151)

at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1418)

… 6 more

This change is made in

“/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/jre/lib/security/java.security” and “/QOpenSys/QIBM/ProdData/JavaVM/jdk80/32bit/jre/lib/security/java.security”

For 64 bit and 32 bit versions, respectively.

Within the files, there is a line that lists the disabled algorithms.  An example of this line is as follows:

“jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, DESede, \ EC keySize < 224, 3DES_EDE_CBC, anon, NULL, DES_CBC”

For TLS to work again, you need to remove the references to it from this line and save the changes.

In the above example, the new line would read as follows:

“jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, DESede, \ EC keySize < 224, 3DES_EDE_CBC, anon, NULL, DES_CBC”

Once the change has been made, you will need to get a fresh sign on and restart the JVM subsystem.

Barcode Labeling Software

RFID Tracking Software

Barcode Labeling Software

RFID Tracking Software

Resources

[Case Study]

How NAFECO Improves Work-in-Process System with CYBRA’s RFID Application

[eBook]

2021 RFID Integration Guide - Learn how to turn your RFID tags into a great investment

[Webinar]

How You Can Benefit from Digitizing Your Shipping Forms and Labels with MarkMagic

[Case Study]

How NAFECO Improves Work-in-Process System with CYBRA’s RFID Application

[eBook]

2021 RFID Integration Guide - Learn how to turn your RFID tags into a great investment

[Webinar]

How You Can Benefit from Digitizing Your Shipping Forms and Labels with MarkMagic

Company

CYBRA Headquarters
CYBRA HQ (Yonkers, NY)

About CYBRA

Over 30 years of software sales & development. Thousands of customers worldwide. And, we’re just getting started. CYBRA specializes in RFID tracking technology and barcode forms & labeling software solutions. Learn More