000037409 - Remote collection agents fail with null pointer exception using latest JRE/JDK versions in RSA Identity Governance & Lifecycle

Document created by RSA Customer Support Employee on Apr 30, 2019Last modified by RSA Customer Support Employee on Aug 5, 2019
Version 5Show Document
  • View in full screen mode

Article Content

Article Number000037409
Applies ToRSA Product Set: Identity Governance & Lifecycle
RSA Version/Condition:  7.1.0, 7.1.1
Issue

Remote collection agents no longer work with the latest Java Runtime Environments (JREs) and/or Java Development  Kits (JDKs) starting with versions 1.7.0_191 (or above) or 1.8.0_181 (or above).  The agents can no longer talk to the RSA Identity Governance & Lifecycle application and fail with the following null pointer exception in the log files:

After installing a remote collection agent using Java Runtime Environment (JRE) 1.8.0_181, a test query of a previously working Active Directory ADC now fails with the following error in the aveksaAgent.log file on the remote system:



01/10/2019 03:16:43.005 ERROR (Thread-21 (ActiveMQ-client-global-threads-489351762)) [com.aveksa.server.utils.NodeMessageBroker] Exception during collector querycom.aveksa.common.ConfigException: java.lang.NullPointerException  



at com.aveksa.client.datacollector.framework.DataCollectorManager.initCollector(DataCollectorManager.java:627)   
at com.aveksa.client.datacollector.framework.DataCollectorManager.performQuery(DataCollectorManager.java:562)   
at com.aveksa.client.component.collector.DefaultCollectorManager.actUpon(DefaultCollectorManager.java:480 
at com.aveksa.client.component.collector.DefaultCollectorManager.handle(DefaultCollectorManager.java:120) 
at com.aveksa.client.component.event.DefaultEventManager.handle(DefaultEventManager.java:60)
at com.aveksa.client.datacollector.framework.SimpleEventSource.notifyListeners(SimpleEventSource.java:67) 
at com.aveksa.client.component.communication.DefaultCommunicationManager.notifyEvent(DefaultCommunicationManager.java:377)        
at com.aveksa.client.component.communication.ChangeListHandler.applyChanges(ChangeListHandler.java:364)
at com.aveksa.client.component.communication.ChangeListHandler.access$300(ChangeListHandler.java:58)   
at com.aveksa.client.component.communication.ChangeListHandler$ChangeApplyingRunnable.run(ChangeListHandler.java:275)        
at java.lang.Thread.run(Unknown Source



Caused by: java.lang.NullPointerException  



at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.getReaderClassName(AccountDataCollector.java:226)  
at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.configureReader(AccountDataCollector.java:183)  
at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.init(AccountDataCollector.java:159)        
at com.aveksa.client.datacollector.framework.DataCollectorManager.initCollector(DataCollectorManager.java:621)  
     



 ... 10 more
 



Other errors that have been seen in the aveksaAgent.log file associated with this issue are:



java.lang.NoClassDefFoundError: com/aveksa/collector/accountdata/LdapAccountDataReaderConfig
and/or
java.lang.NoClassDefFoundError: com/aveksa/collector/db/util/DBPerformQueryCallbacks




 

Cause

Later versions of Java have added more validations when verifying certificates.This problem occurs when validating the RSA Identity Governance & Lifecycle internal server and client certificates that do not meet the new criteria.

This change can also affect collections where certificate validation of the end point certificates is done. Please see RSA Knowledge Base Article 000036712 - LDAP Collector reports "No subject alternative names matching IP address n.n.n.n found" in RSA Identity Governance & Lifecycle  for more information.

ResolutionThis issue is fixed in RSA Identity Governance & Lifecycle 7.1.0 P07 and 7.1.1 P01.

The fix is to generate certificates that meet the new criteria for JRE and JDK environments. Therefore, once the patch is installed, the RSA Identity Governance & Lifecycle server and client internal certificates need to be regenerated.

Steps



  1. Download and apply patch 7.1.0 P07 or 7.1.1 P01 depending on your product version.
  2. Regenerate the server and client certificates. The server certificate resides on the RSA Identity Governance & Lifecycle server. The client certificate resides on the remote agent server. The client certificate needs to be copied to each remote agent system.

Note: If you use AFX, the AFX server client.keystore will also need to be updated.



  1. In the User Interface, go to Admin > System > Security.
  2. Click on Change Certificate Store to generate a new server certificate (server.keystore) in the new format.

User-added image


  1. Next to Server Certificate Store for Agent SSL Connections, click Download. This will download the newly generated server.keystore.
  2. Copy the new server.keystore to /home/oracle/keystore.
  3. Restart RSA Identity Governance & Lifecycle

acm restart


  1. In the User Interface, go to Collectors > Agents and click Remote Agent

This needs to be done for each Remote Agent.



  1. Click Change Certificate to generate a new client certificate in the updated format (and to work with the new server certificate.)

User-added image


  1. Click Download Agent, which downloads a file called AveksaAgent.zip.
  2. Unzip the AveksaAgent.zip and copy the new client.keystore to /tmp/AveksaAgent/conf (where the remote agent(s) are installed)
  3. Restart the remote agent(s).

If you use AFX: 


  1. In the User Interface, go to AFX > Servers and click on the AFX Server. (Note: this needs to be done for each AFX Server.)
  2. Click Change Certificate to generate a new client certificate in the updated format (and to work with the new server certificate.)
  3. Click on Download Keystore which downloads the client.keystore.
  4. Copy the new client.keystore to /home/oracle/<afxuser>/esb/conf.
  5. Restart AFX




 
WorkaroundUse a 1.7 Java Runtime Environment (JRE) and/or 1.7 Java Development Kit (JDK) prior to 1.7.0_191. Do not use version 1.8.

Attachments

    Outcomes