es.caib.signatura.impl
Interface SignerProviderInterface

All Known Subinterfaces:
LocalSignerProviderInterface, RemoteSignerProviderInterface

public interface SignerProviderInterface

Interfaz que independiza las implementaciones de firma y verificación de cada entidad certificadora con una serie de métodos estándar, llevando a cabo la firma digital desacoplada (firma y documento original se mantienen por separado). Esta firma puede ser avanzada o avanzada con sello de tiempo. La firma se encapsula con la clase Signature.

Version:
1.0
Author:
3dígits
See Also:
Signature

Method Summary
 void certifyDigitalCopy(java.io.InputStream contentStream, java.io.OutputStream signedStream, java.lang.String certificateName, java.lang.String password, java.lang.String contentType, boolean recognized, java.lang.String url, java.lang.String localidad, float x, float y, float rotation, SignaturaProperties properties)
          Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado de forma que, en uno de los bordes del documento que se le indique, aparezca el firmante que compulsa la copia, la url desde la que se puede consultar el PDF y una matriz de puntos en formato PDF417 que continene esa misma URL.
 java.util.Date getCurrentDate(java.lang.String certificateName, java.lang.String password, boolean recognized)
          Obtiene la hora oficial que tendría un sello de tiempo generado en ese mismo instante
 java.lang.String getVersion()
          Obtiene la versión del componente
 Signature sign(java.io.InputStream contentStream, java.lang.String certificateName, java.lang.String password, java.lang.String contentType, boolean recognized, boolean timeStamp, boolean rawSign)
          Obtiene la firma digital de un documento de disco y la encapsula en un objeto Signature.
 void signPDF(java.io.InputStream contentStream, java.io.OutputStream signedStream, java.lang.String certificateName, java.lang.String password, java.lang.String contentType, boolean recognized, java.lang.String url, int position, boolean allowMultipleSignature)
          Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado.
 void signPDF(java.io.InputStream pdfInputStream, java.io.OutputStream signedStream, java.lang.String certificateName, java.lang.String password, java.lang.String contentType, boolean recognized, java.lang.String textoAdicional, int stampOptions, float top, float left, float height, float width, float rotation, boolean allowMultipleSignature)
          Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado.
 

Method Detail

signPDF

void signPDF(java.io.InputStream contentStream,
             java.io.OutputStream signedStream,
             java.lang.String certificateName,
             java.lang.String password,
             java.lang.String contentType,
             boolean recognized,
             java.lang.String url,
             int position,
             boolean allowMultipleSignature)
             throws java.io.IOException,
                    SignatureException
Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado. Las opciones de firma PDF estan definidas en la clase Signer.

Parameters:
contentStream - flujo de bytes del documento PDF a firmar
signedStream - flujo de bytes del documento PDF firmado
certificateName - nombre del certificado que se usará para firmar
password - contraseña de la clave privada del usuario
contentType - tipo MIME del documento a firmar
recognized - certificado reconocido o no
url - URL en caso de estampado PDF417, o motivo de firma para firmas con estampado ABODE
position - Opciones de firma PDF definidas en la clase Signer
allowMultipleSignature - Permitir o no refirmado del documento PDF si el documento de entrada ya está firmado
Throws:
java.io.IOException - si ha habido algún problema de comunicación al pasar el stream de bytes del documento
SignatureProviderException - si no se ha podido acceder a la API del proveedor de firma electrónica
SignatureSignException - si ha habido algún problema en el proceso de firma
java.security.UnrecoverableKeyException - si la contraseña de la clave privada no es correcta
SignatureException

signPDF

void signPDF(java.io.InputStream pdfInputStream,
             java.io.OutputStream signedStream,
             java.lang.String certificateName,
             java.lang.String password,
             java.lang.String contentType,
             boolean recognized,
             java.lang.String textoAdicional,
             int stampOptions,
             float top,
             float left,
             float height,
             float width,
             float rotation,
             boolean allowMultipleSignature)
             throws java.io.IOException,
                    SignatureException
Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado. Las opciones de firma PDF estan establecidas en la clase Signer.

