java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.signaturePolicy.lpa.Lpa
All Implemented Interfaces:
Cacheable, DetachedCacheable, org.bouncycastle.util.Encodable
Direct Known Subclasses:
Asn1Lpa, XmlLpa

public abstract class Lpa
extends Object
implements DetachedCacheable
Esta classe representa uma LPA (Lista de Políticas de Assinatura), que é um documento que contém informações sobre as políticas de assinatura

detalhes de estrutura e decodificação estão contidos em Asn1Lpa e XmlLpa

  • Field Details

    • name

      protected String name
    • sigName

      protected String sigName
    • version

      protected int version
      Versão da LPA. Podendo ser, por enquanto, 1 ou 2.
    • bytes

      protected byte[] bytes
    • nextUpdate

      protected Date nextUpdate
    • policies

      protected Map<String,​PolicyInfo> policies
    • signatureContainer

      protected SignatureContainer<?> signatureContainer
    • report

      protected LpaReport report
  • Constructor Details

    • Lpa

      public Lpa()
  • Method Details

    • decodeSignature

      protected abstract void decodeSignature​(byte[] signatureBytes) throws LpaException
      Decodifica a assinatura da LPA, conforma ao seu tipo, XML ou ASN.1
      Parameters:
      signatureBytes - Os bytes da assinatura
      Throws:
      LpaException
    • getCacheKey

      public String getCacheKey()
      Description copied from interface: Cacheable
      Retorna a chave que o objeto da cache está sendo identificado no mapeamento para o objeto em disco e em memória.
      Specified by:
      getCacheKey in interface Cacheable
      Returns:
      A chave do objeto
    • getSigFilename

      public String getSigFilename()
      Specified by:
      getSigFilename in interface DetachedCacheable
    • getEncoded

      public byte[] getEncoded()
      Specified by:
      getEncoded in interface org.bouncycastle.util.Encodable
    • getDetachedSignature

      public SignatureContainer<?> getDetachedSignature()
      Specified by:
      getDetachedSignature in interface DetachedCacheable
    • getNextUpdate

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

      public LpaReport getReport()
      Retorna o relatório da LPA
      Returns:
      O relatório da LPA
    • getPolicyInfo

      public PolicyInfo getPolicyInfo​(String policyOid)
      Retorna a referência de uma política de assinatura
      Parameters:
      policyOid - O OID da política
      Returns:
      A referência da política
    • getPoliciesInfos

      public List<PolicyInfo> getPoliciesInfos()
      Retorna todas as referências de políticas de assinatura
      Returns:
      As referências
    • getSignatureBytes

      public byte[] getSignatureBytes() throws EncodingException
      Retorna os bytes da assinatura da LPA
      Returns:
      Os bytes
      Throws:
      EncodingException
    • setReport

      public void setReport​(LpaReport report)
      Atribuí um relatório validado em LpaValidator à LPA
    • setName

      protected void setName​(String lpaName)
      Atribui um nome à LPA, helper utilizado durante a decodificação via URL fromURL(String, String)
      Parameters:
      lpaName - O nome da LPA
    • setSignatureName

      protected void setSignatureName​(String sigName)
    • fromBytes

      public static Lpa fromBytes​(byte[] encoded) throws LpaException
      Cria uma LPA a partir de bytes do arquivo
      Parameters:
      encoded - Os bytes da LPA
      Returns:
      A LPA criada
      Throws:
      LpaException - Caso não seja possível decodificar a LPA
    • fromBytes

      public static Lpa fromBytes​(byte[] encoded, byte[] sig) throws LpaException
      Cria uma LPA a partir dos bytes do arquivo e da assinatura destacada
      Parameters:
      encoded - Os bytes da LPA
      sig - Os bytes da assinatura
      Returns:
      A LPA criada
      Throws:
      LpaException - Caso não seja possível decodificar a LPA
    • fromURL

      public static Lpa fromURL​(String url, String sigUrl) throws LpaException
      Cria uma LPA a partir das URLs do conteúdo e da assinatura destacada
      Parameters:
      url - A URL da LPA
      Returns:
      A LPA criada
      Throws:
      LpaException - Caso não seja possível obter a LPA via URL