2012-05-21 21 views
18

Estoy desarrollando una aplicación que usa SUNMSCAPI para acceder a una tarjeta inteligente (identificación electrónica) y recuperar algunos certificados.Reutilizando Java Keystore al acceder a una tarjeta inteligente en Windows

Hasta hace un tiempo podía crear el almacén de claves y firmar una lista de archivos, sin volver a crear el almacén de claves, pero ahora solo puedo firmar un archivo a la vez.

Al firmar una lista de archivos, el primer archivo se firma correctamente; cuando firmo el segundo archivo, aparece el cuadro de diálogo "Insertar tarjeta inteligente" y la tarjeta inteligente que se está usando aparece atenuada.

¿Alguien ha visto este comportamiento?

+1

¿Está utilizando multihilo? También podría ser Windows u otra aplicación que impida que la aplicación obtenga acceso (completo) a la tarjeta. –

+0

Ah, y bienvenidos a stackoverflow. –

+0

Como ha tenido muy pocas respuestas, ¿quizás podría publicar algunos ejemplos de código para mostrar con qué está trabajando? También es posible que desee abordar la pregunta de @owlstead. –

Respuesta

3

Sí, he visto esto antes.

Estaba desarrollando front-end y middleware para la tarjeta de identificación portuguesa para ser utilizada en línea y una característica en particular era poder firmar más de un archivo (firmar electrónicamente) ¡y este era el comportamiento exacto que teníamos!

El modelo de seguridad de las tarjetas inteligentes garantiza que una autenticación dura solo una acción. Firmar un archivo es una acción, así que tuvimos que almacenar en caché los detalles de autenticación (código PIN) y recorrer el procedimiento de autenticación para cada archivo que deseamos firmar.

+1

Bien podría ser que esto nos la respuesta correcta. Tenga en cuenta que el control de acceso a la operación de firma es específico de la tarjeta y, a veces incluso configurable por el usuario. –

Cuestiones relacionadas