Scenario: Our web application is connecting to an MQ server using a resource adapter for Websphere MQ. As I’m setting this up to use TLS/SSL, I added the sslCipherSuite in my activation property during the setup of my ra. Tried starting the application after doing the change but I’m getting a NullPointerException. Upon digging into the stack trace error is:
exception: { message: “Cannot invoke “java.net.URL.openstream()” because “resource” is null”, frames: [ { class: “com.ibm.mq.jmqi.CipherSpecBean”, “method”: “getCiphers” } ]
If my understanding is correct, is it because its trying to use the cipherSuiteMapping for IBM JRE? MQ Server is v9.
Thank you.
As we are not using the IBM JRE, I tried setting a system property com.ibm.cfg.useIBMCipherMappings to false but I’m still getting the same error. Is there something here that I’m missing?
The class CipherSpecBean static initializer code wants to load resource file "com/ibm/mq/jmqi/internal/ciphermappings.json" from its Jar file. Problem here is that the thread's context classloader used does not see the resource file. One solution would be to assure a TCCL is set that can load the resource file.