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.

8 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Hola Marco.
    Te agradeceria me envies informacion técnica a tener en cuenta para DESARROLLAR una plataforma en Java o .Net. Seguramente hay particularidades por cada pais, pero tu experiencia técnica me ayudaría mucho.
    OJO: No es necesaria información general, porque ya lo conozco, pero son los criterios a tener en cuenta para este desarrollo.

    Gracias.

    ResponderEliminar
    Respuestas
    1. Buenas Ivan,

      para que pais y que tecnologia te interesa, aunque de forma global la mejor explicada y clara es la de esta empresa Viafirma, tiene todo bien explicado y muchos codigos de ejemplo en diferentes tecnologias.

      https://www.viafirma.com/

      http://developers.viafirma.com/

      espero que te sirva

      saludos

      Marco Canales

      Eliminar
  3. Hola Marco,
    En donde me encuentro laborando, se requiere que desde un formulario de infopath (el cual se aloja en SharePoint) se valide un certificado de firma electrónica avanzada(FIEL), la verdad desconozco si es posible y que se requiere para llevarlo acabo. ¿Podrías orientarme en este tema y decirme si es posible mediante la propuesta que tiene Viafirma? Cualquier información referente a este tema te lo agradeceré mucho.

    ResponderEliminar
    Respuestas
    1. Buenas Gisela,

      Aquí tienes 2 puntos:

      InfoPath: te recomiendo no seguir avanzando nada con formularios InfoPath dado que van a quedar desactualizados y no tendrán mas soporte, ni de Microsoft ni de nadie. esto ya lo anuncio Microsoft.

      sobre la plataforma de viafirma, necesitas tenerla para hacer esa integración.
      la firma dependerá de lo que tienes como plataforma de firma electrónica, si tiene sellado de tiempo u otro.

      te recomiendo herramientas de tercero como "cosign" o además yo tiraría por un desarrollo.net y aprovecharía a cambiar los formularios.

      pero dependes mas de la plataforma de firma que tengas, si tienes viafirma el equipo de soporte podría enviarte hasta el código completo.

      si necesitas mas información no dudes en pedirla.

      saludos cordiales

      Eliminar
    2. Gracias por la información y respuesta. Trate de hacer ver lo que me comentas a la dirección mas como ya hay un gran avance en las plantillas de infopath y a finales de febrero quieren liberar no aprobaron el desarrollo en .net por el momento, entonces me encuentro nuevamente como empezamos a buscar hacer esto por infopath. Entonces me pondre en contacto con viafirma y cosign a ver cual puede ser mas viable para la plataforma, bajo tu mejor opinión. Saludos

      Eliminar
  4. hola Gisela, me puedes escribir a marcoacanales@onlinetic.es y veo como ayudarte.
    saludos cordiales

    ResponderEliminar
  5. Muchas gracias por tu exposición, que es muy clara y precisa.

    ResponderEliminar