Class CadesSignatureContainer

java.lang.Object
br.ufsc.labsec.signature.Asn1SignatureContainer<CadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesSignatureContainer
All Implemented Interfaces:
CmsParent, SignatureContainer<CadesSignature>, Iterable<CadesSignature>, org.bouncycastle.util.Encodable

public class CadesSignatureContainer
extends Asn1SignatureContainer<CadesSignature>
Esta classe representa o contêiner de assinaturas que estão dentro do CMSSignedData. Estende Asn1SignatureContainer.
  • Field Details

  • Constructor Details

    • CadesSignatureContainer

      public CadesSignatureContainer​(byte[] signatureBytes, byte[] contentToBeSigned) throws CadesSignatureException
      Instancia o Asn1SignatureContainer a partir de um CMSSignedData e do conteúdo assinado.
      Parameters:
      signatureBytes - Bytes da assinatura
      contentToBeSigned - O conteúdo assinado
      Throws:
      CadesSignatureException - Exceção em caso de erro na criação do contêiner
    • CadesSignatureContainer

      public CadesSignatureContainer​(org.bouncycastle.cms.CMSSignedData cmsSignedData, byte[] contentToBeSigned) throws CadesSignatureException
      Instancia o Asn1SignatureContainer a partir de um CMSSignedData e do conteúdo assinado.
      Parameters:
      cmsSignedData - assinatura
      contentToBeSigned - O conteúdo assinado
      Throws:
      CadesSignatureException - Exceção em caso de erro na criação do contêiner
    • CadesSignatureContainer

      public CadesSignatureContainer​(org.bouncycastle.cms.CMSSignedData cmsSignedData) throws CadesSignatureException
      Instancia o Asn1SignatureContainer a partir de um CMSSignedData.
      Parameters:
      cmsSignedData - Representa o contêiner de assinaturas
      Throws:
      CadesSignatureException
    • CadesSignatureContainer

      public CadesSignatureContainer​(byte[] signatureBytes) throws CadesSignatureException
      Instancia o Asn1SignatureContainer a partir dos bytes da assinatura com o conteúdo anexado.
      Parameters:
      signatureBytes - Bytes do arquivo da assinatura
      Throws:
      CadesSignatureException - Exceção em caso de erro na criação do contêiner
  • Method Details

    • initializeSignatures

      protected void initializeSignatures()
      Specified by:
      initializeSignatures in class Asn1SignatureContainer<CadesSignature>
    • getCadesSignatureAt

      public CadesSignature getCadesSignatureAt​(int index)
      Retorna a assinatura cades no índice dado
      Parameters:
      index - O índice da assinatura
      Returns:
      A assinatura do índice dado
    • getEContent

      public org.bouncycastle.asn1.ASN1OctetString getEContent() throws PbadException
      Obtém o conteúdo que foi propriamente assinado
      Returns:
      O conteúdo encapsulado, em formato DER.
      Throws:
      PbadException
    • getEContentType

      public String getEContentType()
    • getContentInfo

      public org.bouncycastle.asn1.cms.ContentInfo getContentInfo() throws PbadException
      A partir do conteúdo CMS presente, cria um ContentInfo. O conteúdo (eContent) é obtido por um ByteArrayOutputStream, em formato DER.

      Returns:
      O ContentInfo criado, sendo o eContent em formato DER.
      Throws:
      PbadException
    • getSignatureAt

      public CadesSignature getSignatureAt​(int index)
      Retorna a assinatura no índice dado
      Parameters:
      index - O índice da assinatura
      Returns:
      A assinatura do índice dado
    • getLastSignature

      public CadesSignature getLastSignature()
    • addSignature

      public void addSignature​(CadesSignature signature)
      Adiciona um novo assinante ao contêiner.
      Parameters:
      signature - Assinatura no formato CAdES
    • setSignedContent

      public void setSignedContent​(File signedContent) throws PbadException
      Define qual foi o conteúdo assinado que será usado na verificação da assinatura.
      Overrides:
      setSignedContent in class Asn1SignatureContainer<CadesSignature>
      Parameters:
      signedContent - O arquivo que contém o conteúdo que foi assinado
      Throws:
      PbadException - Exceção em caso de erro ao decodificar a assinatura
    • setSignedContent

      public void setSignedContent​(byte[] signedContent) throws PbadException
      Define qual foi o conteúdo assinado que será usado na verificação da assinatura.
      Overrides:
      setSignedContent in class Asn1SignatureContainer<CadesSignature>
      Parameters:
      signedContent - Bytes do conteúdo que foi assinado
      Throws:
      PbadException - Exceção em caso de erro ao decodificar a assinatura
    • setSignedContentHash

      public void setSignedContentHash​(Map<String,​byte[]> map) throws PbadException
      Throws:
      PbadException
    • getSignatures

      public List<CadesSignature> getSignatures()
    • getLastCounterSignature

      public Optional<CadesSignature> getLastCounterSignature()