Class POEExtraction
java.lang.Object
eu.europa.esig.dss.validation.process.vpfswatsp.POEExtraction
5.6.2.3 POE extraction
5.6.2.3.1 Description
This building block derives POEs from a given time-stamp. Assumptions:
- The time-stamp validation has returned PASSED.
- The cryptographic hash function used in the time-stamp (messageImprint.hashAlgorithm) is considered
reliable at current time or, if this is not the case, a PoE for that time-stamp exists for a time when the hash
function has still been considered reliable.
In the simple case, a time-stamp gives a POE for each data item protected by the time-stamp at the generation
date/time of the token.
EXAMPLE: A time-stamp on the signature value gives a POE of the signature value at the generation date/time
of the time-stamp.
A time-stamp can also give an indirect POE when it is computed on the hash value of some data instead of the data
itself. A POE for DATA at T1 can be derived from the time-stamp:
- If there is a POE for h(DATA) at a date T1,where h is a cryptographic hash function and DATA is some data
(e.g. a certificate),
- if h is asserted in the cryptographic constraints to be trusted until at least a date T after T1; and
- if there is a POE for DATA at a date T after T1.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSignaturePOE(SignatureWrapper signature, POE proofOfExistence) Adds a specific POE for a signature wrappervoidcollectAllPOE(Collection<TimestampWrapper> timestamps) Extracts all POEs from the provided collection of timestampsvoidextractPOE(EvidenceRecordWrapper evidenceRecord) Extracts POE for all objects covered by an evidence recordvoidextractPOE(TimestampWrapper timestamp) Extracts POE for all covered objects from a single timestamp wrappervoidextractPOE(List<XmlTimestampedObject> timestampedObjects, Date poeTime) Extracts POE for given timestamped objectsgetLowestPOE(String tokenId) Returns the lowest POE for the requested token NOTE: can return NULL if POE is not found (init(controlTime) method must be executed before)getLowestPOETime(String tokenId) Returns the lowest POE time for the requested tokenvoidinit(DiagnosticData diagnosticData, Date controlTime) Instantiates a controlTime POE for all used tokensbooleanisPOEExistInRange(String tokenId, Date notBefore, Date notAfter) Checks if a POE exists for the token with the given Id within the validity range betweennotBeforeandnotAfterinclusivelybooleanisPOEExists(String tokenId, Date controlTime) Returns true if there is a POE exists for a given id at (or before) the control time.
-
Constructor Details
-
POEExtraction
public POEExtraction()Default constructor initializing an empty map
-
-
Method Details
-
init
Instantiates a controlTime POE for all used tokens- Parameters:
diagnosticData-DiagnosticDatacontaining all tokens to initialize the POE forcontrolTime-Datedefining the time of POE
-
collectAllPOE
Extracts all POEs from the provided collection of timestamps- Parameters:
timestamps- a collection ofTimestampWrappers
-
extractPOE
Extracts POE for all covered objects from a single timestamp wrapper- Parameters:
timestamp-TimestampWrapperto extract POE from
-
extractPOE
Extracts POE for all objects covered by an evidence record- Parameters:
evidenceRecord-EvidenceRecordWrapper
-
extractPOE
Extracts POE for given timestamped objects- Parameters:
timestampedObjects- a list ofXmlTimestampedObjectto get POE forpoeTime- to be provided for timestamped objects
-
addSignaturePOE
Adds a specific POE for a signature wrapper- Parameters:
signature-SignatureWrapperproofOfExistence-POE
-
isPOEExists
-
isPOEExistInRange
Checks if a POE exists for the token with the given Id within the validity range betweennotBeforeandnotAfterinclusively -
getLowestPOETime
-
getLowestPOE
-