com.telventi.firmaenbloquemca
Interface FirmaEnBloqueMCAFacade

All Superinterfaces:
javax.ejb.EJBObject, java.rmi.Remote

public interface FirmaEnBloqueMCAFacade
extends javax.ejb.EJBObject

La interfaz FirmaEnBloqueMCAFacade permite implementar un proceso de Firma/MultiFirma de Ficheros en Bloque.
Esta interfaz contiene métodos para realizar un proceso de firma en bloque y métodos para realizar consultas específicas para recuperar información sobre transacciones de bloques.
En el proceso de firma en bloque intervienen tres agentes:
- Usuario (cliente)
- Aplicación que utiliza la interfaz
- Plataforma de Firma (interfaz de Firma)

Los pasos necesarios en un procedimiento de firma en bloque son los siguientes:
1) La aplicación registra los documentos a firmar en la plataforma de Firma (método registrarDocumento). Cada documento es firmado por el Servidor de Firma con un Certificado Digital de Servidor configurado para ello mediante la herramienta de Administración. Como resultado se obtiene un identificador para cada documento registrado.
2) La aplicación solicita a la plataforma de Firma la preparación del Bloque a firmar, que será enviado a la máquina del usuario para ser firmado (método iniciarFirma).
3) El usuario firma los datos y la aplicación envía el resultado a la plataforma de Firma para terminar el proceso. (método finalizarFirma)


Method Summary
 void finalizarFirma(double idTransaccion, java.lang.String datosFirmados, java.lang.String nifanagrama)
          Método para finalizar una transacción de firma en bloque.
 DTOFirmante getFirmantesBloqueDocumento(double idBloque, double idDocumento)
          Método para obtener los Firmantes de un Documento dentro de un Bloque.
 DTOIDs getIDsBloque(double idBloque)
          Método para obtener los Documentos dentro de un Bloque con informacion completa sobre el bloque al que pertenecen.
 java.util.Vector getIdsDocumentosBloque(double idBloque)
          Método para obtener los identificadores de documentos contenidos en un bloque.
 java.lang.String getInformacionXMLBloque(double idBloque)
          Método para obtener la representación de un bloque de firma en formato XML.
 TDOIniciarFirma iniciarFirma(java.lang.String idAplicacion, java.lang.String nombreBloque, TDOIDs sids)
          Método que incia un proceso de firma en bloque de ficheros.
 java.lang.String pintaBloque(double idBloque)
          Método para obtener la representación de un bloque de firma en formato basico.
 double registrarDocumento(java.lang.String idAplicacion, byte[] datos, java.lang.String nombreDoc, java.lang.String tipoDocumento)
          Método para el registro de documentos para su uso dentro de un proceso de firma en bloque.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

iniciarFirma

public TDOIniciarFirma iniciarFirma(java.lang.String idAplicacion,
                                    java.lang.String nombreBloque,
                                    TDOIDs sids)
                             throws FirmaEnBloqueException,
                                    java.rmi.RemoteException
Método que incia un proceso de firma en bloque de ficheros.

Parameters:
idAplicacion - Identificador de la aplicación que realiza el proceso de firma registrada en la herramienta de administración.
nombreBloque - Identificador del bloque de firma (nombre informativo adicional).
sids - Objeto TDOIDs que contiene la información de los elementos que serán firmados en bloque.
Returns:
Objeto TDOIniciarFirma con el identificador de la transacción de firma y los datos a ser firmados desde el applet.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - Error de comunicación.

finalizarFirma

public void finalizarFirma(double idTransaccion,
                           java.lang.String datosFirmados,
                           java.lang.String nifanagrama)
                    throws FirmaEnBloqueException,
                           java.rmi.RemoteException
Método para finalizar una transacción de firma en bloque.

Parameters:
idTransaccion - Identificador de la transacción de firma.
datosFirmados - Datos generados por el applet en la máquina del usuario firmante.
nifanagrama - Identificador del usuario que se espera haya realizado el proceso de firma. El identificador será de la forma nif+anagrama fiscal largo del firmante.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - Error de comunicación.

registrarDocumento

public double registrarDocumento(java.lang.String idAplicacion,
                                 byte[] datos,
                                 java.lang.String nombreDoc,
                                 java.lang.String tipoDocumento)
                          throws FirmaEnBloqueException,
                                 java.rmi.RemoteException
Método para el registro de documentos para su uso dentro de un proceso de firma en bloque. Estos documentos son prefirmados automáticamente por un certificado de servidor configurado en la aplicación registrada en la plataforma de firma.

Parameters:
idAplicacion - Identificación de la aplicación que inicia el proceso de registro.
datos - Datos contenido del documento a ser registrador.
nombreDoc - identificador de los datos o nombre del fichero que se registra.
tipoDocumento - Tipo de documento que es registrado. Pej PDF (Extensión del nombre del documento).
Returns:
Devuelve el identificador del documento registrado en el sistema custodia.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.

getInformacionXMLBloque

public java.lang.String getInformacionXMLBloque(double idBloque)
                                         throws FirmaEnBloqueException,
                                                java.rmi.RemoteException
Método para obtener la representación de un bloque de firma en formato XML.

Parameters:
idBloque - Identificador del Bloque de Firma.
Returns:
Devuelve String conteniendo un XML.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.

pintaBloque

public java.lang.String pintaBloque(double idBloque)
                             throws FirmaEnBloqueException,
                                    java.rmi.RemoteException
Método para obtener la representación de un bloque de firma en formato basico.

Parameters:
idBloque - Identificador del Bloque de Firma.
Returns:
Devuelve String representando el bloque.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.

getIdsDocumentosBloque

public java.util.Vector getIdsDocumentosBloque(double idBloque)
                                        throws FirmaEnBloqueException,
                                               java.rmi.RemoteException
Método para obtener los identificadores de documentos contenidos en un bloque.

Parameters:
idBloque - Identificador del Bloque de Firma.
Returns:
Vector de elementos de tipo double.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.

getFirmantesBloqueDocumento

public DTOFirmante getFirmantesBloqueDocumento(double idBloque,
                                               double idDocumento)
                                        throws FirmaEnBloqueException,
                                               java.rmi.RemoteException
Método para obtener los Firmantes de un Documento dentro de un Bloque.

Parameters:
idBloque - Identificador del Bloque de Firma.
idDocumento - Identificador del Documento dentro del bloque.
Returns:
Objeto DTOFirmante con la información de los firmante en estructura jerárquica.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.

getIDsBloque

public DTOIDs getIDsBloque(double idBloque)
                    throws FirmaEnBloqueException,
                           java.rmi.RemoteException
Método para obtener los Documentos dentro de un Bloque con informacion completa sobre el bloque al que pertenecen.

Parameters:
idBloque - Identificador del Bloque de Firma.
Returns:
Objeto DTOIDs.
Throws:
FirmaEnBloqueException - Indica un error en el proceso de Registro.
java.rmi.RemoteException - Error de comunicación.