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);
私は何を間違っていますか?私を修正してください。