pgpainless/sequoia-wot-vectors/src/testFixtures/kotlin/org/sequoia_pgp/wot/vectors/CertExpiredVectors.kt

69 lines
1.9 KiB
Kotlin

// SPDX-FileCopyrightText: 2023 Neal H. Walfield <neal@pep.foundation>, Paul Schaub <vanitasvitae@fsfe.org>
//
// SPDX-License-Identifier: BSD-3-Clause
package org.sequoia_pgp.wot.vectors
import org.pgpainless.wot.network.Fingerprint
/**
* Check that an expired certificate can't be authenticated and can't be
* used to authenticate other certificates.
*
* t0: Create A, B, C
* t1: Create certifications (amount = 60)
* t2: B expires.
* t3: Create certifications (amount = 120)
*
* ```
* A
* | 1/60
* B
* | 1/60
* C
* ```
*
* At t3, the new certifications are ignored, because they were created
* after B expired.
*
* At t3, B can still be used as a trusted introducer for C, because the
* initial certifications were created before it expired, but it is no
* longer possible to authenticate B.
*/
class CertExpiredVectors: ArtifactVectors {
val aliceFpr = Fingerprint("1FA62523FB7C06E71EEFB82BB5159F3FC3EB3AC9")
val aliceUid = "<alice@example.org>"
val bobFpr = Fingerprint("B166B31AE5F95600B3F7184FE74C6CE62821686F")
val bobUid = "<bob@example.org>"
// Certified by: 1FA62523FB7C06E71EEFB82BB5159F3FC3EB3AC9
val carolFpr = Fingerprint("81CD118AC5BD9156DC113772626222D76ACDFFCF")
val carolUid = "<carol@example.org>"
// Certified by: B166B31AE5F95600B3F7184FE74C6CE62821686F
/**
* Create A, B, C.
*/
val t0 = parseReferenceTime("2020-01-01 00:00:00 UTC")
/**
* Create certifications (amount = 60).
*/
val t1 = parseReferenceTime("2020-02-01 00:00:00 UTC")
/**
* B expires.
*/
val t2 = parseReferenceTime("2020-02-15 00:00:00 UTC")
/**
* Create certifications (amount = 120).
*/
val t3 = parseReferenceTime("2020-04-01 00:00:00 UTC")
override fun getResourceName(): String {
return "org/sequoia_pgp/wot/vectors/cert-expired.pgp"
}
}