Me encuentro aquí con un problema con wsdls y la selección de múltiples certs en java. Una tarjeta inteligente, por ejemplo, tiene múltiples certificaciones para firmar, encriptar, identificar. Tengo un WSDL que genera el código para la conexión de autenticación de cliente pero por lo que puedo decir, darle el WSDL una ruta de acceso al almacén de claves mediante el establecimiento de la propiedad, como esteAutenticación de cliente WSDL y múltiples certificados
System.setProperty("javax.net.ssl.keyStore",
keyStore);
System.setProperty("javax.net.ssl.keyStorePassword",
keyStorePassword);
estoy siguiendo este tutorial . Ahora, para múltiples certs en un almacén de claves, como en una tarjeta inteligente, esto presenta un problema porque no hay forma de especificar QUÉ certificado desea usar en esa tarjeta inteligente. Parece que wsdl selecciona el primer certificado en el almacén de claves, que podría ser el certificado incorrecto para autenticarse.
Mi pregunta es de 2 veces:
¿Hay una manera distinta de hacer una
System.setProperty
para decirle al WSDL cuyo certificado de usar? ¿Qué puedo hacer para especificar qué cert ya que la mayoría del código es generado por wsdl usandowsconsume
?El
System.setProperty()
solo le permite especificar una ruta. ¿Hay alguna forma de especificar un objeto? La forma en que obtengo los certificados de la tarjeta inteligente es mediante el uso de la clase SunPKCS11 (como se encuentra en here). Sin embargo, esto me devuelve un objeto de almacén de claves, y hasta donde séSystem.setProperty()
quiere una ruta.
¡Gracias por su ayuda!