com.telventi.multifirma
Interface MultiFirmaApiFacade

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

public interface MultiFirmaApiFacade
extends javax.ejb.EJBObject

La interfaz MultiFirmaApiFAcade permite realizar un procedimiento de multifirma web por usuario. Adicionalmente proporciona unos métodos frecuentes de consulta de información sobre transacciones de firma realizadas del tipo mencionado.

En el proceso de multifirma web por usuario intervienen tres agentes:
- Usuario (cliente)
- Aplicación que utiliza la interfaz
- Plataforma de Firma (interfaz de multifirma).

Este proceso se puede describir como un procedimiento en 3 pasos:
1) Se realiza una firma web normal y se obtiene el identificador de transacción
2) La aplicación solicita a la plataforma de Firma la generación de los datos a firmar, que serán enviados a la máquina del usuario para ser firmados. (métodos iniciarCoSignUsuario() para firma en paralelo o iniciarCounterSignUsuario() para firma en cascada). También puede solicitar la página firmada, incluidos los adjuntos (componente web visualización principalpaginafirmada.jsp)
3) El usuario firma los datos y la aplicación envía el resultado a la plataforma de Firma para terminar el proceso. (componente web de recepción recepcion.jsp)


Method Summary
 java.lang.String checkAllSigns(java.lang.String transactionID)
          Método que comprueba todas las firmas de la MultiFirma a la que pertenece la transacción indicada.
 boolean checkSign(java.lang.String transactionID)
          Método que comprueba si la firma de la transacción indicada es correcta.
 java.lang.String getAppName(java.lang.String transactionID)
          Método que devuelve el nombre de la Aplicación.
 byte[] getASN1AR(java.lang.String transactionID)
          Deprecated.  
 byte[] getASN1EFE(java.lang.String transactionID)
          Deprecated.  
 byte[] getAttachmentFile(java.lang.String transactionID, java.lang.String inputName)
          Método que obtiene el archivo anexado en el campo indicado.
 java.util.Vector getAttachmentFileInputNameList(java.lang.String transactionID)
          Método que obtiene un Vector con los nombres de los campos de tipo FILE, del formulario firmado, que contenian archivos.
 java.lang.String getCheckError()
          Método que devuelve una cadena descriptiva con el error producido al ejecutarse alguno de los dos métodos check..., si las comprobaciones no son correctas.
 byte[] getImage(java.lang.String transactionID, java.lang.String imageURL)
          Método que obtiene una de las imagenes contenidas en la página.
 java.util.Vector getNVPair(java.lang.String transactionID)
          Método que obtiene un Vector de objetos DatoFirmado, que contienen el nombre y el valor de los campos del formulario firmado, primero de los objetos DatoFirmado contiene el nombre del formulario firmado.
 byte[] getPageHTML(java.lang.String transactionID)
          Método que obtiene el código de la página HTML cuyos datos se han firmado.
 java.lang.String getPageMode(java.lang.String transactionID)
          Método que devuelve el Modo de Página.
 byte[] getPKCS7(java.lang.String transactionID)
          Método que devuelve la firma de la transacción indicada.
 java.lang.String getSecName(java.lang.String transactionID)
          Método que devuelve el nombre de la Sección donde se guarda la configuración de la Aplicacion en la herramienta de Administración.
 DTOFirmante getSigner(java.lang.String transactionID)
          Método que devuelve un objeto DTOFirmate que contiene la información sobre la persona firmante de la transacción indicada.
 java.util.Vector getSigners(java.lang.String transactionID)
          Método que devuelve un Vector de objetos DTOFirmante que contienen información sobre todos los firmantes de una MultiFirma.
 java.util.Vector getTransactionSigners(java.lang.String transactionID)
          Método que devuelve un Vector de objetos Signer que contienen información sobre el firmante de esta transaccion y de todos los anteriores de esta transaccion de una MultiFirma.
 DTOIniciarMultifirma iniciarCoSignUsuario(java.lang.String idTransaccion)
          Método que inicializa el proceso de multifirma tipo CoSign (firma en pararelo) esta función requiere que ya exista una firma previa finalizada para que se pueda realizar la multifirma.
 DTOIniciarMultifirma iniciarCounterSignUsuario(java.lang.String idTransaccion)
          Método que inicializa el proceso de multifirma tipo CounterSign (firma en cascada) esta función requiere que ya exista una firma previa finalizada para que se pueda realizar la multifirma.
 
