java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.unsigned.AbstractASN1RevocationReferences
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.unsigned.IdAaEtsAttrRevocationRefs
All Implemented Interfaces:
SignatureAttribute<org.bouncycastle.asn1.cms.Attribute>, Cloneable, org.bouncycastle.util.Selector

public class IdAaEtsAttrRevocationRefs
extends AbstractASN1RevocationReferences
O atributo IdAaEtsAttrRevocationRefs guarda referências de todas as CRLs ou respostas OCSPs usadas na validação do certificado de atributo.

Oid e esquema do atributo attribute-revocation-references retirado do documento ETSI TS 101 733 V1.8.1

 
 id-aa-ets-attrRevocationRefs OBJECT IDENTIFIER ::= { iso(1) member-body(2)
 us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) id-aa(2) 45}
 
 AttributeRevocationRefs ::= SEQUENCE OF CrlOcspRef
 
 CrlOcspRef ::= SEQUENCE {
        crlids   [0] CRLListID OPTIONAL,
        ocspids  [1] OcspListID OPTIONAL,
        otherRev [2] OtherRevRefs OPTIONAL
 }
 
 CRLListID ::= SEQUENCE {
        crls     SEQUENCE OF CrlValidatedID }
 
 CrlValidatedID ::= SEQUENCE {
        crlHash           OtherHash,
        crlIdentifier     CrlIdentifier OPTIONAL }
 
 OtherHash ::= CHOICE {
        sha1Hash        OtherHashValue, -- This contains a SHA-1 hash
        otherHash       OtherHashAlgAndValue}
 
 OtherHashAlgAndValue ::= SEQUENCE {
        hashAlgorithm   AlgorithmIdentifier,
        hashValue       OtherHashValue }
 
 OtherHashValue ::= OCTET STRING
 
 CrlIdentifier ::= SEQUENCE {
        crlissuer          Name,
        crlIssuedTime      UTCTime,
        crlNumber          INTEGER OPTIONAL }
 
 OcspListID ::= SEQUENCE {
        ocspResponses     SEQUENCE OF OcspResponsesID }
 
 OcspResponsesID ::= SEQUENCE {
        ocspIdentifier     OcspIdentifier,
        ocspRepHash        OtherHash OPTIONAL }
 
 OcspIdentifier ::= SEQUENCE {
        ocspResponderID     ResponderID, -- As in OCSP response data
        producedAt          GeneralizedTime -- As in OCSP response data
 }
 
 OtherRevRefs ::= SEQUENCE {
        otherRevRefType     OtherRevRefType,
        otherRevRefs        ANY DEFINED BY otherRevRefType
 }
 
 OtherRevRefType ::= OBJECT IDENTIFIER
 
  • Field Details

  • Constructor Details

    • IdAaEtsAttrRevocationRefs

      public IdAaEtsAttrRevocationRefs​(AbstractVerifier signatureVerifier, Integer index) throws SignatureAttributeException

      Deve-se utilizar este construtor no momento de validação do atributo. O parâmetro index deve ser usado no caso em que há mais de um atributo do mesmo tipo. Caso contrário, ele deve ser zero.

      Parameters:
      signatureVerifier - Usado para criar e verificar o atributo
      index - Índice usado para selecionar o atributo
      Throws:
      SignatureAttributeException
    • IdAaEtsAttrRevocationRefs

      public IdAaEtsAttrRevocationRefs​(List<Object> crlList, org.bouncycastle.asn1.x509.AlgorithmIdentifier digestIdentifier) throws SignatureAttributeException
      Cria um atributo que irá referenciar as LCRs passadas na lista. Na referência será usado um algoritmo de hash, o identificador do mesmo deve ser passado para digestAlgorithm
      Parameters:
      crlList - A lista de CRLs
      digestIdentifier - O identificador do algoritmo de resumo criptográfico
      Throws:
      SignatureAttributeException
    • IdAaEtsAttrRevocationRefs

      public IdAaEtsAttrRevocationRefs​(List<Object> crlList, org.bouncycastle.asn1.ASN1ObjectIdentifier digestIdentifier) throws SignatureAttributeException
      Cria um atributo que irá referenciar as LCRs passadas na lista. Na referência será usado um algoritmo de hash, o identificador do mesmo deve ser passado para digestAlgorithm
      Parameters:
      crlList - A lista de CRLs
      digestIdentifier - O identificador do algoritmo de resumo criptográfico
      Throws:
      SignatureAttributeException
    • IdAaEtsAttrRevocationRefs

      public IdAaEtsAttrRevocationRefs​(List<Object> crlsAndOcsps, String algorithm) throws SignatureAttributeException
      Cria um atributo que irá referenciar as LCRs passadas na lista. Na referência será usado um algoritmo de hash, o identificador do mesmo deve ser passado para digestAlgorithm
      Parameters:
      crlsAndOcsps - A lista de CRLs e OCSPs
      algorithm - O algoritmo de hash
      Throws:
      SignatureAttributeException
    • IdAaEtsAttrRevocationRefs

      public IdAaEtsAttrRevocationRefs​(org.bouncycastle.asn1.cms.Attribute attributeEncoded) throws SignatureAttributeException
      Constrói um objeto IdAaEtsAttrRevocationRefs
      Parameters:
      attributeEncoded - O atributo codificado
      Throws:
      SignatureAttributeException
  • Method Details

    • getIdentifier

      public String getIdentifier()
      Retorna o identificador do atributo
      Returns:
      O identificador do atributo
    • validate

      public void validate() throws SignatureAttributeException
      Valida o atributo de acordo com suas regras específicas
      Throws:
      SignatureAttributeException
    • isSigned

      public boolean isSigned()
      Informa se o atributo é assinado
      Returns:
      Indica se o atributo é assinado
    • isUnique

      public boolean isUnique()
      Verifica se o atributo deve ter apenas uma instância na assinatura
      Returns:
      Indica se o atributo deve ter apenas uma instância na assinatura