Hallo Leute,
mein Code:
Ich bekomme keine Fehlermeldung mehr wie zuvor, da der keystore pfad richtig angepasst wurd etc...
Die ssl Verbindung mit JNDI zu meinem LDAP Server (Windows 2000 Server ) scheint zu funktionieren, ABER... müsste nicht wenn ich mich verbinde ein Zertifikat aufpoppen und mich fragen, ob ich diesem vertrauen möchte? Das tut es nämlich nicht...
Wenn die verbindung nicht richtig funzt und eine Exception geworfen wird meldet dies der ldap server dem client, sprich ich müsste ja auch irgendwie abfragen können ob der ldap status code == 0 ist ?? ODER ??? Somit wüßte ich das alles ok ist, weil dieses verflixte Zertifikat nicht angezeigt wird...
mein Code:
Code:
public void actionPerformed(ActionEvent e)
{
if (e.getSource().equals(pwBT))
{
String benutzername = benutzernameTF.getText();
String kennwort = kennwortTF.getText();
Hashtable env = new Hashtable();
String keystore = "C:/Programme/Java/jre1.6.0_01/lib/security/ZertifikatBerlin";
System.setProperty("javax.net.ssl.trustStore",keystore);
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"ldaps://rhein:636/dc=bodensee,dc=de");
env.put(Context.SECURITY_PROTOCOL,"SSL");
env.put(Context.SECURITY_AUTHENTICATION, "Simple");
env.put(Context.SECURITY_PRINCIPAL, benutzername);
env.put(Context.SECURITY_CREDENTIALS,kennwort);
try
{
ctx = new InitialContext(env);
programmstatusTF.setText("Verbindung aufgebaut");
ctx.close();
}
catch (Exception er)
{
programmstatusTF.setText(er.toString());
}
}
}
Ich bekomme keine Fehlermeldung mehr wie zuvor, da der keystore pfad richtig angepasst wurd etc...
Code:
javax.naming.CommunicationException: simple bind failed: rhein:636 [Root exception is javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target]
Die ssl Verbindung mit JNDI zu meinem LDAP Server (Windows 2000 Server ) scheint zu funktionieren, ABER... müsste nicht wenn ich mich verbinde ein Zertifikat aufpoppen und mich fragen, ob ich diesem vertrauen möchte? Das tut es nämlich nicht...
The LDAP defines a set of status codes that are returned with LDAP responses sent by the LDAP server (see RFC 2251).
LDAP Status Code Meaning Exception or Action
0 Success Report success.
1 Operations error NamingException
2 Protocol error CommunicationException
3 Time limit exceeded. TimeLimitExceededException
Wenn die verbindung nicht richtig funzt und eine Exception geworfen wird meldet dies der ldap server dem client, sprich ich müsste ja auch irgendwie abfragen können ob der ldap status code == 0 ist ?? ODER ??? Somit wüßte ich das alles ok ist, weil dieses verflixte Zertifikat nicht angezeigt wird...