diff --git a/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/RevocationState.kt b/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/RevocationState.kt index d97d175b..9557a00f 100644 --- a/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/RevocationState.kt +++ b/wot-dijkstra/src/main/kotlin/org/pgpainless/wot/dijkstra/sq/RevocationState.kt @@ -5,6 +5,7 @@ package org.pgpainless.wot.dijkstra.sq import java.util.* +import kotlin.math.abs /** * Revocation State of a certificate. @@ -48,7 +49,15 @@ class RevocationState private constructor(val type: Type, val timestamp: Date?) fun isNotRevoked(): Boolean = type == Type.None fun isEffective(referenceTime: ReferenceTime): Boolean { - return isHardRevocation() || - (isSoftRevocation() && referenceTime.timestamp.after(timestamp)) + if (isHardRevocation()) { + return true + } + if (isSoftRevocation()) { + if (referenceTime.timestamp.after(timestamp)) { + return true + } + return abs(referenceTime.timestamp.time / 1000 - timestamp!!.time / 1000) == 0L // less than one second diff + } + return false } } \ No newline at end of file