Methods inherited from interface javax.ejb.EJBObject
getEJBHome, getHandle, getPrimaryKey, isIdentical, remove
 

Method Detail

getPageHTML

public byte[] getPageHTML(java.lang.String transactionID)
                   throws java.rmi.RemoteException
Método que obtiene el código de la página HTML cuyos datos se han firmado.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
byte[] que contiene la página HTML.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getImage

public byte[] getImage(java.lang.String transactionID,
                       java.lang.String imageURL)
                throws java.rmi.RemoteException
Método que obtiene una de las imagenes contenidas en la página.

Parameters:
transactionID - identificador de la transación de firma.
imageURL - URL de la imagen que se quiere obtener.
Returns:
byte[] que contiene la imagen.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getNVPair

public java.util.Vector getNVPair(java.lang.String transactionID)
                           throws java.rmi.RemoteException
Método que obtiene un Vector de objetos DatoFirmado, que contienen el nombre y el valor de los campos del formulario firmado, primero de los objetos DatoFirmado contiene el nombre del formulario firmado.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
Vector de objetos DatoFirmado.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.
See Also:
DatoFirmado

getAttachmentFileInputNameList

public java.util.Vector getAttachmentFileInputNameList(java.lang.String transactionID)
                                                throws java.rmi.RemoteException
Método que obtiene un Vector con los nombres de los campos de tipo FILE, del formulario firmado, que contenian archivos.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
Vector con los nombres de los campos de tipo FILE que contenian archivos.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getAttachmentFile

public byte[] getAttachmentFile(java.lang.String transactionID,
                                java.lang.String inputName)
                         throws java.rmi.RemoteException
Método que obtiene el archivo anexado en el campo indicado.

Parameters:
transactionID - identificador de la transación de firma.
inputName - nombre del campo del que se quiere obtener el archivo, debe de ser uno de los nombres devueltos en el método getAttachmentFileInputNameList(transactionId).
Returns:
byte[] que contiene el archivo.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getPKCS7

public byte[] getPKCS7(java.lang.String transactionID)
                throws java.rmi.RemoteException
Método que devuelve la firma de la transacción indicada.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
byte[] que contiene la firma en formato PKCS#7.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getASN1EFE

public byte[] getASN1EFE(java.lang.String transactionID)
                  throws java.rmi.RemoteException
Deprecated.  

Método que devuelve un ASN1 con la Estructura de Firma Electronica.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
byte[] que contiene el ASN1 con la Estructura de Firma Electronica. o null si la transacción de firma no posee dicha estructura.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getASN1AR

public byte[] getASN1AR(java.lang.String transactionID)
                 throws java.rmi.RemoteException
Deprecated.  

Método que devuelve un ASN1 con el Acuse de Recibo.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
byte[] que contiene el ASN1 con el Acuse de Recibo o null . si la transacción de firma no posee dicha estructura.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getPageMode

public java.lang.String getPageMode(java.lang.String transactionID)
                             throws java.rmi.RemoteException
Método que devuelve el Modo de Página.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
String Modo de Página, puede tomar los siguientes valores:

- 0: Servidor sin política de sellado de tiempo.
- 1: Servidor con política de sellado de tiempo.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getAppName

public java.lang.String getAppName(java.lang.String transactionID)
                            throws java.rmi.RemoteException
Método que devuelve el nombre de la Aplicación.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
String Nombre de la Aplicación.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getSecName

public java.lang.String getSecName(java.lang.String transactionID)
                            throws java.rmi.RemoteException
Método que devuelve el nombre de la Sección donde se guarda la configuración de la Aplicacion en la herramienta de Administración.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
String Nombre de la Sección.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getSigners

public java.util.Vector getSigners(java.lang.String transactionID)
                            throws FirmaException,
                                   java.rmi.RemoteException
Método que devuelve un Vector de objetos DTOFirmante que contienen información sobre todos los firmantes de una MultiFirma.

