wiki:notasVarias

Version 10 (modified by aaraujo, 9 years ago) (diff)

--

Notas varias de desarrollo

Configuration.java

La configuración de digidoc4j se carga desde un archivo en formato yaml

El archivo de configuración se encuentra en: ./resources/digidoc4j.yaml

HowTo

PDF y biblioteca iText

Un documento PDF pude contener los siguientes tipos estándar de firmas:

  • una o más firmas de aprobación (approval).
  • Como máximo una firma certificada. Esta firma puede definir diferentes permisos.

Para definir el tipo de firma se debe establecer el nivel de certificación en la clase PdfSignatureAppearance.

PdfSignatureAppearance appearance = stamper.getSignatureAppearance();
...
appearance.setCertificationLevel(certificationLevel);

El parámetro certificationLevel puede tomar uno de los siguientes valores:

  • NOT_CERTIFIED para crear una firma ordinaria tipo approval.
  • CERTIFIED_NO_CHANGES_ALLOWED para crear una firma de certificación también conocida como firma de autor. Después de aplicar la firma no se permitirán cambios sobre el documento.
  • CERTIFIED_FORM_FILLING crea una firma de certificación para el autor del documento pero otras personas pueden todavía llenar campos formulario o agregar firmas approval sin invalidar la firma.
  • CERTIFIED_FORM_FILLING_AND_ANNOTATIONS crea una firma de certificación para el autor del documento pero otras personas pueden todavía llenar campos formularios o agregar firmas approval así como anotaciones sin invalidar la firma.

Creación de TSL

Electronic Signatures and Infrastructures (ESI) Trusted Lists

ETSI TS 119 612 V1.2.1 (2014-04)

Error de Firefox al cargar un archivo PDF en un formulario

https://stackoverflow.com/questions/13272523/incorrect-content-type-for-pdf-file-with-firefox

http://kb.mozillazine.org/MimeTypes.rdf

http://www.fvue.nl/wiki/Wrong_mime-type_when_uploading_pdf

Editar el archivo /home/usuario/.mozilla/firefox/xxx.default/mimeTypes.rdf en la sección del mimetype PDF para que quede como se muestra a continuación:

<RDF:Description RDF:about="urn:mimetype:application/pdf"
                   NC:fileExtensions="pdf"
                   NC:description="documento PDF"
                   NC:value="application/pdf"
                   NC:editable="true">
    <NC:handlerProp RDF:resource="urn:mimetype:handler:application/pdf"/>
  </RDF:Description>

Firma de BDOC con SHA-256

Se debe agregar al archivo /usr/java/jdk1.7.0_21/jre/lib/security/java.security una entrada para BouncyCastle? (ver security.provider.2):

security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=sun.security.rsa.SunRsaSign
security.provider.4=sun.security.ec.SunEC
security.provider.5=com.sun.net.ssl.internal.ssl.Provider
security.provider.6=com.sun.crypto.provider.SunJCE
security.provider.7=sun.security.jgss.SunProvider
security.provider.8=com.sun.security.sasl.Provider
security.provider.9=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.10=sun.security.smartcardio.SunPCSC

Recursos

/bdocs: ejecuta el proceso de presign de contenedor BDOC.

/bdocs/resenas: ejecuta el proceso de postsign de contenedor BDOC.

/bdocs/cargas: crea un contenedor BDOC con los archivos subidos del formulario, lo serializa y retorna el identificados unico del contenedor.

/bdocs/cargas/{containerId} : recibe los archivos enviador a través del formulario, deserializa el contenedor identificado con containerId, agrega los archivos al contenedor, serializa de nuevo el contenedor y retorna el identificador del contendor.

/bdocs/archivos/{containerId} : retorna el numero de dataFiles que se encuentran en un contenedor.

/bdocs/archivos/{containerId}/{dataFileId} : Descarga el archivo dataFileId que se encuentra dentro del contenedor containerId BDOC.

/bdocs/firmas/{containerId} : retorna el numero de firmas que tiene el contenedor.

Attachments (5)