Class IdAaSigningCertificate

java.lang.Object
br.ufsc.labsec.parser.cades.attributes.signed.IdAaSigningCertificate
All Implemented Interfaces:
SigningCertificateInterface, SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>, Cloneable, CertSelector, org.bouncycastle.util.Selector<Certificate>

public class IdAaSigningCertificate extends Object implements SigningCertificateInterface
O atributo IdAaSigningCertificate é designado para previnir o ataque de substituição, e para permitir um conjunto restrito de certificados a serem usados na verificação da assinatura.

Este atributo é obrigatório para todas as políticas do Padrão Brasileiro de Assinatura Digital.

Esta versão representa uma referência do certificado do signatário utilizando o algoritmo de hash SHA1.

SigningCertificate ::= SEQUENCE {
certs SEQUENCE OF ESSCertID,
policies SEQUENCE OF PolicyInformation OPTIONAL
}
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected List<org.bouncycastle.asn1.ess.ESSCertID>
    Lista de identificadores dos certificados
    static final String
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados.
    IdAaSigningCertificate(List<org.bouncycastle.asn1.ess.ESSCertID> certs)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Faz uma cópia deste objeto
    org.bouncycastle.asn1.cms.Attribute
    Retorna o atributo codificado
    List<org.bouncycastle.asn1.ess.ESSCertID>
    Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.
    Retorna o identificador do atributo
    boolean
    Informa se o atributo é assinado
    boolean
    Verifica se o atributo deve ter apenas uma instância na assinatura
    boolean
    match(Certificate certificate)
    Verifica se o certificado dado é o mesmo que está no atributo
    static boolean
    match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID)
     

    Methods inherited from class Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • IDENTIFIER

      public static final String IDENTIFIER
    • certs

      protected List<org.bouncycastle.asn1.ess.ESSCertID> certs
      Lista de identificadores dos certificados
  • Constructor Details

    • IdAaSigningCertificate

      public IdAaSigningCertificate(Collection<Certificate> certificates) throws SignatureAttributeException
      Cria o atributo id-aa-signingCertificate a partir de uma lista de certificados. Este método decodifica todos os certificados que foram adicionados no atributo SigningCertificate.
      Parameters:
      certificates - Lista de certificados que serão guardados no atributo signing certificate da assinatura
      Throws:
      SignatureAttributeException
    • IdAaSigningCertificate

      public IdAaSigningCertificate(List<org.bouncycastle.asn1.ess.ESSCertID> certs)
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Retorna o identificador do atributo
      Specified by:
      getIdentifier in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      O identificador do atributo
    • getEncoded

      public org.bouncycastle.asn1.cms.Attribute getEncoded()
      Retorna o atributo codificado
      Specified by:
      getEncoded in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      O atributo em formato ASN1
    • isSigned

      public boolean isSigned()
      Informa se o atributo é assinado
      Specified by:
      isSigned in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      Indica se o atributo é assinado
    • getESSCertID

      public List<org.bouncycastle.asn1.ess.ESSCertID> getESSCertID()
      Obtém todos os certificados que foram guardados no atributo signing certificate da assinatura.
      Specified by:
      getESSCertID in interface SigningCertificateInterface
      Returns:
      A lista dos certificados do atributo
    • match

      public static boolean match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertID essCertID)
    • match

      public boolean match(Certificate certificate)
      Verifica se o certificado dado é o mesmo que está no atributo
      Specified by:
      match in interface CertSelector
      Specified by:
      match in interface org.bouncycastle.util.Selector<Certificate>
      Parameters:
      certificate - O certificado a ser comparado
      Returns:
      Indica se o certificado dado é o mesmo que está no atributo
    • clone

      public CertSelector clone()
      Faz uma cópia deste objeto
      Specified by:
      clone in interface CertSelector
      Specified by:
      clone in interface org.bouncycastle.util.Selector<Certificate>
      Overrides:
      clone in class Object
      Returns:
      Uma cópia do objeto
    • isUnique

      public boolean isUnique()
      Verifica se o atributo deve ter apenas uma instância na assinatura
      Specified by:
      isUnique in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      Indica se o atributo deve ter apenas uma instância na assinatura