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

public class IdAaEtsSigPolicyId
extends Object
implements SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
O atributo signature policy identifier representa o identificador da política de assinatura.

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

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

Oid e esquema do atributo id-aa-ets-sigPolicyId retirado da RFC 3126:

 id-aa-ets-sigPolicyId OBJECT IDENTIFIER ::= { iso(1)
 member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
 smime(16) id-aa(2) 15 }

 SignaturePolicyIdentifier ::= CHOICE{
 SignaturePolicyId SignaturePolicyId,
 SignaturePolicyImplied SignaturePolicyImplied }

 SignaturePolicyId ::= SEQUENCE {
 sigPolicyIdentifier SigPolicyId,
 sigPolicyHash SigPolicyHash,
 sigPolicyQualifiers SEQUENCE SIZE (1..MAX) OF
 SigPolicyQualifierInfo OPTIONAL
 }

 SignaturePolicyImplied ::= NULL

 SigPolicyId ::= OBJECT IDENTIFIER

 SigPolicyHash ::= OtherHashAlgAndValue

 SigPolicyQualifierInfo ::= SEQUENCE {
 sigPolicyQualifierId SigPolicyQualifierId,
 sigQualifier ANY DEFINED BY sigPolicyQualifierId
 

}

  • Field Details

    • IDENTIFIER

      public static final String IDENTIFIER
  • Constructor Details

    • IdAaEtsSigPolicyId

      public IdAaEtsSigPolicyId​(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeException
      Deve-se utilizar este construtor no momento de validação do atributo.
      Parameters:
      signatureVerifier - Usado para criar e verificar o atributo
      index - Este índide deve ser 0 para este atributo
      Throws:
      SignatureAttributeException
    • IdAaEtsSigPolicyId

      public IdAaEtsSigPolicyId​(String sigPolicyId, org.bouncycastle.asn1.x509.AlgorithmIdentifier digestIdentifier, byte[] policyHash, String policyUrl)
      Cria o atributo id-aa-ets-sigPolicyId a partir dos parâmetros necessários para a criação do atributo.
      Parameters:
      sigPolicyId - Identifiador da política de assinatura
      digestIdentifier - Identifiador do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura
      policyHash - Valor do resumo criptográfico obtido da política assinatura
      policyUrl - URL que indica onde a politica de assinatura pode ser encontrada
    • IdAaEtsSigPolicyId

      public IdAaEtsSigPolicyId​(String sigPolicyId, org.bouncycastle.asn1.ASN1ObjectIdentifier digestIdentifier, byte[] policyHash, String policyUrl)
      Cria o atributo id-aa-ets-sigPolicyId a partir dos parâmetros necessários para a criação do atributo.
      Parameters:
      sigPolicyId - Identifiador da política de assinatura
      digestIdentifier - Identifiador do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura
      policyHash - Valor do resumo criptográfico obtido da política assinatura
      policyUrl - URL que indica onde a politica de assinatura pode ser encontrada
    • IdAaEtsSigPolicyId

      public IdAaEtsSigPolicyId​(String sigPolicyId, String digestMethodId, byte[] policyHash, String policyUrl)
      Cria o atributo id-aa-ets-sigPolicyId a partir dos parâmetros necessários para a criação do atributo.
      Parameters:
      sigPolicyId - Identifiador da política de assinatura
      digestMethodId - Identifiador do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura
      policyHash - Valor do resumo criptográfico obtido da política assinatura
      policyUrl - URL que indica onde a politica de assinatura pode ser encontrada
    • IdAaEtsSigPolicyId

      public IdAaEtsSigPolicyId​(org.bouncycastle.asn1.cms.Attribute attributeEncoded, SignaturePolicyInterface signaturePolicyInterface) throws SignatureAttributeException
      Constrói um objeto IdAaEtsSigPolicyId
      Parameters:
      attributeEncoded - O atributo codificado
      Throws:
      SignatureAttributeException
  • 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
    • validate

      public void validate() throws SignatureAttributeException
      Valida o atributo de acordo com suas regras específicas
      Specified by:
      validate in interface SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>
      Throws:
      SignatureAttributeException
    • 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
    • getSignaturePolicyId

      public String getSignaturePolicyId()
      Retorna o identificador da política
      Returns:
      O identificador da política
    • setSigPolicyId

      public void setSigPolicyId​(String sigPolicyId)
      Atribue o OID da politica de assinatura para o atributo
      Parameters:
      sigPolicyId - O OID da politica de assinatura
    • getDigestMethodId

      public String getDigestMethodId()
      Retorna o indicador de qual foi o algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura.
      Returns:
      O OID do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura
    • setDigestMethodId

      public void setDigestMethodId​(String digestMethodId)
      Atribue o indicador de qual foi o algoritmo de hash usado para tirar o hash da assinatura
      Parameters:
      digestMethodId - O OID do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura
    • getSigPolicyUrl

      public String getSigPolicyUrl()
      Obtém a URL que indica onde a PA (Politica de Assinatura) pode ser encontrada
      Returns:
      URL identificadora da PA
    • setSigPolicyUrl

      public void setSigPolicyUrl​(String sigPolicyUrl)
      Atribue a URL que indica onde a PA (Politica de Assinatura) pode ser encontrada
      Parameters:
      sigPolicyUrl - URL identificadora da PA.
    • getSigPolicyHash

      public byte[] getSigPolicyHash()
      Retorna o valor hash obtido da assinatura
      Returns:
      O valor hash obtido da assinatura
    • setSigPolicyHash

      public void setSigPolicyHash​(byte[] sigPolicyHash)
      Atribue o valor hash obtido da PA (Política de Assinatura)
      Parameters:
      sigPolicyHash - O valor do resumo criptográfico obtido da PA
    • 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
    • getLpaUrl

      public String getLpaUrl()
      Retorna a URL da LPA
      Returns:
      String
    • getSignaturePolicyHashValue

      public String getSignaturePolicyHashValue()
      Retorna o valor de hash da política
      Returns:
      O valor de hash da política
    • 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