Parameters:
pdfInputStream -
signedStream -
certificateName - Nombre del certificado obtenido de la llamada a Signer.getCertList()
password - contraseña de la clave privada del usuario
contentType - tipo MIME del documento a firmar
recognized - certificado reconocido o no
textoAdicional - URL en caso de estampado PDF417, o motivo de firma para firmas con estampado ABODE
stampOptions - Opciones de firma PDF definidas en la clase Signer
top - El 0 corresponde al borde inferior del documento.
left - El 0 corresponde al borde izquierdo del documento
height - Anchura máxima de la estampa, el texto de dividirà en las líneas necesarias para que quepa en la anchura establecida.
width - Altura máxima de la estampa. Debe tenerse en cuenta que si la altura no es suficientemente grande para el texto que se divide en múltiples líneas, este se corta y desaparece.
rotation - Sólo permite rotación la firma con estampado PDF417. En caso de rotación el estampado se rotarà desde la esquina inferior izquierda (top, left).
allowMultipleSignature - Permitir o no refirmado del documento PDF si el documento de entrada ya está firmado
Throws:
java.io.IOException
SignatureException

certifyDigitalCopy

void certifyDigitalCopy(java.io.InputStream contentStream,
                        java.io.OutputStream signedStream,
                        java.lang.String certificateName,
                        java.lang.String password,
                        java.lang.String contentType,
                        boolean recognized,
                        java.lang.String url,
                        java.lang.String localidad,
                        float x,
                        float y,
                        float rotation,
                        SignaturaProperties properties)
                        throws java.io.IOException,
                               SignatureException
Firma digitalmente de un documento PDF pasado como InputStream y devuelve el mismo PDF firmado y modificado de forma que, en uno de los bordes del documento que se le indique, aparezca el firmante que compulsa la copia, la url desde la que se puede consultar el PDF y una matriz de puntos en formato PDF417 que continene esa misma URL.

Parameters:
contentStream - flujo de bytes del documento PDF a firmar.
signedStream - flujo de bytes del documento PDF firmado.
certificateName - nombre del certificado que se usará para firmar.
password - contraseña de la clave privada del usuario.
contentType - tipo MIME del documento a firmar.
recognized - certificado reconocido o no.
url - URL que se sobreimpresiona sobre el documento firmado.
localidad - Localidad que se mostrará en la compulsa.
x - posición en el eje X de la compulsa
y - posición en el eje Y de la compulsa
rotation - rotación, en grados, en el punto (x,y) que se le dará a la compulsa
properties -
Throws:
java.io.IOException
SignatureException

sign

Signature sign(java.io.InputStream contentStream,
               java.lang.String certificateName,
               java.lang.String password,
               java.lang.String contentType,
               boolean recognized,
               boolean timeStamp,
               boolean rawSign)
               throws java.io.IOException,
                      SignatureException
Obtiene la firma digital de un documento de disco y la encapsula en un objeto Signature.

Parameters:
fileName - nombre del fichero que se desea firmar
certificateName - nombre del certificado que se usará para firmar
password - contraseña de la clave privada del usuario
contentType - tipo MIME del documento a firmar
Returns:
Signature firma del documento
Throws:
java.io.FileNotFoundException - si no se encuentra el fichero a firmar
java.io.IOException - si ha habido algún problema al abrir el fichero
SignatureProviderException - si no se ha podido acceder a la API del proveedor de firma electrónica
SignatureSignException - si ha habido algún problema en el proceso de firma
java.security.UnrecoverableKeyException - si la contraseña de la clave privada no es correcta
SignatureException

getCurrentDate

java.util.Date getCurrentDate(java.lang.String certificateName,
                              java.lang.String password,
                              boolean recognized)
                              throws SignatureTimestampException,
                                     SignatureException,
                                     java.io.IOException
Obtiene la hora oficial que tendría un sello de tiempo generado en ese mismo instante

Parameters:
certificateName - nombre del certificado que se usará para firmar
password - contraseña de la clave privada del usuario
contentType - tipo MIME del documento a firmar
Returns:
Hora Oficial
Throws:
java.io.IOException
SignatureException
SignatureTimestampException

getVersion

java.lang.String getVersion()
Obtiene la versión del componente

Returns:
versionNumber


Copyright © 2011 Direcció General de Tecnologia i Comunicacions. Govern de les Illes Balears. All Rights Reserved.