Class CadesVerifier
java.lang.Object
br.ufsc.labsec.pbad.verifierCore.commons.AbstractSignatureVerifier<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>
br.ufsc.labsec.pbad.verifierCore.cades.CadesVerifier
- All Implemented Interfaces:
Verifier
public class CadesVerifier
extends AbstractSignatureVerifier<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>
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 TypeMethodDescriptionbooleanclear()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) Retorna 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 container contendo a assinaturagetSignerClaimedAttributes(CadesSignature signature) getSigningCertificateSigReport(SignatureReport sigReport) Busca certificado do assinante de um relatório de assinaturaObtém o componente de assinaturasbooleanVerifica se a assinatura selecionada possui dados assinados.booleanInforma se a política de assinatura é CAdESbooleanVerifica se a assinatura possui conteúdo destacadovoidreport(Report report, CadesSignatureContainer container, List<TimeStamp<?>> timeStamps) voidreport(Report report, SignatureContainer<CadesSignature> signatureContainer) Cria um objetoReportcom as informações da verificaçãovoidreport(Report report, SignatureWrapper wrapper) voidreport(Report report, SignatureWrapper wrapper, List<TimeStamp<?>> timestamps) voidselectSignatures(boolean isComplete) Carrega as informações de todas as assinaturas no container CadesselectTarget(SignatureWrapper wrapper) Constrói umCadesSignatureContainervoidsetPolicyType(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
addPolicyToVerificationPackage, getContainerBytes, getCurrentTimeReference, getReport, 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
isAnchored
-
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
-
getSignerClaimedAttributes
public Map<org.bouncycastle.asn1.ASN1ObjectIdentifier, List<org.bouncycastle.asn1.ASN1Encodable>> getSignerClaimedAttributes(CadesSignature signature) -
setup
protected void setup()- Overrides:
setupin classAbstractSignatureVerifier<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>
-
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<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>- Returns:
- Container da assinatura
-
getVerifierComponent
Description copied from class:AbstractSignatureVerifierObtém o componente de assinaturas- Specified by:
getVerifierComponentin interfaceVerifier- Specified by:
getVerifierComponentin classAbstractSignatureVerifier<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>- 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<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>- 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<?>> timestamps) throws VerificationException, InterruptedException -
report
public void report(Report report, CadesSignatureContainer container, List<TimeStamp<?>> timeStamps) throws VerificationException, InterruptedException -
selectTarget
Constrói umCadesSignatureContainer- Parameters:
wrapper- Wrapper da assinatura- Throws:
VerificationException- Exceção caso os bytes não sejam uma assinatura válida
-
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
-
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- Overrides:
getReceiptRequestin classAbstractSignatureVerifier<CadesInformation, org.bouncycastle.asn1.cms.Attribute, CadesSignature, CadesSignatureComponent>- 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.
-