Description: This will show you how to SSL for OIMClient on a stand alone Java application.
Prerequisite:
1. Ensure SSL listen Port for OIM is enabled.
- Log into WebLogic Administration console.
- Navigate to Servers -> OIM_SERVER.
- Check mark SSL Listen Port Enabled and restart OIM server.
3. Execute the java application with the following jvm argument:
- -Dweblogic.security.SSL.trustedCAKeyStore= {Demo Trust Keystore}
E.g. /home/oracle/Oracle/Middleware/wlserver_10.3/server/lib/DemoTrust.jks
import java.util.Hashtable;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.security.auth.login.LoginException;
import oracle.iam.platform.OIMClient;
import oracle.iam.platform.authz.exception.AccessDeniedException;
import oracle.iam.provisioning.exception.AccountNotFoundException;
import oracle.iam.provisioning.exception.GenericProvisioningException;
/**
* Uses SSL OIMClient to access Oracle Identity Manager.
* t3s protocol is used for SSL.
* In WebLogic Administration console, navigate to Servers -> OIM_SERVER -> Configuration : General
* to view the OIM SSL listen port.
*/
public class OracleIdentityManagerClient
{
public static final String OIM_HOSTNAME = "localhost";
public static final String OIM_PORT = "14001";
public static final String OIM_PROVIDER_URL = "t3s://"+ OIM_HOSTNAME + ":" + OIM_PORT;
public static final String OIM_USERNAME = "xelsysadm";
public static final String OIM_PASSWORD = "Password1";
public static final String OIM_CLIENT_HOME = "/home/oracle/Desktop/oimclient";
public static final String AUTHWL_PATH = OIM_CLIENT_HOME + "/conf/authwl.conf";
public static final String TRUST_KEYSTORE_FOR_SSL = "/home/oracle/Oracle/Middleware/wlserver_10.3/server/lib/DemoTrust.jks";
public static void main(String[] args) throws AccountNotFoundException, oracle.iam.platform.authopss.exception.AccessDeniedException, GenericProvisioningException
{
OIMClient oimClient = null;
try
{
//Set system properties required for OIMClient
System.setProperty("java.security.auth.login.config", AUTHWL_PATH);
System.setProperty("APPSERVER_TYPE", "wls");
// Create an instance of OIMClient with OIM environment information
Hashtable<String,String> env = new Hashtable<String,String>();
env.put(OIMClient.JAVA_NAMING_FACTORY_INITIAL, "weblogic.jndi.WLInitialContextFactory");
env.put(OIMClient.JAVA_NAMING_PROVIDER_URL, OIM_PROVIDER_URL);
oimClient = new OIMClient(env);
// Login to OIM with the approriate credentials
oimClient.login(OIM_USERNAME, OIM_PASSWORD.toCharArray());
}
catch (LoginException ex)
{
Logger.getLogger(OracleIdentityManagerClient.class.getName()).log(Level.SEVERE, null, ex);
}
catch (AccessDeniedException ex)
{
Logger.getLogger(OracleIdentityManagerClient.class.getName()).log(Level.SEVERE, null, ex);
}
finally
{
// Logout user from OIMClient
if(oimClient != null)
oimClient.logout();
}
}
}
No comments:
Post a Comment