¿Puedo hacer una firma XAdES envolvente en contenido binario?

4

Necesito firmar algunos contenidos binarios (documentos escaneados) con una firma digital compatible con las normas europeas, CAdES - XAdES. Una opción sería utilizar esta biblioteca para hacer una firma XAdES. ¿Existe una forma estándar de empaquetar contenido binario para incluirlo en una firma envolvente de XAdES? ¿Un desarrollador con prisa podría Base64 codificar todo y ponerlo en un par de etiquetas? Parece un poco salvaje. ¿Hay una forma aceptada? ¿Qué pasa con la canonicalización? ¿Puedo simplemente apagarlo?

    
pregunta bbsimonbb 22.12.2015 - 10:49
fuente

3 respuestas

1

Base64 agregará una gran sobrecarga, por lo que sugeriría una de las siguientes soluciones:

  • Firme el PDF pero mantenga la firma XAdES en un archivo XML separado ("firma externa"). La ventaja es que el documento original está disponible al instante, incluso sin el software de verificación de firma. Lo que también es una desventaja de seguridad, ya que las personas pueden abrir el archivo sin verificar su autenticidad. YMMV.
  • En lugar de incrustar PDF dentro de XAdES, incruste XAdES dentro de PDF, ya que el formato ya está muy bien preparado para firmas digitales desde ISO 32000 e incluso hay un perfil de PDF dedicado para eso llamado PAdES . Es la mejor solución según todos los factores, ya que la firma se validará automáticamente en la apertura del documento y no necesita un software dedicado. Y la usabilidad siempre fue un gran problema en la firma electrónica de la UE, como se documenta en este artículo .
respondido por el kravietz 16.05.2017 - 11:36
fuente
1

Hay tres métodos de firma válidos relacionados con las normas europeas:

  • CAdES
  • PAdES
  • XAdES

PAdES y XAdES se refieren específicamente a un formato de documento, PDF y XML.
Los archivos PDF firmados con PAdES seguirán siendo PDF, y los XML firmados con XAdES seguirán siendo XML válidos.

Para cada otro tipo de archivo, incluido el contenido binario sin formato específico, debe usar CAdES. Esto envolverá su contenido en un archivo P7M que podrá inspeccionar con los lectores de firmas P7M, y también podrá extraer el archivo original si es necesario.

Codificar tu contenido con Base64 y colocarlo en un XML para la firma XAdES es saltar a través de bucles para alcanzar tu objetivo (tener un archivo firmado), y una vez que le des ese archivo firmado a alguien, no tendrán idea de cómo interpretarlo. , a menos que también agregue instrucciones sobre cómo lo codificó, anulando el propósito de tener un estándar de firma (ya que manipuló sus datos de una manera no estándar).

    
respondido por el BgrWorker 16.05.2017 - 11:44
fuente
0

Base64 que codifica el contenido binario fue el camino a seguir. El paquete MS-XAdES es la mejor, quizás única, implementación de las normas de firmas europeas para dot net. Incluso con la canonicalización, tuve que serializar el XML en una línea para obtener la firma para validar. XML, tienes que amarlo.

    
respondido por el bbsimonbb 16.11.2016 - 16:27
fuente

Lea otras preguntas en las etiquetas