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 void
evaluator(org.apache.pdfbox.cos.COSDictionary dictionary, org.apache.pdfbox.cos.COSName name, org.bouncycastle.asn1.ASN1String value, List<Exception> error)
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface br.ufsc.labsec.signature.conformanceVerifier.common.SignatureAttribute
getValue
-
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
-
evaluator
-