I am trying to run this code...
But I don't know where my program reads the Cert. info... I don't know
if I have to import my internal CA via keytool or I have missed some
special configuration ..
When I run this code, the following error appears:
---Begin Error
netscape.ldap.LDAPException: Failed to create SSL socket (91); Cannot
connect to
the LDAP server
at netscape.ldap.LDAPSSLSocketFactory.makeSocket(LDAPSSLSocketFactory.ja
va:309)
at netscape.ldap.LDAPConnSetupMgr.connectServer(LDAPConnSetupMgr.java:41
1)
at netscape.ldap.LDAPConnSetupMgr.openSerial(LDAPConnSetupMgr.java:343)
at netscape.ldap.LDAPConnSetupMgr.connect(LDAPConnSetupMgr.java:237)
at netscape.ldap.LDAPConnSetupMgr.openConnection(LDAPConnSetupMgr.java:1
63)
at netscape.ldap.LDAPConnection.connect(LDAPConnection.java:1033)
at netscape.ldap.LDAPConnection.connect(LDAPConnection.java:915)
at netscape.ldap.LDAPConnection.connect(LDAPConnection.java:759)
at SSLSample.run(SSLSample.java:31)
at SSLSample.main(SSLSample.java:63)
--- End Error
--- Begin Code
import netscape.ldap.*;
import netscape.ldap.factory.*;
import org.mozilla.jss.ssl.*;
public class SSLSample {
String host;
String user;
String password;
public static final int SSL_PORT = 636;
public static final String FILTER =
"&(objectclass=inetOrgPerson)(cn=";
public static final String BASEDN = "o=mycompany";
SSLSample(String h, String u, String p){
host = h;
user = u;
password = p;
}
void run(){
LDAPConnection ld = null;
String dn = null;
try {
ld = new LDAPConnection(new
LDAPSSLSocketFactory("org.mozilla.jss.ssl.SSLSocket", false));
ld.connect(host, SSL_PORT);
String filter = FILTER + user + ")";
LDAPSearchResults res = ld.search (BASEDN, LDAPv2.SCOPE_SUB,
filter, null, false);
if (res != null && res.hasMoreElements ()){
LDAPEntry entry = res.next();
dn = entry.getDN();
}
ld.authenticate(dn, password);
System.out.println("User authenticated: " + dn);
} catch(LDAPException e){
e.printStackTrace();
} catch(Exception e2){
e2.printStackTrace();
} finally {
try {
ld.finalize();
} catch (Exception ex) { }
}
}
public static void main(String [] args){
if (args.length != 3){
System.out.println("Usage: SSLSample <server> <user>
<passwd>");
System.exit(-1);
}
SSLSample s = new SSLSample(args[0], args[1], args[2]);
try {
s.run();
} catch (Exception e){
e.printStackTrace();
}
}
}
--- End Code
My configuration is:
CA: MS Certificate Server
LDAP Server: IPlanet 5.1 DS (SSL on: I have tested via IPlanet
Console and Netscape Communicator)
Any ideas
Thank you in advance...
Gregorio Pati�o
e-mail: [EMAIL PROTECTED]