Class CadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<CadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesVerifier
- All Implemented Interfaces:
Verifier
public class CadesVerifier extends AbstractSignatureVerifier<CadesSignature>
Esta classe implementa os métodos para verificação de uma assinatura CAdES.
Implementa
Verifier.-
Field Summary
Fields inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer -
Constructor Summary
Constructors Constructor Description CadesVerifier(CadesSignatureComponent cadesSignature)Construtor -
Method Summary
Modifier and Type Method Description protected 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 verificadorbooleancontainsValidPolicy()Informa se a assinatura contém um identificador de políticaList<String>getAvailableAttributes()Retorna os atributos que podem ser inseridos na assinatura selecionadaCertPathgetCertPath(Certificate cert)CadesSignatureComponentgetComponent()Obtém o componente de assinaturasList<String>getMandatedAttributes()Retorna uma lista de atributos obrigatóriosStringgetOid()Retorna o identificador da política de assinaturaProfile.AdESTypegetPolicyType()Retorna o tipo da política de assinaturabyte[]getReceiptRequest()Retorna os bytes do arquivo de requisição de um reciboReportgetReport()Retorna o relatório da verificação do arquivo de assinaturaList<Certificate>getSignatureCertificateValues(CadesSignature signature)Retorna a lista de certificados do atributo IdAaEtsCertValuesCadesSignatureContainergetSignatureContainer()Retorna o container contendo a assinaturaList<CRL>getSignatureRevocationValues(CadesSignature signature)Retorna a lista de CRLs do atributoIdAaEtsRevocationValuesList<org.bouncycastle.cert.X509AttributeCertificateHolder>getSignerCertifiedAttributes(CadesSignature signature)Map<org.bouncycastle.asn1.ASN1ObjectIdentifier,List<org.bouncycastle.asn1.ASN1Encodable>>getSignerClaimedAttributes(CadesSignature signature)X509CertificategetSigningCertificate(CadesSignature signature)X509CertificategetSigningCertificateSigReport(SignatureReport sigReport)Busca certificado do assinante de um relatório de assinaturabooleanhasSignedData()Verifica se a assinatura selecionada possui dados assinados.booleanisCadesOID()Informa se a política de assinatura é CAdESbooleanneedSignedContent()Verifica se a assinatura possui conteúdo destacadovoidreport(Report report, CadesSignatureContainer container, List<TimeStamp<Object>> 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<Object>> timestamps)voidselectSignatures(boolean isComplete)Carrega as informações de todas as assinaturas no container CadesCadesSignatureContainerselectTarget(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 booleanvalidSignature(CadesSignature s)Verifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura CAdESMethods inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, setupLpaSig, signatureContainerChanged, withReturnArtifactsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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
-
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, InterruptedExceptionCria 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
Retorna os atributos que podem ser inseridos na assinatura selecionada- Returns:
- Os atributos que podem ser inseridos na assinatura
-
needSignedContent
public boolean needSignedContent()Verifica se a assinatura possui conteúdo destacado- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Returns:
- A lista de atributos obrigatórios
-
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.
-