public final class AOCMSSigner extends java.lang.Object implements AOSigner
true
si se desea usar la hora y fecha del sistema como hora y fecha de firma, false
en caso contrario
Constructor and Description |
---|
AOCMSSigner() |
Modifier and Type | Method and Description |
---|---|
void |
addSignedAttribute(java.lang.String oid,
byte[] value)
Añade un atributo firmado al formato de firma seleccionado.
|
void |
addUnsignedAttribute(java.lang.String oid,
byte[] value)
Añade un atributo no firmado al formato de firma seleccionado.
|
byte[] |
cosign(byte[] data,
byte[] sign,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties xParams)
Cofirma un contenido (típicamente un fichero).
|
byte[] |
cosign(byte[] sign,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties extraParams)
Cofirma un contenido (típicamente un fichero).
|
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)
Contrafirma nodos de firma concretos de una firma electrónica.
|
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[] signData)
Indica si un dato es una firma compatible con la implementación concreta.
|
boolean |
isValidDataFile(byte[] data)
Comprueba si el dato introducido es válido para ser firmado por
este manejador de firma.
|
byte[] |
sign(byte[] data,
java.lang.String algorithm,
java.security.PrivateKey key,
java.security.cert.Certificate[] certChain,
java.util.Properties xParams)
Firma electrónicamente unos datos (típicamente el contenido de un fichero).
|
public byte[] sign(byte[] data, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties xParams) throws AOException, java.io.IOException
sign
in interface AOSimpleSigner
data
- Datos que deseamos firmar.algorithm
- Algoritmo a usar para la firma (cada implementación puede aceptar unos valores diferentes)key
- Clave privada a usar para firmarcertChain
- Cadena de certificados del firmantexParams
- Parámetros adicionales para la firma (dependientes de cada implementación)AOException
- Cuando ocurre cualquier problema durante el procesojava.io.IOException
- Cuando ocurren problemas relacionados con la lectura de los datospublic byte[] cosign(byte[] data, byte[] sign, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties xParams) throws AOException, java.io.IOException
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 firmantexParams
- Parámetros adicionales para la cofirmaAOException
- Cuando ocurre cualquier problema durante el procesojava.io.IOException
- Si ocurren problemas relacionados con la lectura de la firma o los datospublic byte[] cosign(byte[] sign, java.lang.String algorithm, java.security.PrivateKey key, java.security.cert.Certificate[] certChain, java.util.Properties extraParams) throws AOException, java.io.IOException
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 procesojava.io.IOException
- Si ocurren problemas relacionados con la lectura de la firmapublic 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, java.io.IOException
targetType
y
pueden ser:
target
target
AOSignConstants
, mientras que los tipos de objetivo
se declaran en CounterSignTarget
.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.java.io.IOException
- Si ocurren problemas relacionados con la lectura de la firma.public AOTreeModel getSignersStructure(byte[] sign, boolean asSimpleSignInfo)
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.public boolean isSign(byte[] signData) throws java.io.IOException
public boolean isValidDataFile(byte[] data)
isValidDataFile
in interface AOSigner
data
- Dato que deseamos comprobar.true
si el dato es susceptible de ser firmado por la implementación concreta,
false
en caso contrario.public void addSignedAttribute(java.lang.String oid, byte[] value)
oid
- Object Identifier. Identificador del objeto a introducir.value
- Valor asignadopublic void addUnsignedAttribute(java.lang.String oid, byte[] value)
oid
- Object Identifier. Identificador del atributo a introducir.value
- Valor asignadopublic 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 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 AOSignInfo getSignInfo(byte[] signData) throws AOException, java.io.IOException
getSignInfo
in interface AOSigner
signData
- Firma que se desea analizar.java.io.IOException
- Si no es posible leer la firma.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.