java.lang.Object
br.ufsc.labsec.signature.CompleteSigner<CadesInformation,​org.bouncycastle.asn1.cms.Attribute,​CadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.cades.AbstractCadesSigner
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesSigner
All Implemented Interfaces:
CoSigner<CadesInformation>, CounterSigner<CadesInformation>, Signer<CadesInformation>, ContainerBuilder<CadesInformation,​org.bouncycastle.asn1.cms.Attribute,​CadesSignature>

public class CadesSigner
extends AbstractCadesSigner
Esta classe cria uma assinatura CAdES em um documento.
  • Constructor Details

  • Method Details

    • simpleSign

      public boolean simpleSign​(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
      Realiza a assinatura
      Returns:
      Valor verdade representando se a assinatura foi gerada corretamente.
      Throws:
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
    • supports

      public boolean supports​(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException, CertificationPathException
      Description copied from class: CompleteSigner
      Método abstrato para verificar se o assinador suporta o arquivo a ser assinado.
      Specified by:
      supports in interface Signer<CadesInformation>
      Specified by:
      supports in class CompleteSigner<CadesInformation,​org.bouncycastle.asn1.cms.Attribute,​CadesSignature>
      Parameters:
      fileToBeSigned - O arquivo a ser assinado.
      Returns:
      Verdadeiro se o assinador suporta o arquivo a ser assinado, falso caso contrário.
      Throws:
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException - Exceção em caso de erro no assinador.
      CertificationPathException - Exceção em caso de erro na cadeia de certificação.
    • canCoSign

      public boolean canCoSign​(FileToBeSigned<? extends CadesInformation> signerInformation)
      Verifica se o arquivo pode ser co-assinado. Isso não será possível se a mensagem já for assinada ou a assinatura for detached. A verificação tem como base a assinatura presente no container.
      Returns:
      Valor verdade indicando se o arquivo pode ser co-assinado.
    • coSign

      public boolean coSign​(FileToBeSigned<? extends CadesInformation> signerInformation) throws br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
      Realiza a co-assinatura, aproveitando-se da estrutura da assinatura já existente e utilizando o método original de assinatura simples. Para isso, é necessário concatenar as assinaturas, certificados, certificados de atributos e listas de revogação, sendo esses substituídos no final do método.
      Parameters:
      signerInformation - Informações do arquivo a ser assinado FileToBeSigned
      Returns:
      Indica se a co-assinatura foi realizada com sucesso.
      Throws:
      br.ufsc.labsec.pbad.ykue_utils.exceptions.SignerException
    • canCounterSign

      public boolean canCounterSign​(FileToBeSigned<? extends CadesInformation> signerInformation)
    • buildContainer

      public SignatureContainer<CadesSignature> buildContainer​(byte[] bytes)
    • getCounterSignatureIdentifier

      public String getCounterSignatureIdentifier()
    • getLastSignature

      public CadesSignature getLastSignature​(FileToBeSigned<? extends CadesInformation> fileToBeSigned) throws SignatureAttributeException
      Throws:
      SignatureAttributeException