Pregunta

Tengo algo de un problema.

Tenemos un motor de interfaz centralizada que hablar con un servicio web que proporcionará complemento de información y permitir a presentar solicitud a sistemas externos. Todo esto es bueno y bien hasta que tenemos que integrar esto con la seguridad requerida de este proveedor.

Se emiten certificados distribuidos a través de tarjetas inteligentes (llave USB) que el usuario final debe utilizar para tener el software interactúan con dicho sistema (los servicios web). Ellos insisten en que la firma (a veces múltiple) puede hacer contra el certificado de usuario `s-end en su llave USB. La clave privada es, por supuesto, protegido por contraseña.

¿Cómo conecto Axis2 que en última instancia manejar todo esto a los certificados que están en el equipo de gama usuario `s.

El sistema es principalmente aplicación cliente pesado legado en Delphi 5, interactúa el motor de interfaz en su mayoría con la base de datos. Ahora hemos logrado conectar una pieza de código que se conecta de manera efectiva la estación de fin de usuario `s al servidor de interfaz a través de un socket TCP simple.

---- editar ----

implementó la solución con interceptor firma personalizada dentro de CXF (cambiamos de Axis) que remitió el contenido del mensaje a un proxy de firma que a su vez encontrar y conectar el servicio de firma derecha que se ejecuta en la sesión interactiva de usuario en la solicitud original vino de.

acepté la respuesta de Eugene, porque a pesar de que no hicimos uso de los componentes que se especifique lo hicimos implementar la solución que se ajustan a las directrices generales de su propuesta.

No se puede eludir el hecho de que la firma tiene que ser hecho en una sesión interactiva de usuario debido al token USB. Las restricciones adicionales se impusieron debido al hecho de que usamos los sistemas de legado y la necesidad de tener el sistema funcione en un entorno compartido (servidor de escritorio remoto). Aunque es posible que no se admite de forma natural por los marcos de servicios web o bibliotecas criptográficas.

¿Fue útil?

Solución

Si usted tiene el certificado que reside en el token USB del cliente, entonces la firma (como la operación criptográfica) debe ser realizada en el lado del cliente. Si usted puede modificar esta aplicación Delphi, entonces se puede utilizar SecureBlackbox para su firma. No sé nada de Axis2, pero si se permite la creación y enchufar módulos criptográficos costumbre, a continuación, hacer uno que tendrá un hash (que es lo que realmente está firmado) y enviarlo al cliente para su firma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top