VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ46474

⇱ IJ46474: JSSE NPE IN KRB5CLIENTKEYEXCHANGEPRODUCER.PRODUCE()


IJ46474: JSSE NPE IN KRB5CLIENTKEYEXCHANGEPRODUCER.PRODUCE()

APAR status

  • Closed as program error.

Error description

  • Error Message: N/A
    .
    Stack Trace: Java callstack:
     java.lang.NullPointerException
     at
    com.ibm.jsse2.Krb5ClientKeyExchange$Krb5ClientKeyExchangeProduce
    r.produce(Krb5ClientKeyExchange.java:103)
     at
    com.ibm.jsse2.ClientKeyExchange$ClientKeyExchangeProducer.produc
    e(ClientKeyExchange.java:60)
     at com.ibm.jsse2.SSLHandshake.produce(SSLHandshake.java:415)
     at
    com.ibm.jsse2.ServerHelloDone$ServerHelloDoneConsumer.consume(Se
    rverHelloDone.java:177)
     at com.ibm.jsse2.SSLHandshake.consume(SSLHandshake.java:371)
     at
    com.ibm.jsse2.HandshakeContext.dispatch(HandshakeContext.java:67
    2)
     at
    com.ibm.jsse2.HandshakeContext.dispatch(HandshakeContext.java:65
    0)
     at
    com.ibm.jsse2.TransportContext.dispatch(TransportContext.java:19
    5)
     at com.ibm.jsse2.SSLTransport.decode(SSLTransport.java:149)
     at com.ibm.jsse2.SSLSocketImpl.decode(SSLSocketImpl.java:1319)
     at
    com.ibm.jsse2.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.ja
    va:1229)
     at
    com.ibm.jsse2.SSLSocketImpl.startHandshake(SSLSocketImpl.java:41
    3)
     at
    com.ibm.jsse2.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:
    833)
     at
    com.ibm.jsse2.SSLSocketImpl.access$200(SSLSocketImpl.java:72)
     at
    com.ibm.jsse2.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.
    java:1134)
    .
    

Local fix

  • N/A
    

Problem summary

  • Krb5ClientKeyExchangeProducer.produce() makes a direct reference
    to the ClientHandshakeContext.requestedServerNames field, which
    can be null.
    The code should be modified to use the
    HandshakeContext.getRequestedServerNames() getter method which
    returns an empty list, instead of null.
    

Problem conclusion

  • Modified Krb5ClientKeyExchangeProducer.produce() to use the
    HandshakeContext.getRequestedServerNames() getter method which
    returns an empty list,
    instead of null, avoiding the NPE.
    The files affected by this APAR are: ibmjsseprovider2.jar (Java
    8: Non-FIPS: build_20230330--649, FIPS140-3:
    build_20230330--650).
    The associated Hursley RTC Problem Report is: PR149056.
    The associated Austin Git issue is: Issue #257 for JSSE.
    The associated Austin APAR issue is: N/A.
    .
    This APAR will be fixed in the following Releases:
    .
    IBM SDK, Java Technology Edition
     8 SR8 FP10 (8.0.8.10)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    maintenance can be found at:
     https://www.ibm.com/support/pages/java-sdk
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ46474

  • Reported component name

    SECURITY

  • Reported component ID

    620700125

  • Reported release

    270

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-04-19

  • Closed date

    2023-04-29

  • Last modified date

    2023-04-29

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    SECURITY

  • Fixed component ID

    620700125

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"270","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
30 April 2023