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 StringERROR_READING_EXPECTED_VALUEstatic StringIDENTIFIERstatic StringINCORRECT_BYTE_RANGEstatic StringINCORRECT_DICTIONARY_ENTRYstatic StringMISSING_DICTIONARY_ENTRYFields inherited from class br.ufsc.labsec.signature.conformanceVerifier.cades.attributes.TimeStamp
contentInfo, index -
Constructor Summary
Constructors Constructor Description DocTimeStampAttribute(PadesVerifier verifier, Integer index)Construtor para verificação do carimbo de tempoDocTimeStampAttribute(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature timestamp, org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface signatureInterface)Construtor para criação do carimbo de tempo -
Method Summary
Modifier and Type Method Description voidevaluator(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 atributoObjectgetEncoded()Retorna o atributo codificadoStringgetIdentifier()Obtém o identificador do atributoTimegetTimeReference()Obtém a data do carimbo do tempoprotected booleanisAttributeHashValid(String hashAlgorithm, byte[] expected)booleanisSigned()Informa se o atributo é assinado.booleanisUnique()Verifica se o atributo deve ter apenas uma instância na assinaturastatic booleansignatureIsTimestamp(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Reconhece se o dicionário da PDSignature é de um DocTimeStampvoidvalidate()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).voidvalidate(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, removeUnsignedAttribute, replaceUnsignedAttributeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 para verificação do carimbo de tempo- Parameters:
verifier-Verifierde assinatura PAdESverifier- O carimbo de tempoindex- Índice do carimbo a ser verificado
-
DocTimeStampAttribute
public DocTimeStampAttribute(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature timestamp, org.apache.pdfbox.pdmodel.interactive.digitalsignature.SignatureInterface signatureInterface)Construtor para criação do carimbo de tempo- Parameters:
timestamp- O dicionário do carimbo de temposignatureInterface- ASignatureInterfacepara criação do carimbo de tempo
-
-
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:
validatein classTimeStamp<Object>- Parameters:
report- O relatório de verificação do carimbo- Throws:
SignatureAttributeExceptionCertificateAttributeException
-
getAttributeHash
protected byte[] getAttributeHash(String hashAlgorithmId) throws PbadException, NoSuchAlgorithmExceptionDescription copied from class:TimeStampCalcula o hash do atributo- Specified by:
getAttributeHashin 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:
isAttributeHashValidin classTimeStamp<Object>
-
getIdentifier
Description copied from class:TimeStampObtém o identificador do atributo- Specified by:
getIdentifierin interfaceSignatureAttribute<Object>- Specified by:
getIdentifierin classTimeStamp<Object>- Returns:
- O identificador do atributo
-
validate
Description copied from interface:SignatureAttributeValida 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:SignatureAttributeRetorna o atributo codificado- Returns:
- O atributo no formato em que foi parametrizado a classe
- Throws:
SignatureAttributeException
-
isSigned
public boolean isSigned()Description copied from interface:SignatureAttributeInforma se o atributo é assinado.- Returns:
- Indica se o atributo é assinado
-
isUnique
public boolean isUnique()Description copied from interface:SignatureAttributeVerifica se o atributo deve ter apenas uma instância na assinatura- Returns:
- Indica se o atributo deve ter apenas uma instância na assinatura
-
getTimeReference
Description copied from class:TimeStampObtém a data do carimbo do tempo- Overrides:
getTimeReferencein classTimeStamp<Object>- Returns:
- A data do carimbo do tempo
-
evaluator
-