java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.attributes.unsigned.CompleteRevocationRefs
All Implemented Interfaces:
SignatureAttribute<Element>, Cloneable, CRLSelector, org.bouncycastle.util.Selector<org.bouncycastle.asn1.ocsp.BasicOCSPResponse>

public class CompleteRevocationRefs
extends Object
implements SignatureAttribute<Element>, CRLSelector, org.bouncycastle.util.Selector<org.bouncycastle.asn1.ocsp.BasicOCSPResponse>
Este atributo deve conter apenas todas LCRs ou respostas OCSP do caminho de certificação do assinante. Somente uma instância deste atributo é permitida na assinatura. Esquema do atributo CompleteRevocationRefs retirado do ETSI TS 101 903: <xsd:element name="CompleteRevocationRefs" type="CompleteRevocationRefsType"/> <xs:complexType name="CompleteRevocationRefsType"> <xs:sequence> <xs:element name="CRLRefs" type="CRLRefsType" minOccurs="0"/> <xs:element name="OCSPRefs" type="OCSPRefsType" minOccurs="0"/> <xs:element name="OtherRefs" type="OtherCertStatusRefsType" minOccurs="0"/> </xs:sequence> <xs:attribute name="Id" type="xs:ID" use="optional"/> </xs:complexType>
  • Field Details

  • Constructor Details

    • CompleteRevocationRefs

      public CompleteRevocationRefs​(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeException
      Construtor usado para validar o atributo
      Parameters:
      signatureVerifier - Usado para criar e verificar o atributo
      index - Índice usado para selecionar o atributo
      Throws:
      SignatureAttributeException
    • CompleteRevocationRefs

      public CompleteRevocationRefs​(Element genericEncoding) throws SignatureAttributeException
      Construtor usado para decodificar um atributo já existente. Útil na validação para selecionar as LCRs ou respostas OCSP relevantes
      Parameters:
      genericEncoding - O atributo codificado
      Throws:
      SignatureAttributeException - Caso ocorra algum erro relativo aos atributos da assinatura
    • CompleteRevocationRefs

      public CompleteRevocationRefs​(Collection<CRL> crls, Collection<org.bouncycastle.asn1.ocsp.BasicOCSPResponse> basicOCSPResponses, String digestAlgorithm) throws SignatureAttributeException
      Cria o atributo com os dados de revogação tanto no formato de LCRs quanto de respostas OCSP.
      Parameters:
      crls - Lista de CRLs do caminho de certificação
      basicOCSPResponses - Lista de respostas OCSPs para o caminho de certificação
      digestAlgorithm - Identificador do algoritmo de hash utilizado sobre as referências
      Throws:
      SignatureAttributeException - Caso ocorra algum erro relativo aos atributos da assinatura
    • CompleteRevocationRefs

      public CompleteRevocationRefs​(List<CRL> crls, String digestAlgorithm) throws SignatureAttributeException
      Cria o atributo que irá referênciar as LCRs passadas na lista. Nas referências será usado um algoritmo de hash, o identificador de qual o algoritmo a ser usado deve ser passado através do digestAlgorithm
      Parameters:
      crls - Lista de CRLs do caminho de certificação
      digestAlgorithm - Identificador do algoritmo de hash utilizado sobre as referências
      Throws:
      SignatureAttributeException - Caso ocorra algum erro relativo aos atributos da assinatura
    • CompleteRevocationRefs

      public CompleteRevocationRefs​(String digestAlgorithm, List<org.bouncycastle.asn1.ocsp.BasicOCSPResponse> basicOCSPResponses) throws SignatureAttributeException
      Cria o atributo que irá referênciar as respostas OCSP passadas na lista. Nas referências será usado um algoritmo de hash, o identificador de qual o algoritmo a ser usado deve ser passado através do digestAlgorithm
      Parameters:
      digestAlgorithm - Identificador do algoritmo de hash utilizado sobre as referências
      basicOCSPResponses - Lista de respostas OCSPs para o caminho de certificação
      Throws:
      SignatureAttributeException - Caso ocorra algum erro relativo aos atributos da assinatura
  • 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
    • isSigned

      public boolean isSigned()
      Informa se o atributo é assinado.
      Specified by:
      isSigned in interface SignatureAttribute<Element>
      Returns:
      Indica se o atributo é assinado
    • match

      public boolean match​(CRL crl)
      Verifica se a CRL está presente ou não no atributo
      Specified by:
      match in interface CRLSelector
      Parameters:
      crl - A CRL
      Returns:
      Indica se a CRL está presente no atributo
      Throws:
      SignatureAttributeException
    • match

      public static boolean match​(CRL crl, CRLRefs ref)
    • match

      public boolean match​(org.bouncycastle.asn1.ocsp.BasicOCSPResponse response)
      Verifica se a resposta OCSP está presente ou não no atributo
      Specified by:
      match in interface org.bouncycastle.util.Selector<org.bouncycastle.asn1.ocsp.BasicOCSPResponse>
      Parameters:
      response - A resposta OCSP
      Returns:
      Indica se a resposta OCSP está presente no atributo
      Throws:
      SignatureAttributeException
    • match

      public static boolean match​(org.bouncycastle.asn1.ocsp.BasicOCSPResponse ocsp, OCSPRefs ref)
    • clone

      public CompleteRevocationRefs clone()
      Retorna um objeto identico à instância para qual a mensagem foi enviada. As alterações feitas no objeto retornado não afetam a instância antes mencionada.
      Specified by:
      clone in interface CRLSelector
      Specified by:
      clone in interface org.bouncycastle.util.Selector<org.bouncycastle.asn1.ocsp.BasicOCSPResponse>
      Overrides:
      clone in class Object
    • getCrlRefs

      public List<CRLRefs> getCrlRefs()
      Retorna a lista de referências CRL
      Returns:
      A lista de referências de CRL
    • getOcspRefs

      public List<OCSPRefs> getOcspRefs()
      Retorna a lista de referências OCSP
      Returns:
      A lista de referências OCSP
    • 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