public final class AOFacturaESigner extends java.lang.Object implements AOSigner
Constructor and Description |
---|
AOFacturaESigner() |
Modifier and Type | Method and Description |
---|---|
byte[] |
cosign(byte[] data,
byte[] sign,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties extraParams)
Operación no soportada.
|
byte[] |
cosign(byte[] sign,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties extraParams)
Operación no soportada.
|
byte[] |
countersign(byte[] sign,
java.lang.String algorithm,
CounterSignTarget targetType,
java.lang.Object[] targets,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties extraParams)
Operación no soportada, se lanza una
UnsupportedOperationException . |
byte[] |
getData(byte[] signData)
Recupera los datos originalmente firmados de una firma.
|
java.lang.String |
getSignedName(java.lang.String originalName,
java.lang.String inText)
Devuelve el nombre de fichero de firma recomendado para el resultado de firmar un fichero
con el nombre proporcionado.
|
AOTreeModel |
getSignersStructure(byte[] sign,
boolean asSimpleSignInfo)
Recupera el árbol de nodos de firma de una firma electrónica.
|
AOSignInfo |
getSignInfo(byte[] signData)
Obtiene la información general de un objeto de firma.
|
boolean |
isSign(byte[] is)
Indica si un dato es una firma compatible con la implementación concreta.
|
boolean |
isValidDataFile(byte[] is)
Indica si los datos son una factura electrónica.
|
byte[] |
sign(byte[] data,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties extraParams)
Firma Facturas en formato XAdES Factura-E.
|
public byte[] cosign(byte[] data, byte[] sign, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties extraParams) throws AOException
cosign
in interface AOCoSigner
data
- Datos que deseamos a cofirmar.sign
- Flujo de lectura de la firma de los datos que se quiere
cofirmar.algorithm
- Algoritmo a usar para la firma (SHA1withRSA, SHA512withRSA,...)key
- Clave privada a usar para firmarcertChain
- Cadena de certificados del firmanteextraParams
- Parámetros adicionales para la cofirmaAOException
- Cuando ocurre cualquier problema durante el procesopublic byte[] cosign(byte[] sign, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties extraParams) throws AOException
cosign
in interface AOCoSigner
sign
- Firma de los datos que se quiere cofirmar.algorithm
- Algoritmo a usar para la firma (SHA1withRSA, SHA512withRSA,...)key
- Clave privada a usar para firmarcertChain
- cadena de certificados del firmanteextraParams
- Parámetros adicionales para la cofirmaAOException
- Cuando ocurre cualquier problema durante el procesopublic byte[] countersign(byte[] sign, java.lang.String algorithm, CounterSignTarget targetType, java.lang.Object[] targets, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties extraParams) throws AOException
UnsupportedOperationException
.countersign
in interface AOCounterSigner
sign
- Flujo de lectura de los datos a firmar.algorithm
- Algoritmo a usar para la firma (SHA1withRSA, SHA512withRSA, etc.).targetType
- Tipo de objetivo de la contrafirma.targets
- Información complementaria según el tipo de objetivo de la contrafirma.key
- Clave privada a usar para firmar.certChain
- Cadena de certificados del firmante.extraParams
- Parámetros adicionales para la contrafirma.AOException
- Cuando ocurre cualquier problema durante el proceso.public byte[] sign(byte[] data, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties extraParams) throws AOException, java.io.IOException
sign
in interface AOSimpleSigner
data
- Factura electrónica.algorithm
- Algoritmo a usar para la firma.
Se aceptan los siguientes algoritmos en el parámetro algorithm
:
key
- Clave privada a usar para firmar.certChain
- Cadena de certificados del firmanteextraParams
- Parámetros adicionales para la firma.
Se aceptan los siguientes valores en el parámetro xParams
:
InvalidEFacturaDataException
- Cuando se proporcionan datos que no son una factura electrónicaEFacturaAlreadySignedException
- Cuando se proporciona un factura ya firmadaAOException
- Cuando ocurre cualquier problema durante el procesojava.io.IOException
- Cuando ocurren problemas relacionados con la lectura de los datospublic AOTreeModel getSignersStructure(byte[] sign, boolean asSimpleSignInfo) throws AOInvalidFormatException, java.io.IOException
AOSimpleSignInfo
con la
información básica de las firmas individuales, según
el valor del parámetro asSimpleSignInfo
. Los nodos se
mostrarán en el mismo orden y con la misma estructura con el que
aparecen en la firma electrónica.getSignersStructure
in interface AOSigner
sign
- Firma electrónica de la que se desea obtener la estructura.asSimpleSignInfo
- Si es true
se devuelve un árbol con la
información básica de cada firma individual
mediante objetos AOSimpleSignInfo
, si es false
un árbol con los nombres (CN X.500) de los
titulares de los certificados.null
en caso de error.AOInvalidFormatException
- Si no se ha introducido un fichero de firma válido del formato correspondiente.java.io.IOException
- Si ocurren problemas relacionados con la lectura de la firmapublic boolean isSign(byte[] is) throws java.io.IOException
public boolean isValidDataFile(byte[] is)
isValidDataFile
in interface AOSigner
is
- Datos a comprobartrue
si los datos son una factura electrónica,
false
en caso contrariopublic java.lang.String getSignedName(java.lang.String originalName, java.lang.String inText)
getSignedName
in interface AOSigner
originalName
- Nombre del fichero original que se firmainText
- Partícula intermedia que agregar al nombre del fichero de
firma.public byte[] getData(byte[] signData) throws AOException, java.io.IOException
null
.getData
in interface AOSigner
signData
- Datos de firma o fichero firmado.AOInvalidFormatException
- Si no se ha introducido un fichero de firma válido o no
ha podido leerse la firma.AOException
- En caso de cualquier error durante la recuperación de los
datos.java.io.IOException
- Si no se puede leer la firma.public AOSignInfo getSignInfo(byte[] signData) throws AOException, java.io.IOException
getSignInfo
in interface AOSigner
signData
- Firma que se desea analizar.AOInvalidFormatException
- Cuando la firma introducida no es un objeto de firma
reconocido por este manejador.AOException
- Ocurrió un error durante la recuperación de los
datos.java.io.IOException
- Si ocurren problemas relacionados con la lectura de la firma.