Parameters:
transactionID - identificador de la transación de firma perteneciente a una MultiFirma.
Returns:
Vector de objetos DTOFirmante, ordenado por el momento de firmado.
Throws:
FirmaException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - fallo en la comunicación remota.
See Also:
DTOFirmante

getTransactionSigners

public java.util.Vector getTransactionSigners(java.lang.String transactionID)
                                       throws FirmaException,
                                              java.rmi.RemoteException
Método que devuelve un Vector de objetos Signer que contienen información sobre el firmante de esta transaccion y de todos los anteriores de esta transaccion de una MultiFirma.

Parameters:
transactionID - identificador de la transación de firma perteneciente a una MultiFirma.
Returns:
Vector de objetos DTOFirmante, ordenado por el momento de firmado.
Throws:
FirmaException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - fallo en la comunicación remota.
See Also:
DTOFirmante

getSigner

public DTOFirmante getSigner(java.lang.String transactionID)
                      throws FirmaException,
                             java.rmi.RemoteException
Método que devuelve un objeto DTOFirmate que contiene la información sobre la persona firmante de la transacción indicada.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
DTOFirmante con información sobre la persona firmante.
Throws:
FirmaException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - fallo en la comunicación remota.
See Also:
DTOFirmante

checkSign

public boolean checkSign(java.lang.String transactionID)
                  throws java.rmi.RemoteException
Método que comprueba si la firma de la transacción indicada es correcta. Nota: este método es muy costoso en tiempo y recursos.

Parameters:
transactionID - identificador de la transación de firma.
Returns:
boolean Devuelve true si la firma es correcta o false en caso contrario.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

checkAllSigns

public java.lang.String checkAllSigns(java.lang.String transactionID)
                               throws java.rmi.RemoteException
Método que comprueba todas las firmas de la MultiFirma a la que pertenece la transacción indicada.

Nota: este método es muy costoso en tiempo y recursos.

Parameters:
transactionID - identificador de la transación de firma perteneciente a una MultiFirma.
Returns:
String null si todas las firmas son correctas o el identificador de la transacción cuya firma no es correcta.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

getCheckError

public java.lang.String getCheckError()
                               throws java.rmi.RemoteException
Método que devuelve una cadena descriptiva con el error producido al ejecutarse alguno de los dos métodos check..., si las comprobaciones no son correctas.

Nota: ejecutar solamente después de un método check...

Returns:
String con la descripción del error, la cadena empieza por un número que indica el tipo de error producido:
1.- Indica que el certificado no es confiable.
2.- Indica que el certificado ha expirado o no es valido todavia.
3.- Indica que el certificado esta revocado.
4.- Indica que no se ha podido comprobar el estado de revocación.
5.- Indica que la firma no es correcta.
Throws:
java.rmi.RemoteException - fallo en la comunicación remota.

iniciarCoSignUsuario

public DTOIniciarMultifirma iniciarCoSignUsuario(java.lang.String idTransaccion)
                                          throws FirmaException,
                                                 java.rmi.RemoteException
Método que inicializa el proceso de multifirma tipo CoSign (firma en pararelo) esta función requiere que ya exista una firma previa finalizada para que se pueda realizar la multifirma.

Parameters:
idTransaccion - Transacción de firma sobre la cual realizar la multifirma.
Returns:
DTO que contiene el identificador de la nueva sesión de firma y los datos a ser firmados desde el applet/activex.
Throws:
FirmaException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - Error de comunicación.
See Also:
DTOIniciarMultifirma

iniciarCounterSignUsuario

public DTOIniciarMultifirma iniciarCounterSignUsuario(java.lang.String idTransaccion)
                                               throws FirmaException,
                                                      java.rmi.RemoteException
Método que inicializa el proceso de multifirma tipo CounterSign (firma en cascada) esta función requiere que ya exista una firma previa finalizada para que se pueda realizar la multifirma.

Parameters:
idTransaccion - Transacción de firma sobre la cual realizar la multifirma.
Returns:
DTO que contiene el identificador de la nueva sesión de firma y los datos a ser firmados desde el applet/activex.
Throws:
FirmaException - Indica un error en el proceso de Firma.
java.rmi.RemoteException - Error de comunicación.
See Also:
DTOIniciarMultifirma