Skip to main content
January 28, 2014
Question

How to access J2C alias using CF

  • January 28, 2014
  • 0 replies
  • 696 views

Hi,

We have a ColdFusion (9.01) application deployed under WebSphere 7.  There are some application credentials stored in a J2C alias that was configured using the WAS console.  I would like to know if there is any way I can retrieve those credentials programmatically using ColdFusion.

I found an example of how to retrieve them using Java which is currently not an option but I was wondering if the underlying objects can be accessed from CF.

Here is the Java example:

public static javax.resource.spi.security.PasswordCredential getJ2CData(String j2cAlias) throws Exception {

         String methodName = "getJ2CData";

         javax.resource.spi.security.PasswordCredential result = null;

         try {

             // ----------WAS 6 change -------------

             HashMap map = new HashMap();

             map.put(com.ibm.wsspi.security.auth.callback.Constants.MAPPING_ALIAS,j2cAlias);

             CallbackHandler cbh = (WSMappingCallbackHandlerFactory.getInstance()).getCallbackHandler(map, null);

             LoginContext lc = new LoginContext("DefaultPrincipalMapping", cbh);

             lc.login();

             javax.security.auth.Subject subject = lc.getSubject();

             java.util.Set creds = subject.getPrivateCredentials();

             result = (javax.resource.spi.security.PasswordCredential) creds.toArray()[0];

        } catch(Exception e) {

             e.printStackTrace();

             log.severe("APPLICATION ERROR: cannot load credentials for j2calias = " + j2cAlias);

             throw new Exception("Unable to get credentials");

        }

        return result;

}

Any help will be greatly appreciated.


Thanks,

Ken

This topic has been closed for replies.