Bienvenidos a SharePoint Online Tic

Sharepoint es un entorno con muchas variantes, este blog es solo para transferir la información de forma sencilla, practica y ordenada.

martes, 22 de febrero de 2011

La Integración de la Firma Electrónica Digital en Java o NET (SharePoint)

Actualmente me encuentro inmerso en diferentes proyectos de las Nuevas Tecnologías, la verdad que estoy en mi salsa, estoy haciendo las 3 cosas que más me gustan, laboralmente hablando, que son la gestión de proyectos tecnológicos, SharePoint y la implantación de la Administración Electrónica en las Entidades Locales.

Uno de los muchos proyectos que deben abordar las Entidades Locales es la Firma Digital del cual les describiré en este post algunas pinceladas.

Quiero expresar las gracias a la empresa Viavansi por facilitarme toda esta información y los ejemplos para nuestra comunidad.

La plataforma de firma digital

La plataforma de firma digital tiene como objetivo el de simplificar el desarrollo de aplicaciones que requieran usar Certificados Digitales. Cualquier aplicación puede hacer uso de la autenticación y firma digital utilizando los servicios que el sistema ofrece, abstrayendo a las aplicaciones de los problemas relacionados con el uso de certificados digitales, como son la criptografía de clave pública, la validación usando CRLs o OCSP, la lectura de certificados, el uso del DNI electrónico, etc.

Funciones de la plataforma de firma electrónica

  • Autenticación: Cuando una aplicación Web requiera autenticar a sus usuarios mediante Certificado digital (incluido el DNIe) podrá delegar en la plataforma para que sea ésta la encargada de solicitar el Certificado al usuario, recuperar la información, comprobar su validez y devolver a la aplicación la información obtenida.
  • Firma Digital: Cuando una aplicación Web requiera que sus usuarios firmen la documentación entregada, realicen transacciones no repudiables o cualquier otro tipo de información que requiera no repudio, podrá delegar en la plataforma para que sea ésta la que firme, almacene, custodie y verifique la transacción o información presentada.
  • Custodia Digital: Un pilar muy importante de la firma digital es la custodia de los documentos firmados para que estos puedan ser recuperados y comprobados. Para ello se implementa un sistema de custodia documental basado en XMLSignature.

Características técnicas de Viafirma

Utilización de Algoritmos estándares de criptografía como el Advanced Encryption Standard (AES) que es el sustituto natural de Data Encryption Standard (DES), que actualmente se considera inseguro.

Uso conjunto de QR Code y Códigos de barra UCC 128 para el sellado de documentos Pdf. Generando comprobantes de firma que contienen códigos QR con toda la información del proceso de firma.

Uso de XMLSignature y XAdES como formato de datos para el intercambio y custodia de los certificados y documentos firmados.

Uso de OpenId como protocolo de intercambio de información entre el Cliente y el Servidor de autenticación y firma.

Para facilitar la obtención de certificados, soporta el acceso a certificados (X.509 ) almacenados en ficheros PKCS12s , así como el acceso a Microsoft Windows Keystore (CAPI) , Java User Key Store y Acceso a Llaveros de Mac OS X .

J2EE 1.4. Implementado 100% Java, lo hace un producto multiplataforma y con una arquitectura bien definida y fácilmente ampliable, necesitando solamente un contenedor que implemente la especificación Servlet 2.3/JSP 1.2 .

Independencia de la infraestructura base del Certificado X.509 estándar, habiendo sido probado correctamente con multitud de certificados, entre los que se encuentran :




  • - Certificado de Avansi CxA.
  • - Certificado de persona física de la FNMT (Se requiere la firma de un convenio para la validación y acceso a las CRLs de la FNMT).
  • - Certificados de persona física de ANCERT.
  • - Certificados de persona física de Camerfirma.
  • - eDNI español (DNI electrónico de la Dirección general de la Policía y de la Guardia Civil).
  • - Certificados de la Autoridad de Certificación de la Abogacía (ACA).

  • - Uso de Bouncy Castle Crypto APIs, que es una librería criptográfica que implementa JCE 1.2 (Java Cryptography Extension de Sun).

  • - Validación de Certificados digitales utilizando CRLs publicadas mediante HTTP o contenidas dentro de LDAP (como en el caso de la FNMT).
  • - Validación de Certificados digitales mediante OCSP.
  • - Mecanismo de cache para minimizar el acceso a las crls.

Diagrama de arquitectura de la plataforma de firma digital de Viafirma

Además les adjunto enlace a la web de Viafirma donde encontraran los Kit de desarrollo y algunos ejemplos para poner en marcha una integración de Firma Electrónica.

http://developers.viafirma.com/

Este permite integrar una aplicación Java o NET (como SharePoint) con Inbox, para realizar una firma electrónica de un fichero (prepareSignRequest) o incluso iniciar un flujo (prepareWorkflowRequest).

Para poder probar las integraciones se puede utilizar el sandbox http://services.viafirma.com/viafirma, pidiendo una cuenta gratuita de desarrollo por ejemplo en el email soporte@viafirma.com.

Espero les sea de mucha utilidad.