Class IdAaSigningCertificateV2

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

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

Esta versão representa uma referência do certificado do signatário utilizando qualquer algoritmo de resumo criptográfico, exceto o SHA-1.

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

    Fields
    Modifier and Type
    Field
    Description
    final List<org.bouncycastle.asn1.ess.ESSCertIDv2>
    Lista de identificadores dos certificados
    static final String
    Identificador do objeto do atributo
  • Constructor Summary

    Constructors
    Constructor
    Description
    IdAaSigningCertificateV2(String algorithm, List<Certificate> certificates)
    Constrói o atributo a partir do identificador do algoritmo de resumo criptográfico e de uma lista de certificados.
    IdAaSigningCertificateV2(List<org.bouncycastle.asn1.ess.ESSCertIDv2> certs)
    Constrói um objeto IdAaSigningCertificateV2.
  • Method Summary

    Modifier and Type
    Method
    Description
     
    org.bouncycastle.asn1.cms.Attribute
    Gera uma representação equivalente do atributo em formato ASN.1.
    List<org.bouncycastle.asn1.ess.ESSCertID>
    Obtém todos os identificadores de certificados guardados no atributo no formato ESSCertID, para compatibilidade com a geração de contra-assinaturas.
    List<org.bouncycastle.asn1.ess.ESSCertIDv2>
     
    Retorna o identificador do atributo
    boolean
    Indica se o atributo é assinado.
    boolean
    Indica se o atributo deve existir apenas uma vez na assinatura.
    boolean
    match(Certificate certificate)
    Verifica se o certificado fornecido é o mesmo que está representado no atributo através do cálculo do resumo criptográfico.
    static boolean
    match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertIDv2 essCertIDv2)
     

    Methods inherited from class Object

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

    • IDENTIFIER

      public static final String IDENTIFIER
      Identificador do objeto do atributo
    • certs

      public final List<org.bouncycastle.asn1.ess.ESSCertIDv2> certs
      Lista de identificadores dos certificados
  • Constructor Details

    • IdAaSigningCertificateV2

      public IdAaSigningCertificateV2(List<org.bouncycastle.asn1.ess.ESSCertIDv2> certs)
      Constrói um objeto IdAaSigningCertificateV2.
      Parameters:
      certs - certificados
    • IdAaSigningCertificateV2

      public IdAaSigningCertificateV2(String algorithm, List<Certificate> certificates) throws EncodingException, SignatureAttributeException
      Constrói o atributo a partir do identificador do algoritmo de resumo criptográfico e de uma lista de certificados.
      Parameters:
      algorithm - Identificador do algoritmo de resumo criptográfico
      certificates - Lista de certificados
      Throws:
      EncodingException - Ocorre quando existe uma falha na codificação de um dos certificados.
      SignatureAttributeException - Ocorre quando um algoritmo fraco é solicitado, ou quando nenhum certificado é repassado.
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Description copied from interface: SignatureAttribute
      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()
      Gera uma representação equivalente do atributo em formato ASN.1.
      Specified by:
      getEncoded in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      O atributo no formato em que foi parametrizado a classe
    • isSigned

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

      public static boolean match(Certificate certificate, org.bouncycastle.asn1.ess.ESSCertIDv2 essCertIDv2)
    • match

      public boolean match(Certificate certificate)
      Verifica se o certificado fornecido é o mesmo que está representado no atributo através do cálculo do resumo criptográfico.
      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()
      Specified by:
      clone in interface CertSelector
      Specified by:
      clone in interface org.bouncycastle.util.Selector<Certificate>
      Overrides:
      clone in class Object
    • isUnique

      public boolean isUnique()
      Indica se o atributo deve existir apenas uma vez 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
    • getESSCertIDV2

      public List<org.bouncycastle.asn1.ess.ESSCertIDv2> getESSCertIDV2()
    • getESSCertID

      public List<org.bouncycastle.asn1.ess.ESSCertID> getESSCertID()
      Obtém todos os identificadores de certificados guardados no atributo no formato ESSCertID, para compatibilidade com a geração de contra-assinaturas.
      Specified by:
      getESSCertID in interface SigningCertificateInterface
      Returns:
      Uma lista de identificadores de certificado no formato ESSCertID.