java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.signaturePolicy.Lpa

public class Lpa
extends Object
Esta classe representa uma Lista de Políticas de Assinatura (LPA)
  • Constructor Details

  • Method Details

    • setSignatureBytes

      public void setSignatureBytes​(String url)
    • setSignatureBytes

      public void setSignatureBytes​(byte[] signature)
      Atribue os bytes de uma assinatura detached da LPA
      Parameters:
      signature - Stream de bytes da assinatura
    • getSignatureBytes

      public byte[] getSignatureBytes()
      Retorna os bytes de uma assinatura detached da LPA
      Returns:
      Bytes array da assinatura
    • readLpa

      public void readLpa​(String lpaUrl, String detachedSignatureUrl) throws LpaException, IOException
      Faz download da LPA e inicializa os atributos
      Parameters:
      lpaUrl - A URL a ser feito o download
      Throws:
      LpaException - Exceção em caso de erro no arquivo obtido da URL
      IOException
    • readLpa

      public void readLpa​(InputStream lpa, InputStream detachedSignature) throws LpaException, IOException
      Inicializa os atributos da LPA a partir do conteúdo em stream de dados.
      Parameters:
      lpa - stream da LPA
      detachedSignature - Stream da assinatura detached da LPA
      Throws:
      LpaException - Exceção em caso de erro nos dados lidos
      IOException
    • readLpa

      public void readLpa​(InputStream lpa) throws LpaException, IOException
      Inicializa os atributos da LPA a partir do conteúdo em stream de dados.
      Parameters:
      lpa - stream da LPA
      Throws:
      LpaException - Exceção em caso de erro nos dados lidos
      IOException
    • readLpa

      public void readLpa​(String url) throws LpaException, IOException
      Faz download da LPA e inicializa os atributos
      Parameters:
      url - A URL a ser feito o download
      Throws:
      LpaException - Exceção em caso de erro no arquivo obtido da URL
      IOException
    • readLpa

      public Lpa readLpa​(byte[] lpa) throws LpaException, IOException
      Inicializa os atributos da LPA a partir do conteúdo em stream de dados.
      Throws:
      LpaException - Exceção em caso de erro nos dados lidos
      IOException
    • getRemoteFile

      public byte[] getRemoteFile​(String url)
    • getRemoteFile

      public byte[] getRemoteFile​(String url, boolean forceDownload)
    • getSignaturePolicyFromFileXML

      Retorna as informações de uma PA XML
      Parameters:
      policyStream - stream de dados da política XML
      Returns:
      SignaturePolicy política de assinatura
      Throws:
      ParserConfigurationException
      SAXException
      CertificateException
      ParseException
      IOException
    • wasPolicyObtainedOnline

      public boolean wasPolicyObtainedOnline​(String signaturePolicyIdentifier)
    • getPolicyInfo

      public PolicyInfo getPolicyInfo​(String signaturePolicyIdentifier)
    • getPolicyInfo

      public List<PolicyInfo> getPolicyInfo()
    • getSignaturePolicy

      public SignaturePolicy getSignaturePolicy​(String signaturePolicyIdentifier) throws LpaException
      Retorna a política de assinatura correspondente ao identificador dado
      Parameters:
      signaturePolicyIdentifier - O identificador da política
      Returns:
      A política de assinatura
      Throws:
      LpaException - Exceção em caso de erro na leitura do arquivo da PA
    • addPolicyInfo

      public void addPolicyInfo​(String version, String[] signingPeriod, String policyOid, String artifactPolicyUri, String artifactPolicyDigestMethod, String artifactPolicyDigest, Date revocationDate)
      Adiciona as informações de uma política às listas e mapas
      Parameters:
      version - Versão da política
      signingPeriod - Período de validade da política
      policyOid - O identificador da política
      artifactPolicyUri - A URI da política
      artifactPolicyDigestMethod - O algoritmo de hash da política
      artifactPolicyDigest - O valor de hash da política
      revocationDate - A data de revogação da política
    • getNextUpdate

      public Date getNextUpdate()
      Retorna a data de próxima atualização da LPA
      Returns:
      A data de próxima atualização da LPA
    • setNextUpdate

      public void setNextUpdate​(String nextUpdate) throws LpaException
      Atribue a data de próxima atualização da LPA
      Parameters:
      nextUpdate - A nova data de atualização
      Throws:
      LpaException - Exceção em caso de erro na formatação da data
    • isXml

      public boolean isXml()
      Informa se a LPA é XML
      Returns:
      Indica se a LPA é XML
    • isPaValidOnLpa

      public Lpa.PolicyValidity isPaValidOnLpa​(SignaturePolicyInstance signaturePolicy)
      Verifica se uma PA é válida
      Returns:
      Indica se a PA é válida
    • isRevoked

      public boolean isRevoked​(String policyOid)
      Verifica se a PA foi revogada
      Parameters:
      policyOid - O identificador da política
      Returns:
      Indica se a PA foi revogada
    • getLpaBytes

      public byte[] getLpaBytes()
    • setLpa

      public void setLpa​(byte[] lpaBytes)
      Atribue os bytes da LPA
      Parameters:
      lpaBytes - Os bytes da LPA