Class CadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<CadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesVerifier
- All Implemented Interfaces:
Verifier
Esta classe implementa os métodos para verificação de uma assinatura CAdES.
Implementa
Verifier.-
Field Summary
Fields inherited from class AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAttributeCertificates(CadesSignature signature, AbstractSignatureIdentityInformation signatureIdentityInformation) voidaddValidationData(CadesSignature signature) Captura e adiciona artefatos presentes na assinatura (como certificados e CRLs) ao SignatureIdentityInformation da assinatura conforme a presença dos atributos CertificateValues e RevocationValuesbooleanclear()Limpa as informações do verificadorbooleanInforma se a assinatura contém um identificador de políticaRetorna os atributos que podem ser inseridos na assinatura selecionadagetCertPath(Certificate cert) Obtém o componente de assinaturasRetorna uma lista de atributos obrigatóriosgetOid()Retorna o identificador da política de assinaturaRetorna o tipo da política de assinaturabyte[]Retorna os bytes do arquivo de requisição de um reciboRetorna o relatório da verificação do arquivo de assinaturagetSignatureCertificateValues(CadesSignature signature) Retorna a lista de certificados do atributo IdAaEtsCertValuesRetorna o container contendo a assinaturagetSignatureRevocationValues(CadesSignature signature) Retorna a lista de CRLs do atributoIdAaEtsRevocationValuesList<org.bouncycastle.cert.X509AttributeCertificateHolder> getSignerCertifiedAttributes(CadesSignature signature) getSignerClaimedAttributes(CadesSignature signature) getSigningCertificate(CadesSignature signature) getSigningCertificateSigReport(SignatureReport sigReport) Busca certificado do assinante de um relatório de assinaturabooleanVerifica se a assinatura selecionada possui dados assinados.booleanInforma se a política de assinatura é CAdESbooleanVerifica se a assinatura possui conteúdo destacadovoidvoidreport(Report report, SignatureContainer<CadesSignature> signatureContainer) Cria um objetoReportcom as informações da verificaçãovoidreport(Report report, SignatureWrapper wrapper) voidvoidselectSignatures(boolean isComplete) Carrega as informações de todas as assinaturas no container CadesselectTarget(SignatureWrapper wrapper) Constrói umCadesSignatureContainervoidsetPolicyType(Profile.AdESType policyType) Atribue o tipo da política de assinaturavoidsetReceiptRequest(byte[] receiptRequest) protected voidsetup()booleansupports(byte[] sig, byte[] detached) Verifica se o documento assinado é uma assinatura CAdESprotected booleanVerifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura CAdESMethods inherited from class AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, setupLpaSig, signatureContainerChanged, withReturnArtifactsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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
-
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
-
addAttributeCertificates
protected void addAttributeCertificates(CadesSignature signature, AbstractSignatureIdentityInformation signatureIdentityInformation) -
addValidationData
Description copied from class:AbstractSignatureVerifierCaptura e adiciona artefatos presentes na assinatura (como certificados e CRLs) ao SignatureIdentityInformation da assinatura conforme a presença dos atributos CertificateValues e RevocationValues- Specified by:
addValidationDatain classAbstractSignatureVerifier<CadesSignature>- Parameters:
signature- A assinatura
-
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) -
setup
protected void setup()- Overrides:
setupin classAbstractSignatureVerifier<CadesSignature>
-
selectSignatures
Carrega as informações de todas as assinaturas no container Cades- Parameters:
isComplete- Se o relatório deve ser completo ou não- Throws:
InterruptedException
-
getSignatureContainer
Description copied from class:AbstractSignatureVerifierRetorna o container contendo a assinatura- Specified by:
getSignatureContainerin classAbstractSignatureVerifier<CadesSignature>- Returns:
- Container da assinatura
-
getComponent
Description copied from class:AbstractSignatureVerifierObtém o componente de assinaturas- Specified by:
getComponentin interfaceVerifier- Specified by:
getComponentin classAbstractSignatureVerifier<CadesSignature>- Returns:
- Componente de assinatura
-
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- 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- Returns:
- Indica se a limpeza foi bem sucedida
-
report
public void report(Report report, SignatureContainer<CadesSignature> signatureContainer) throws VerificationException, InterruptedException Cria um objetoReportcom as informações da verificação- Specified by:
reportin classAbstractSignatureVerifier<CadesSignature>- Parameters:
report- O relatório a ser preenchidosignatureContainer- 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, SignatureWrapper wrapper) throws VerificationException, InterruptedException -
report
public void report(Report report, SignatureWrapper wrapper, List<TimeStamp<Object>> timestamps) throws VerificationException, InterruptedException -
report
public void report(Report report, CadesSignatureContainer container, List<TimeStamp<Object>> timeStamps) throws VerificationException, InterruptedException -
getReport
Retorna o relatório da verificação do arquivo de assinatura- Returns:
- O relatório de verificação
-
selectTarget
Constrói umCadesSignatureContainer- Parameters:
wrapper- Wrapper da assinatura- Throws:
VerificationException- Exceção caso os bytes não sejam uma assinatura válida
-
getSignatureRevocationValues
Retorna a lista de CRLs do atributoIdAaEtsRevocationValues- Parameters:
signature- A assinatura que contém o atributo- Returns:
- A lista de CRLs dos certificados presentes na assinatura
-
getAvailableAttributes
-
needSignedContent
public boolean needSignedContent()Verifica se a assinatura possui conteúdo destacado- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
-
supports
Verifica se o documento assinado é uma assinatura CAdES- 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
- Specified by:
getSigningCertificatein classAbstractSignatureVerifier<CadesSignature>
-
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
-
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) -
hasSignedData
public boolean hasSignedData()Verifica se a assinatura selecionada possui dados assinados.- Returns:
- true se os dados assinados estiverem presentes ou se o tipo da assinatura não for detached; false caso contrário.
-