java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.signed.SignaturePolicyIdentifier
All Implemented Interfaces:
SignatureAttribute<Element>

public class SignaturePolicyIdentifier
extends Object
implements SignatureAttribute<Element>
O atributo SignaturePolicyIdentifier define um conjunto de regras para a criação e validação de uma assinatura. Esquema do atributo SignaturePolicyIdentifier retirado do ETSI TS 101 903: <xsd:element name="SignaturePolicyIdentifier" type="SignaturePolicyIdentifierType"/> <xsd:complexType name="SignaturePolicyIdentifierType"> <xsd:choice> <xsd:element name="SignaturePolicyId" type="SignaturePolicyIdType"/> <xsd:element name="SignaturePolicyImplied"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="SignaturePolicyIdType"> <xsd:sequence> <xsd:element name="SigPolicyId" type="ObjectIdentifierType"/> <xsd:element ref="ds:Transforms" minOccurs="0"/> <xsd:element name="SigPolicyHash" type="DigestAlgAndValueType"/> <xsd:element name="SigPolicyQualifiers" type="SigPolicyQualifiersListType" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="SigPolicyQualifiersListType"> <xsd:sequence> <xsd:element name="SigPolicyQualifier" type="AnyType" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType>
  • Field Details

    • IDENTIFIER

      public static final String IDENTIFIER
      See Also:
      Constant Field Values
    • sigPolicyHash

      protected byte[] sigPolicyHash
      O valor de hash da PA
    • sigPolicyId

      protected String sigPolicyId
      O identificador da política
    • sigPolicyUrl

      protected String sigPolicyUrl
      A URL da política
    • digestMethodId

      protected String digestMethodId
      O método de cálculo de hash da política
    • verifier

      protected SignatureVerifier verifier
      Objeto de verificador
    • hasImpliedPolicy

      protected boolean hasImpliedPolicy
  • Constructor Details

    • SignaturePolicyIdentifier

      public SignaturePolicyIdentifier​(AbstractVerifier verifier, Integer index) throws SignatureAttributeException
      Deve-se utilizar este construtor no momento de validação do atributo. O parâmetro index deve ser usaddo no caso em que há mais de um atributo do mesmo tipo. Caso contrário, ele deve ser zero.
      Parameters:
      verifier - Usado para criar e verificar o atributo.
      index - Índice Usado para selecionar o atributo.
      Throws:
      SignatureAttributeException - Exceção no documento
    • SignaturePolicyIdentifier

      public SignaturePolicyIdentifier​(String sigPolicyId, org.bouncycastle.asn1.x509.AlgorithmIdentifier digestIdentifier, byte[] policyHash, String policyUrl)
    • SignaturePolicyIdentifier

      public SignaturePolicyIdentifier​(String sigPolicyId, org.bouncycastle.asn1.ASN1ObjectIdentifier digestIdentifier, byte[] policyHash, String policyUrl)
    • SignaturePolicyIdentifier

      public SignaturePolicyIdentifier​(String sigPolicyId, String digestMethodId, byte[] policyHash, String policyUrl)
      Cria o atributo SignaturePolicyIdentifier a partir dos parâmetros necessários para a criação do atributo.
      Parameters:
      sigPolicyId - Identificador da política de assinatura
      digestMethodId - Identificador 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 política de assinatura pode ser encontrada
    • SignaturePolicyIdentifier

      public SignaturePolicyIdentifier​(Element attributeEncoded, SignaturePolicyInterface signaturePolicyInterface) throws SignatureAttributeException
      Constrói um objeto SignaturePolicyIdentifier
      Parameters:
      attributeEncoded - O atributo codificado
      Throws:
      SignatureAttributeException - Exceção no documento
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Retorna o identificador do atributo
      Specified by:
      getIdentifier in interface SignatureAttribute<Element>
      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<Element>
      Throws:
      SignatureAttributeException
    • getEncoded

      public Element getEncoded() throws SignatureAttributeException
      Retorna o atributo codificado
      Specified by:
      getEncoded in interface SignatureAttribute<Element>
      Returns:
      O atributo em formato de nodo XML
      Throws:
      SignatureAttributeException
    • getSignaturePolicyId

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

      public byte[] getSigPolicyHash()
      Obtém o valor do resumo criptográfico obtido da política assinatura.
      Returns:
      O valor de hash da política
    • getSigPolicyId

      public String getSigPolicyId()
      Obtém o OID da política de assinatura.
      Returns:
      O identificador da política
    • getSigPolicyUrl

      public String getSigPolicyUrl()
      Obtém a URL que indica onde a politica de assinatura pode ser encontrada.
      Returns:
      A URL da política
    • getDigestMethodId

      public String getDigestMethodId()
      Obtém o OID do algoritmo de resumo criptográfico usado para gerar o resumo criptográfico da assinatura.
      Returns:
      O algoritmo de cálculo de hash
    • isSigned

      public boolean isSigned()
      Informa se o atributo é assinado.
      Specified by:
      isSigned in interface SignatureAttribute<Element>
      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
    • hasImpliedPolicy

      public boolean hasImpliedPolicy()
    • isUnique

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