Class DocTimeStampAttribute
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.TimeStamp<Object>
br.ufsc.labsec.signature.conformanceVerifier.pades.attributes.DocTimeStampAttribute
- All Implemented Interfaces:
SignatureAttribute<Object>
,Comparable<TimeStamp<Object>>
public class DocTimeStampAttribute extends TimeStamp<Object>
Esta classe representa o atributo de carimbo de tempo de uma assinatura PAdES.
-
Field Summary
Fields Modifier and Type Field Description static String
ERROR_READING_EXPECTED_VALUE
static String
IDENTIFIER
static String
INCORRECT_BYTE_RANGE
static String
INCORRECT_DICTIONARY_ENTRY
static String
MISSING_DICTIONARY_ENTRY
Fields inherited from class br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.TimeStamp
contentInfo
-
Constructor Summary
Constructors Constructor Description DocTimeStampAttribute(PadesVerifier verifier, Integer index)
ConstrutorDocTimeStampAttribute(PadesVerifier verifier, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature docTimeStampDictionary, String vriHash)
Construtor -
Method Summary
Modifier and Type Method Description protected byte[]
getAttributeHash(String hashAlgorithmId)
Calcula o hash do atributoObject
getEncoded()
Retorna o atributo codificadoString
getIdentifier()
Obtém o identificador do atributoprotected boolean
isAttributeHashValid(String hashAlgorithm, byte[] expected)
boolean
isSigned()
Informa se o atributo é assinado.boolean
isUnique()
Verifica se o atributo deve ter apenas uma instância na assinaturastatic boolean
signatureIsTimestamp(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)
Reconhece se o dicionário da PDSignature é de um DocTimeStampvoid
validate()
Valida o atributo de acordo com suas regras específicas (ver normas da RFC e do ETSI do respectivo tipo de assinatura para cada atributo).void
validate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp)
Valida o atributoMethods inherited from class br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.TimeStamp
addUnsignedAttribute, buildTimeStampToken, compareTo, contentInfoToSignatureContainer, getAttributeList, getContentInfo, getEncodedAttribute, getEncodedAttribute, getTimeReference, removeUnsignedAttribute, replaceUnsignedAttribute
-
Field Details
-
IDENTIFIER
- See Also:
- Constant Field Values
-
MISSING_DICTIONARY_ENTRY
- See Also:
- Constant Field Values
-
INCORRECT_DICTIONARY_ENTRY
- See Also:
- Constant Field Values
-
ERROR_READING_EXPECTED_VALUE
- See Also:
- Constant Field Values
-
INCORRECT_BYTE_RANGE
-
-
Constructor Details
-
DocTimeStampAttribute
Construtor- Parameters:
verifier
-Verifier
de assinatura PAdESverifier
- O carimbo de tempoindex
- Índice do carimbo a ser verificado
-
DocTimeStampAttribute
public DocTimeStampAttribute(PadesVerifier verifier, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature docTimeStampDictionary, String vriHash)Construtor- Parameters:
verifier
-Verifier
de assinatura PAdESdocTimeStampDictionary
- O carimbo de tempovriHash
- Valor de resumo criptográfico do carimbo
-
-
Method Details
-
signatureIsTimestamp
public static boolean signatureIsTimestamp(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Reconhece se o dicionário da PDSignature é de um DocTimeStamp -
validate
public void validate(TimeStampReport report, boolean containsRefsTimestamp, boolean containsArchiveTimestamp) throws SignatureAttributeException, CertificateAttributeExceptionValida o atributo- Specified by:
validate
in classTimeStamp<Object>
- Parameters:
report
- O relatório de verificação do carimbo- Throws:
SignatureAttributeException
CertificateAttributeException
-
getAttributeHash
protected byte[] getAttributeHash(String hashAlgorithmId) throws PbadException, NoSuchAlgorithmExceptionDescription copied from class:TimeStamp
Calcula o hash do atributo- Specified by:
getAttributeHash
in classTimeStamp<Object>
- Parameters:
hashAlgorithmId
- O algoritmo utilizado- Returns:
- O valor de hash do atributo
- Throws:
PbadException
- Exceção em caso de erro durante o cálculoNoSuchAlgorithmException
-
isAttributeHashValid
- Specified by:
isAttributeHashValid
in classTimeStamp<Object>
-
getIdentifier
Description copied from class:TimeStamp
Obtém o identificador do atributo- Specified by:
getIdentifier
in interfaceSignatureAttribute<Object>
- Specified by:
getIdentifier
in classTimeStamp<Object>
- Returns:
- O identificador do atributo
-
validate
Description copied from interface:SignatureAttribute
Valida o atributo de acordo com suas regras específicas (ver normas da RFC e do ETSI do respectivo tipo de assinatura para cada atributo). -
getEncoded
Description copied from interface:SignatureAttribute
Retorna o atributo codificado- Returns:
- O atributo no formato em que foi parametrizado a classe
- Throws:
SignatureAttributeException
-
isSigned
public boolean isSigned()Description copied from interface:SignatureAttribute
Informa se o atributo é assinado.- Returns:
- Indica se o atributo é assinado
-
isUnique
public boolean isUnique()Description copied from interface:SignatureAttribute
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
-