0

Solaris マシンに Sun LDAP サーバーがあり、Web アプリケーションは 389 ポート経由で LDAP に接続できます。ここで、636 ポートを使用して SSL 経由で LDAP に接続したいと考えています。LDAP サーバーに証明書をインストールしました。これで、LDAP サーバーからのキーを使用して証明書をエクスポートし、Web アプリケーションでこの証明書を使用できるようになりました。同じマシンに私のglassfishサーバーもインストールされています。/usr/java/jre/lib/security/ フォルダーに証明書をコピーしました。Web アプリケーションで、このコードを使用して sll 経由で LDAP に接続しましたが、LDAP に接続できません。

 Hashtable ht = new Hashtable();
 ht.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
 ht.put(Context.PROVIDER_URL,"ldap://ldapserver:636");
 ht.put(Context.SECURITY_AUTHENTICATION, "EXTERNAL");
 // ht.put(Context.SECURITY_AUTHENTICATION, "simple");
 System.setProperty("javax.net.ssl.keyStore","/usr/java/jre/lib/security/cert");
 System.setProperty("javax.net.ssl.keyStorePassword",certpass);
 ht.put(Context.SECURITY_PRINCIPAL,binddn);
 // Specify SSL
 ht.put(Context.SECURITY_PROTOCOL, "ssl");
 ht.put(Context.SECURITY_CREDENTIALS,bindpass);

私は何を間違っていますか?私を修正してください。

4

1 に答える 1