public abstract class CMSPKCS7Signature extends Signature
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
OID_CMS_TIMESTAMP
Constante con el OID donde se encuentra el sello de tiempos en un CMS
|
static java.lang.String |
OID_DATA
Constante con el OID de la sección 'data' en formato DER
|
arangiTemporalFolder, CRYPTOGRAPHIC_PROVIDER, CRYPTOGRAPHIC_PROVIDER_NAME, DEFAULT_HASHING_ALGORITHM, DEFAULT_SIGNING_ALGORITHM, NUM_RETRIES
Constructor and Description |
---|
CMSPKCS7Signature(byte[] signature)
Obtiene la firma de un array de bytes.
|
CMSPKCS7Signature(byte[][] signatureBytes,
Certificate[] certificates)
Construye una firma en formato CMS(PKCS#7) en base a los bytes de las firmas y
los certificados con los que se realizaron éstas, con el algoritmo de
firma por defecto (SHA1WithRSA).
|
CMSPKCS7Signature(byte[][] signatureBytes,
Certificate[] certificates,
IDocument document)
Construye un firma en formato CMS(PKCS#7) en base a los bytes de las firmas y
los certificados con los que se realizaron éstas, con el algoritmo de
firma por defecto (SHA1WithRSA).
|
CMSPKCS7Signature(byte[][] signatureBytes,
Certificate[] certificates,
IDocument document,
java.lang.String[] digitalSignatureAlgorithms)
Construye un firma en formato CMS(PKCS#7) en base a los bytes de las firmas y
los certificados con los que se realizaron éstas, con el algoritmo de
firma indicado.
|
CMSPKCS7Signature(byte[][] signatureBytes,
Certificate[] certificates,
java.lang.String[] digitalSignatureAlgorithms)
Construye un firma en formato CMS(PKCS#7) en base a los bytes de las firmas y
los certificados con los que se realizaron éstas, con los algoritmos de
firma indicados.
|
CMSPKCS7Signature(java.io.File fileSignature)
Obtiene la firma de un fichero.
|
CMSPKCS7Signature(java.io.InputStream isSignature)
Obtiene la firma de un stream de lectura.
|
Modifier and Type | Method and Description |
---|---|
Certificate[] |
getCertificates()
Devuelve los certificados con los que se ha realizado la firma
|
IDocument |
getDocument() |
static ISignature |
getSignatureInstance(byte[] bSignature)
Método para poder validar con el método Signature.validateSignature.
|
byte[][] |
getSignaturesBytes()
Obtiene los bytes resultantes del proceso de firma para cada uno de los
certificados.
|
TimeStamp |
getTimeStamp()
Obtiene el sello de tiempos de la firma.
|
boolean |
isAttached()
Método que indica si la firma es attached (el documento se halla contenido
en ella)
|
ValidationResult[] |
isValid(CAList caList)
Comprueba que las firmas son correctas en firmas attached y sus certificados son válidos.
|
ValidationResult[] |
isValid(IDocument document,
CAList caList)
Comprueba que las firmas son correctas y sus certificados son válidos.
|
ValidationResult[] |
isValid(IDocument document,
java.util.List<CertificateValidationService> validationServices)
Comprueba que las firmas son correctas y sus certificados son válidos.
|
ValidationResult[] |
isValid(java.util.List<CertificateValidationService> validationServices)
Comprueba que las firmas son correctas en firmas attached y sus certificados son válidos.
|
ValidationResult[] |
isValidSignatureOnly()
Comprueba que las firmas son correctas en firmas attached, sin validar los certificados
de las mismas.
|
ValidationResult[] |
isValidSignatureOnly(IDocument document)
Comprueba que las firmas son correctas, sin validar los certificados de las mismas.
|
ValidationResult[] |
isValidSignatureOnlyWithHash(byte[] hash)
Valida únicamente la correspondencia entre la firma y el hash, sin
validar los certificados de la firma
|
ValidationResult[] |
isValidWithHash(byte[] hash,
CAList caList)
Comprueba que la firma es válida a partir del hash del documento
|
ValidationResult[] |
isValidWithHash(byte[] hash,
CAList caList,
java.util.List<CertificateValidationService> validationServices)
Comprueba que la firma es válida a partir del hash del documento
|
ValidationResult[] |
isValidWithHash(byte[] hash,
java.util.List<CertificateValidationService> validationServices)
Comprueba que la firma es válida a partir del hash del documento
|
void |
save(java.io.File file)
Guarda la firma en disco
|
void |
save(java.io.OutputStream out)
Guarda la firma en un stream de escritura.
|
byte[] |
toByteArray()
Obtiene la firma en formato CMS (PKCS#7) como un array de bytes
|
void |
transform()
Transforma un CMS o PKCS#7 para que el OID del mismo sea 1.2.840.113549.1.7.2
|
addRecognizerClass, getSignatureObject, getType, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignatureOnly, validateSignatureOnly
getArangiTemporalFolder, getCryptographicProvider, saveTemporalFile, saveToArangiTemporalFolder
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getSignatureType
public static final java.lang.String OID_DATA
public static final java.lang.String OID_CMS_TIMESTAMP
public CMSPKCS7Signature(java.io.File fileSignature) throws NormalizeCertificateException, SignatureException, java.io.IOException
fileSignature
- Fichero con la firma en formato CMS (PKCS#7)java.io.IOException
- Error leyendo el fichero o la firma proporcionada no parece estar en formato DERNormalizeCertificateException
- El certificado de la firma no puede ser normalizado
al formato esperado por el proveedor criptográfico de ArangiSignatureException
- Error obteniendo los certificados de la firmapublic CMSPKCS7Signature(java.io.InputStream isSignature) throws NormalizeCertificateException, SignatureException, java.io.IOException
isSignature
- Stream de lectura a la firma en formato CMS (PKCS#7)java.io.IOException
- Error leyendo el stream de lectura o la firma proporcionada no parece
estar en formato DERNormalizeCertificateException
- El certificado de la firma no puede ser normalizado
al formato esperado por el proveedor criptográfico de ArangiSignatureException
- Error obteniendo los certificados de la firmapublic CMSPKCS7Signature(byte[] signature) throws NormalizeCertificateException, SignatureException
signature
- Firma en formato CMS (PKCS#7)NormalizeCertificateException
- El certificado de la firma no puede ser normalizado
al formato esperado por el proveedor criptográfico de ArangiSignatureException
- Error obteniendo los certificados de la firmapublic CMSPKCS7Signature(byte[][] signatureBytes, Certificate[] certificates) throws SignatureException
signatureBytes
- Bytes de las firmascertificates
- Certificados con los que se realizó la firmaSignatureException
- Error construyendo la firmapublic CMSPKCS7Signature(byte[][] signatureBytes, Certificate[] certificates, java.lang.String[] digitalSignatureAlgorithms) throws SignatureException
signatureBytes
- Bytes de las firmascertificates
- Certificados con los que se realizó la firmadigitalSignatureAlgorithms
- Algoritmos de firmajava.security.NoSuchAlgorithmException
- El algoritmo de firma no existe en ArangiSignatureException
- Error construyendo la firmapublic CMSPKCS7Signature(byte[][] signatureBytes, Certificate[] certificates, IDocument document) throws SignatureException
signatureBytes
- Bytes de las firmascertificates
- Certificados con los que se realizó la firmadocument
- Documento que se ha firmadoSignatureException
- Error construyendo la firmapublic CMSPKCS7Signature(byte[][] signatureBytes, Certificate[] certificates, IDocument document, java.lang.String[] digitalSignatureAlgorithms) throws SignatureException
signatureBytes
- Bytes de la firmacertificates
- Certificados con los que se realizó la firmadigitalSignatureAlgorithms
- Algoritmos de firmadocument
- Documento que se ha firmadoSignatureException
- Error construyendo la firmapublic byte[][] getSignaturesBytes()
toByteArray
.public Certificate[] getCertificates()
ISignature
public IDocument getDocument()
public boolean isAttached()
public ValidationResult[] isValidSignatureOnly() throws HashingException, SignatureException, NoDocumentToSignException
ISignature
HashingException
- Error obteniendo el hash del documentoSignatureException
- Error tratando el objeto firmaNoDocumentToSignException
- La firma no es attached por lo que no hay documento con
el que validarla. Utilizar este mismo método pero pasándole el documento que originó la
firmapublic ValidationResult[] isValidSignatureOnly(IDocument document) throws HashingException, SignatureException
ISignature
document
- Documento que originó la firmaHashingException
- Error obteniendo el hash del documentoSignatureException
- Error tratando el objeto firmapublic ValidationResult[] isValidSignatureOnlyWithHash(byte[] hash) throws SignatureException
hash
- Hash del documento que originó la firmaSignatureException
- Error tratando la firmapublic ValidationResult[] isValid(CAList caList) throws NoDocumentToSignException, SignatureException, NormalizeCertificateException, HashingException
ISignature
caList
- Lista de certificados de CA admitidos por la aplicación que usa
ArangiNoDocumentToSignException
- La firma no es attached por lo que no hay documento con
el que validarla. Utilizar este mismo método pero pasándole el documento que originó la
firmaSignatureException
- Error tratando el objeto firmaNormalizeCertificateException
- Alguno de los certificados no puede ser
normalizado al formato reconocido por el proveedor criptográfico de Arangí o su
firma no es correcta o no puede ser analizadaHashingException
- Error obteniendo el hash del documentopublic ValidationResult[] isValid(IDocument document, CAList caList) throws SignatureException, NormalizeCertificateException, HashingException
ISignature
document
- Documento que originó la firmacaList
- Lista de certificados de CA admitidos por la aplicación que usa
ArangiSignatureException
- Error tratando el objeto firmaNormalizeCertificateException
- Alguno de los certificados no puede ser
normalizado al formato reconocido por el proveedor criptográfico de Arangi o su
firma no es correcta o no puede ser analizadaHashingException
- Error obteniendo el hash del documentopublic ValidationResult[] isValidWithHash(byte[] hash, CAList caList) throws SignatureException, NormalizeCertificateException
hash
- Hash del documentocaList
- Lista de CAsSignatureException
- Error tratando la firmaNormalizeCertificateException
- No se puede normalizar el certificado
de firma al proveedor criptográfico de Arangípublic ValidationResult[] isValidWithHash(byte[] hash, CAList caList, java.util.List<CertificateValidationService> validationServices) throws SignatureException, NormalizeCertificateException
hash
- Hash del documentocaList
- Lista de CAsvalidationServices
- Lista de servicios de validaciónSignatureException
- Error tratando la firmaNormalizeCertificateException
- No se puede normalizar el certificado
de firma al proveedor criptográfico de Arangípublic ValidationResult[] isValid(java.util.List<CertificateValidationService> validationServices) throws HashingException, SignatureException, NormalizeCertificateException, NoDocumentToSignException
ISignature
validationServices
- Lista de servicios de validaciónHashingException
- Error obteniendo el hash del documentoSignatureException
- Error tratando el objeto firmaNormalizeCertificateException
- Alguno de los certificados no puede ser
normalizado al formato reconocido por el proveedor criptográfico de Arangí o su
firma no es correcta o no puede ser analizadaNoDocumentToSignException
- La firma no es attached por lo que no hay documento con
el que validarla. Utilizar este mismo método pero pasándole el documento que originó la
firmapublic ValidationResult[] isValid(IDocument document, java.util.List<CertificateValidationService> validationServices) throws HashingException, SignatureException, NormalizeCertificateException
ISignature
document
- Documento que originó la firmavalidationServices
- Lista de servicios de validaciónHashingException
- Error obteniendo el hash del documentoSignatureException
- Error tratando el objeto firmaNormalizeCertificateException
- Alguno de los certificados no puede ser
normalizado al formato reconocido por el proveedor criptográfico de Arangi o su
firma no es correcta o no puede ser analizadapublic ValidationResult[] isValidWithHash(byte[] hash, java.util.List<CertificateValidationService> validationServices) throws SignatureException, NormalizeCertificateException
hash
- Hash del documentovalidationServices
- Lista de servicios de validaciónSignatureException
- Error tratando la firmaNormalizeCertificateException
- No se puede normalizar el certificado
de firma al proveedor criptográfico de Arangípublic TimeStamp getTimeStamp() throws MalformedTimeStampException
MalformedTimeStampException
- El objeto contenido en la firma no parece ser un sello de tiempopublic void save(java.io.File file) throws java.io.IOException
file
- Fichero donde se guardará la firmajava.io.IOException
- Errores de entrada / salidapublic void save(java.io.OutputStream out) throws java.io.IOException
out
- Stream de escriturajava.io.IOException
- Errores de entrada / salidapublic byte[] toByteArray()
public static ISignature getSignatureInstance(byte[] bSignature) throws java.lang.Exception
bSignature
- Firma como array de bytesjava.lang.Exception
- El parámetro no es un CMS o PKCS#7public void transform() throws java.lang.Exception
java.lang.Exception
- No se ha podido realizar la transformaciónCopyright © 2018 Agencia de Tecnología y Certificación Electrónica. All Rights Reserved.