2011-06-21 10 views
5

Estoy usando JNDI para hacer conexiones LDAP. Ejemplo:¿Cómo pasar argumentos a una fábrica de socket personalizada LDAP con JNDI?

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"); 
... 

Necesito pasar parámetros en tiempo de ejecución a CustomSocketFactory. Específicamente una referencia a un certificado de cliente.

¿Cómo puedo hacer esto? Podría usar el almacenamiento local de subprocesos.

¿Hay una manera mejor?

+0

estoy teniendo el mismo problema. ¿Encontraste una solución? –

Respuesta

2

creo que puede estar buscando algo como esto:

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

Este enfoque solo permite usar un certificado en tiempo de ejecución. Estoy administrando mi propia tienda de claves (con administradores clave y administradores de confianza) y necesito administrar y suministrar más de un certificado a diferentes servidores ldap. – Conor

+1

bien, eso era todo mi conocimiento sobre eso, lo siento no podría ayudar, voy a mantener un ojo en esta pregunta. – icrovett

Cuestiones relacionadas