java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.CadesSignatureInformation
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.unsigned.IdCounterSignature
All Implemented Interfaces:
CounterSignatureInterface, CmsParent<CadesSignature>, GenericCadesSignature, Signature<org.bouncycastle.asn1.cms.Attribute>, SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>, SignatureObject

public class IdCounterSignature
extends CadesSignatureInformation
implements CounterSignatureInterface
Representa uma contra assinatura no formato CAdES.

Oid e esquema do atributo id-countersignature retirado da RFC 3852:

  id-countersignature OBJECT IDENTIFIER ::= { iso(1) member-body(2)
  us(840) rsadsi(113549) pkcs(1) pkcs9(9) 6 }
         
  Countersignature ::= SignerInfo
 
See Also:
RFC 3852
  • Field Details

    • IDENTIFIER

      public static final String IDENTIFIER
  • Constructor Details

    • IdCounterSignature

      public IdCounterSignature​(AbstractVerifier signatureVerifier, Integer index)
      É passado uma referência nula para a super classe, pois uma instância derivada deste construtor nunca será utilizada, tendo em vista que a verificação de contra assinaturas é realizada de forma diferente dos demais atributos não assinados
      Parameters:
      signatureVerifier - Usado para criar e verificar o atributo
      index - Índice usado para selecionar o atributo
    • IdCounterSignature

      public IdCounterSignature​(org.bouncycastle.cms.SignerInformation counterSigner, CmsParent parent)
      Chama o construtor da super classe passando o contra assinante, e passa true como argumento pois toda contra assinatura deve ser detached
      Parameters:
      counterSigner - SignerInformation do contra-assinante
      parent - A assinatura que será contra assinada
  • Method Details

    • getEncoded

      public org.bouncycastle.asn1.cms.Attribute getEncoded() throws SignatureAttributeException
      Método não utilizado por esta classe, o atributo contra assinatura tem um tratamento diferente dos demais
      Specified by:
      getEncoded in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      O atributo no formato em que foi parametrizado a classe
      Throws:
      SignatureAttributeException
    • 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
    • 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
    • validate

      public void validate() throws SignatureAttributeException
      Método não utilizado por esta classe, pois a validade da contra assinatura é realizada através da classe SignatureVerifier
      Specified by:
      validate in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Throws:
      SignatureAttributeException
    • 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