Interface GenericXadesSignature

All Superinterfaces:
Signature<Element>, SignatureObject
All Known Subinterfaces:
CounterSignatureInterface
All Known Implementing Classes:
CounterSignature, XadesSignature

public interface GenericXadesSignature
extends Signature<Element>
Esta interface representa uma assinatura digital. Esta interface é estendida pela classe XadesSignature. De acordo com o DOC-ICP-15 - 6.1.3, uma assinatura digital é um tipo de assinatura eletrônica que utiliza um par de chaves criptográficas associado a um certificado digital.
  • Method Details

    • getSignaturePolicyIdentifier

      String getSignaturePolicyIdentifier​(SignaturePolicyInterface policyInterface)
      Obtém o identificador da PA (Política de Assinatura) utilizada nesta assinatura
      Returns:
      identificador da PA utilizada por esta assinatura
    • getSignaturePolicyUri

      String getSignaturePolicyUri​(SignaturePolicyInterface policyIdentifier)
      Obtem a URI da LPA que contém a Política de Assinatura da assinatura
      Returns:
      A URI da LPA
    • getSignaturePolicyHashValue

      String getSignaturePolicyHashValue​(SignaturePolicyInterface policyIdentifier)
      Retorna o valor do resumo criptográfico da Política de Assinatura
      Returns:
      O valor do resumo criptográfico da PA
    • getEncodedAttribute

      Element getEncodedAttribute​(String attributeId) throws SignatureAttributeNotFoundException
      Obtém a codificação do primeiro atributo com este identificador na assinatura. Se o atributo for do tipo CAdES, o attribute será um OID, se for do tipo XAdES, será o nome de uma tag
      Parameters:
      attributeId - String de identificação do atributo
      Returns:
      A codificação específica do atributo
      Throws:
      SignatureAttributeNotFoundException
    • verify

      boolean verify​(X509Certificate signerCertificate, SignatureReport sigReport, boolean isComplete, boolean isIcpBr) throws VerificationException
      Verifica a integridade da assinatura
      Parameters:
      signerCertificate - O certificado do assinante
      isComplete - Se o relatório deve ser completo ou simples
      isIcpBr - Se a cadeia de certificados é Icp-BR para fazer ExtensionsReport
      Returns:
      true , se a integridade da assinatura estiver válida
      Throws:
      VerificationException
    • isExternalSignedData

      boolean isExternalSignedData()
      Verifica se o dado assinado é externo à assinatura
      Returns:
      true , se há algum dado assinado que é externo a assinatura
    • getSignatureValueHash

      byte[] getSignatureValueHash​(String algorithm) throws PbadException, NoSuchAlgorithmException
      Utiliza o algoritmo indicado para realizar o resumo criptográfico da assinatura
      Parameters:
      algorithm - O identificador do algoritmo de resumo criptográfico
      Returns:
      Os bytes do resumo criptográfico da assinatura
      Throws:
      PbadException - Exceção em caso de algoritmo inválido
      NoSuchAlgorithmException
    • getCounterSignature

      CounterSignatureInterface getCounterSignature​(X509Certificate signerCertificate) throws CounterSignatureException
      Obtém a contra assinatura do detentor do certificado passado como parâmetro
      Parameters:
      signerCertificate - O certificado do contra assinante que se deseja obter a contra assinatura
      Returns:
      A contra assinatura
      Throws:
      CounterSignatureException
    • getCounterSignatures

      List<CounterSignatureInterface> getCounterSignatures()
      Retorna todas as contra assinaturas anexadas a uma assinatura, se não existir contra assinaturas é retornado null
      Returns:
      A lista de contra assinaturas
    • getFormat

      SignatureFormat getFormat()
      Obtém o formato da assinatura
      Returns:
      O formato da assinatura
    • getArchiveTimeStampHashValue

      byte[] getArchiveTimeStampHashValue​(String hashAlgorithmOid) throws PbadException
      Utiliza o algoritmo indicado para realizar o resumo criptográfico do carimbo de tempo de arquivamento.
      Parameters:
      hashAlgorithmOid - O OID do algoritmo a ser utilizado para o resumo
      Returns:
      Os bytes do resumo criptográfico
      Throws:
      PbadException
    • getArchiveTimeStampHashValue

      byte[] getArchiveTimeStampHashValue​(String hashAlgorithm, Time timeReference) throws PbadException
      Utiliza o algoritmo indicado para realizar o resumo criptográfico do carimbo de tempo de arquivamento.
      Parameters:
      hashAlgorithm - O algoritmo a ser utilizado para o resumo
      timeReference - A data de referência do carimbo
      Returns:
      Os bytes do resumo criptográfico
      Throws:
      PbadException
    • getContainer

      SignatureContainer getContainer()
      Retorna o contêiner de assinatura
      Returns:
      O contêiner de assinatura