java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.signed.IdAaEtsSignerLocation
All Implemented Interfaces:
SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>

public class IdAaEtsSignerLocation
extends Object
implements SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>

O atributo signer location especifica o endereço associado a uma localização geográfica do signatário. Este atributo é opcional para todas as políticas do Padrão Brasileiro de Assinatura Digital.

Mais informações: http://www.ietf.org/rfc/rfc5126.txt

Oid e esquema do atributo id-aa-ets-signerLocation retirado da RFC 5126:

 id-aa-ets-signerLocation OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
 smime(16) id-aa(2) 17}
 
 SignerLocation ::= SEQUENCE { -- at least one of the following shall be present: countryName [0] DirectoryString
 OPTIONAL, -- As used to name a Country in X.500 localityName [1] DirectoryString OPTIONAL, -- As used to name a
 locality in X.500 postalAddress [2] PostalAddress OPTIONAL }
 
 PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
 
  • Field Details

  • Constructor Details

    • IdAaEtsSignerLocation

      public IdAaEtsSignerLocation​(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeException

      Deve-se utilizar este construtor no momento de validação do atributo. O parâmetro index deve ser usado no caso em que há mais de um atributo do mesmo tipo. Caso contrário, ele deve ser zero.

      Parameters:
      signatureVerifier - Usado para criar e verificar o atributo
      index - Índice usado para selecionar o atributo
      Throws:
      SignatureAttributeException
    • IdAaEtsSignerLocation

      public IdAaEtsSignerLocation​(String countryName, String localityName, List<String> postalAdress) throws AttributeCreationException

      Cria o atributo id-aa-ets-signerLocation a partir dos parâmetros necessários para a criação do atributo.

      Parameters:
      countryName - O identificador do país, como especificado no padrão internacional ISO 3166
      localityName - O nome do município-UF
      postalAdress - Lista de endereços
      Throws:
      AttributeCreationException
    • IdAaEtsSignerLocation

      public IdAaEtsSignerLocation​(org.bouncycastle.asn1.cms.Attribute attributeEncoded) throws SignatureAttributeException
      Constrói um objeto IdAaEtsSignerLocation
      Parameters:
      attributeEncoded - O atributo codificado
      Throws:
      SignatureAttributeException
  • Method Details

    • getCountryName

      public String getCountryName()
      Retorna o identificador do país
      Returns:
      O identificador do país
    • getLocalityName

      public String getLocalityName()
      Retorna a localidade
      Returns:
      A localidade
    • 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
    • validate

      public void validate() throws SignatureAttributeException

      Este metodo método não é implementado pois este não deve ser validado, ele existe apenas por caráter informativo, visto que a verificação da sua estrutura é feita na hora da criação do atributo

      Specified by:
      validate in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Throws:
      SignatureAttributeException
    • getEncoded

      public org.bouncycastle.asn1.cms.Attribute getEncoded() throws SignatureAttributeException
      Retorna o atributo codificado
      Specified by:
      getEncoded in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Returns:
      O atributo em formato ASN.1
      Throws:
      SignatureAttributeException
    • 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
    • getPostalAdress

      public List<String> getPostalAdress()
      Obtém a lista de endereços
      Returns:
      A lista com os campos do postalAddress
    • 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