2011-06-21 14 views
5

私はLDAP接続にJNDIを使用しています。例:JNDIを使用してLDAPカスタムソケットファクトリに引数を渡すにはどうすればよいですか?

Hashtable env = new Hashtable(); 
env.put(Context.PROVIDER_URL, LDAPS_URL); 
env.put(Context.SECURITY_AUTHENTICATION, "EXTERNAL"); 
env.put("java.naming.ldap.factory.socket", "ldaptest.CustomSocketFactory"); 
... 

実行時にCustomSocketFactoryにパラメータを渡す必要があります。具体的には、クライアント証明書への参照。

どうすればいいですか? スレッドローカルストレージを使用できます。

良い方法がありますか?私はあなたがこのような何かを探していることができることを考える

+0

私は非常に同じ問題を抱えています: 私はここに私の解決策を掲載しました。あなたは解決策を見つけましたか? –

答えて

2

env.put("javax.net.ssl.keyStore", keystorePath); 
//Where keystorePath is the path to the Keys file resource 

env.put("javax.net.ssl.keyStorePassword", "password"); 
+0

このアプローチでは、実行時に1つの証明書しか使用できません。私は自分のキーストア(キーマネージャーとトラストマネージャーを持つ)を管理しています。異なるLDAPサーバーに複数の証明書を管理して提供する必要があります。 – Conor

+1

これは私の知っていたことですが、申し訳ありませんでしたが、私はこの質問に注目していきます。 – icrovett

関連する問題