Class CadesVerifier
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesVerifier
- All Implemented Interfaces:
Verifier
public class CadesVerifier extends Object implements Verifier
Esta classe implementa os métodos para verificação de uma assinatura CAdES.
Implementa
Verifier
.-
Constructor Summary
Constructors Constructor Description CadesVerifier(CadesSignatureComponent cadesSignature)
Construtor -
Method Summary
Modifier and Type Method Description void
addValidationData(CadesSignature signature)
Adiciona novos certificados e CRLs ao SignatureIdentityInformation da assinatura de acordo com a presença dos atributos CertificateValues e RevocationValuesboolean
clear()
Limpa as informações do verificadorboolean
containsValidPolicy()
Informa se a assinatura contém um identificador de políticaList<String>
getAvailableAttributes()
Retorna os atributos que podem ser inseridos na assinatura selecionadaCadesSignatureComponent
getCadesSignature()
Retorna o componente de assinatura CAdESCertPath
getCertPath(Certificate cert)
List<String>
getMandatedAttributes()
Retorna uma lista de atributos obrigatóriosString
getOid()
Retorna o identificador da política de assinaturaProfile.AdESType
getPolicyType()
Retorna o tipo da política de assinaturabyte[]
getReceiptRequest()
Retorna os bytes do arquivo de requisição de um reciboReport
getReport()
Retorna o relatório da verificação do arquivo de assinaturaCadesSignature
getSelectedSignature()
List<Certificate>
getSignatureCertificateValues(CadesSignature signature)
Retorna a lista de certificados do atributo IdAaEtsCertValuesAsn1SignatureContainer<?>
getSignatureContainer()
Retorna o container contendo a assinaturaList<CRL>
getSignatureRevocationValues(CadesSignature signature)
Retorna a lista de CRLs do atributo IdAaEtsRevocationValuesList<org.bouncycastle.cert.X509AttributeCertificateHolder>
getSignerCertifiedAttributes(CadesSignature signature)
Map<org.bouncycastle.asn1.ASN1ObjectIdentifier,List<org.bouncycastle.asn1.ASN1Encodable>>
getSignerClaimedAttributes(CadesSignature signature)
Certificate
getSigningCertificate(CadesSignature signature)
X509Certificate
getSigningCertificateSigReport(SignatureReport sigReport)
Busca certificado do assinante de um relatório de assinaturaboolean
isCadesOID()
Informa se a política de assinatura é CAdESboolean
needSignedContent()
Verifica se a assinatura possui conteúdo destacadovoid
report(Report report, CadesSignatureContainer container)
void
report(Report report, SignatureBytesWrapper wrapper)
Cria um objetoReport
com as informações da verificaçãovoid
selectSignatures(boolean isComplete)
Carrega as informações de todas as assinaturas no container Cadesvoid
selectTarget(CadesSignatureContainer container)
Inicializa os bytes do documento CAdESvoid
selectTarget(SignatureBytesWrapper wrapper)
Inicializa os bytes do documento CAdESvoid
setPolicyType(Profile.AdESType policyType)
Atribue o tipo da política de assinaturavoid
setReceiptRequest(byte[] receiptRequest)
boolean
supports(byte[] sig, byte[] detached)
Verifica se o documento assinado é uma assinatura CAdESprotected boolean
validSignature(CadesSignature s)
Verifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura CAdESMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface br.ufsc.labsec.signature.Verifier
checkLastCertificateName, isAnchored, isGovBr, isICPBr
-
Constructor Details
-
CadesVerifier
Construtor- Parameters:
cadesSignature
- Componente de assinatura CAdES
-
-
Method Details
-
getOid
Retorna o identificador da política de assinatura- Returns:
- O identificador da política de assinatura
-
addValidationData
public void addValidationData(CadesSignature signature) throws CertificateException, CRLException, IOExceptionAdiciona novos certificados e CRLs ao SignatureIdentityInformation da assinatura de acordo com a presença dos atributos CertificateValues e RevocationValues- Parameters:
signature
- A assinatura CAdES- Throws:
CertificateException
- Ocorre esta exceção quando for encontrado algum erro no certificadoIOException
- Ocorre esta exceção quando for encontrado algum erro no arquivo de entrada/saídaCRLException
-
getSignatureCertificateValues
Retorna a lista de certificados do atributo IdAaEtsCertValues- Parameters:
signature
- A assinatura CAdES- Returns:
- A lista de certificados presente no atributo da assinatura CertificateValues
-
getSignerClaimedAttributes
public Map<org.bouncycastle.asn1.ASN1ObjectIdentifier,List<org.bouncycastle.asn1.ASN1Encodable>> getSignerClaimedAttributes(CadesSignature signature) -
getSignerCertifiedAttributes
public List<org.bouncycastle.cert.X509AttributeCertificateHolder> getSignerCertifiedAttributes(CadesSignature signature) -
selectSignatures
Carrega as informações de todas as assinaturas no container Cades- Throws:
InterruptedException
-
getSignatureContainer
Retorna o container contendo a assinatura- Returns:
- Container da assinatura
-
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- Specified by:
getSigningCertificateSigReport
in interfaceVerifier
- Parameters:
sigReport
- Relatório da assinatura que deseja descobrir o assinante- Returns:
- Certificado do assinate
-
clear
public boolean clear()Limpa as informações do verificador -
report
public void report(Report report, SignatureBytesWrapper wrapper) throws VerificationException, InterruptedExceptionCria um objetoReport
com as informações da verificação- Specified by:
report
in interfaceVerifier
- Parameters:
report
- O relatório a ser preenchidowrapper
- O objeto que representa o arquivo de assinatura- Throws:
VerificationException
- Exceção caso haja algum problema na verificaçãoInterruptedException
-
report
public void report(Report report, CadesSignatureContainer container) throws VerificationException, InterruptedException -
getReport
Retorna o relatório da verificação do arquivo de assinatura- Returns:
- O relatório de verificação
-
selectTarget
Inicializa os bytes do documento CAdES- Parameters:
wrapper
- Wrapper da assinatura- Throws:
VerificationException
- Exceção caso os bytes não sejam uma assinatura válida
-
selectTarget
Inicializa os bytes do documento CAdES- Parameters:
container
- Container de assinatura CAdES- Throws:
VerificationException
- Exceção caso os bytes não sejam uma assinatura válida
-
getSelectedSignature
-
getSignatureRevocationValues
Retorna a lista de CRLs do atributo IdAaEtsRevocationValues- Parameters:
signature
- A assinatura CAdES- Returns:
- A lista de CRLs dos certificados presentes na assinatura
-
getAvailableAttributes
Retorna os atributos que podem ser inseridos na assinatura selecionada- Specified by:
getAvailableAttributes
in interfaceVerifier
- Returns:
- Os atributos que podem ser inseridos na assinatura
-
needSignedContent
public boolean needSignedContent()Verifica se a assinatura possui conteúdo destacado- Specified by:
needSignedContent
in interfaceVerifier
- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Specified by:
getMandatedAttributes
in interfaceVerifier
- Returns:
- A lista de atributos obrigatórios
-
getCadesSignature
Retorna o componente de assinatura CAdES- Returns:
- O componente da assinatura
-
supports
Verifica se o documento assinado é uma assinatura CAdES- Specified by:
supports
in interfaceVerifier
- Parameters:
sig
- Os bytes do documento assinadodetached
- Os bytes do arquivo destacado- Returns:
- Indica se o documento assinado é uma assinatura CAdES
- Throws:
SignatureNotICPBrException
- Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
-
getSigningCertificate
-
validSignature
Verifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura CAdES- Parameters:
s
- A assinatura a ser verificada- Returns:
- Indica se a assinatura é uma assinatura CAdES e ICP-Brasil
- Throws:
SignatureNotICPBrException
- Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
-
getCertPath
- Specified by:
getCertPath
in interfaceVerifier
-
setPolicyType
Atribue o tipo da política de assinatura- Parameters:
policyType
- O tipo da política
-
getPolicyType
Retorna o tipo da política de assinatura- Returns:
- O tipo da política
-
isCadesOID
public boolean isCadesOID()Informa se a política de assinatura é CAdES- Returns:
- Indica se a política de assinatura é CAdES
-
containsValidPolicy
public boolean containsValidPolicy()Informa se a assinatura contém um identificador de política- Returns:
- Indica se a assinatura contém uma política de assinatura
-
getReceiptRequest
public byte[] getReceiptRequest()Retorna os bytes do arquivo de requisição de um recibo- Returns:
- os bytes da requisição ou nulo
-
setReceiptRequest
public void setReceiptRequest(byte[] receiptRequest)
-