devxlogo

Work with SSL/LDAP Using Java

Work with SSL/LDAP Using Java

Most applications nowadays authenticate through LDAP (directory service). To set this up, first register the SSL certificate using the keytool utility, as shown below:

Register ssl certificate using keytool:keytool -import -alias <certname> -file  -keystore "..yourpathjavajrelibsecuritycacerts"

The following code shows how to connect to LDAP and display the values specific to a username:

..class name.... public static void main(String args[]){String keystore = System.getProperty("" + "/lib/security/cacerts");System.setProperty(LDAPConstants.LDAP_SSL_TRUST_STORE,keystore);try{Hashtable env = new Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");env.put(Context.PROVIDER_URL, "ldap://yourservername:636");env.put(Context.SECURITY_AUTHENTICATION, "simple");env.put(Context.SECURITY_PROTOCOL, "ssl");env.put(Context.SECURITY_PRINCIPAL, "yourusername");env.put(Context.SECURITY_CREDENTIALS, "yourpassword");				dirCtx = new InitialLdapContext(env, null);NamingEnumeration ne = null;SearchControls controls =  new SearchControls();controls.setSearchScope(SearchControls.SUBTREE_SCOPE);ne = dirCtx.search("OU=Users,DC=yourcompany, DC=com, DC=au","userName="+userName,controls); if (ne != null) {  if (ne.hasMore()) {    SearchResult item = (SearchResult) ne.next();	display(item.getAttributes());  }}catch(javax.naming.AuthenticationException e){  e.printStackTrace();}catch(NamingException e) {  e.printStackTrace();}}private static void display(Attributes attr) throws NamingException{  NamingEnumeration ne = attr.getAll();  while(ne.hasMore()){	Attribute  obj = (Attribute)ne.next();	System.out.println(obj.getID()+"	"+(String)obj.get(0));  }}.......
See also  Redefining Energy Management: Advanced Solutions for Modern Buildings
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist