diff options
-rw-r--r-- | openpgp/src/cert.rs | 21 | ||||
-rw-r--r-- | openpgp/tests/data/keys/v4-revoked-by-v3.pgp | 28 |
2 files changed, 49 insertions, 0 deletions
diff --git a/openpgp/src/cert.rs b/openpgp/src/cert.rs index fd5f5d0d..e1ba1b6a 100644 --- a/openpgp/src/cert.rs +++ b/openpgp/src/cert.rs @@ -7286,4 +7286,25 @@ Pu1xwz57O4zo1VYf6TqHJzVC3OMvMUM2hhdecMUe5x6GorNaj6g= Ok(()) } + + /// Tests v3 revocation signatures. + #[test] + fn v3_revocation_signature() -> Result<()> { + if ! crate::types::PublicKeyAlgorithm::ECDSA.is_supported() + || ! crate::types::Curve::NistP521.is_supported() + { + eprintln!("Skipping because ECDSA/NistP521 is not supported"); + return Ok(()); + } + + let c = Cert::from_bytes( + crate::tests::key("v4-revoked-by-v3.pgp"))?; + assert_eq!(c.bad_signatures().count(), 0); + + let sp = crate::policy::StandardPolicy::new(); + assert!(matches!(c.revocation_status(&sp, None), + RevocationStatus::Revoked(_))); + + Ok(()) + } } diff --git a/openpgp/tests/data/keys/v4-revoked-by-v3.pgp b/openpgp/tests/data/keys/v4-revoked-by-v3.pgp new file mode 100644 index 00000000..b1149b13 --- /dev/null +++ b/openpgp/tests/data/keys/v4-revoked-by-v3.pgp @@ -0,0 +1,28 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +xpMEVOErbRMFK4EEACMEIwQBoO/p4ydhEqbQqDltmNWgxTBsAhkU8JYxWU3ZwZhX +xVFCVx80kBSiFCHN0gTxq2V1/AwESk3aWzFE+yaXyTU750YAUTirfwsNuvFWeJuP +f7u8EsMhPQ3621MFiGghyRk+ouIdcTHMwTmbwmmoldmf/iumHvc2AZZ62FdpGoR7 +koNvXGnNEnRlc3QgPHRlc3RrZXktZWNjPsLARAQQEwoAUwUCVOErbTAUgAAAAAAg +AAdwcmVmZXJyZWQtZW1haWwtZW5jb2RpbmdAcGdwLmNvbXBncG1pbWUECwkIBwIZ +AQUbAwAAAAIWAgUeAQAAAAQVCgkIACEJEHzZZJXwFgGpFiEElcguADpNPi+DuthN +fNlklfAWAalW4QIHTxUXadSW2UeH0iylk37AYwWmlVA8UXt+5NvsEvNIUBJukL4H +caGlzzOozvm3NwNPN9iZWsjFAzaqOpOsAatrdVcCAwUmJEmXBS/RtGaazNRGBDo7 +wzVKOvdyHa/BeIaM1Jop0CUFfuCy9ABkO05bmK4jyyQQFz4CoxAdguVvtNkFAjUH +zpcEVOErbRIFK4EEACMEIwQBUfFcAZ/0XXmmD8QddHh/WDNNF7X8n7+XCGRehn/x +emMdkE25UIxlT2u0x+9vgW5+vdu4TquG1giro9PlnF5K/fIAz8uVYpctdUZRuibt +wCBjRP4scGy7xSKGLpdeo77P5lDl58YH5+Pjlc1zE7Ma1FX4GjTjK356dWAxb3rH +IYYWQwQDAQoJwrkEKBMKAAYFAleS0WEAIQkQfNlklfAWAakWIQSVyC4AOk0+L4O6 +2E182WSV8BYBqbYnAgkBPbrFaN9vN65uPaHZ+J7fbSzICjS0E3O1+zmzePpPWdwA +NksAGKFWRVdEsmoAfd5KgnUUFBfRE4SByQltSWrnwmUCCQGvBvIvOdol1UJZvBn/ +ZFZwFDVdIR3reek4KQREj0bDV98fcutHuWznDRwc3Ob+y5X5Li8PyLpG1okSYQQt ++B3188K+BBgTCgAMBQJU4SttBRsMAAAAACEJEHzZZJXwFgGpFiEElcguADpNPi+D +uthNfNlklfAWAakgTgIDBLys0DHw3Z0f2mpMZ8oovEq5Cb+XADdxf81W1s/oSN0M +dX5MkM7DYbyKR6sgV6sCFrcQtlwrUZfaWzUbQqt43w8CCQFIWxXASdndRR+BAHAX +Ido7fkjYgrdOjZ4esPPcPVMzT3KsSox+Abov3E+sK6bpDZal/D0/Xql7E+YGrIin +LjyyJ8KaAwUgV5LRYXzZZJXwFgGpEwq8ZgIJAWQUpVg6PCqCXYHETrLvDqzvAsbK +CeIwsjhoUwzL+p/2fpwgWM37VIBnntH9ZQubQN2jnzlKAc2NAAnSPXnEiOWTAgUX +lPxjPcyOD9i3+7NA/3N4S/evrVnDzL6xKMOwhGjcM6UaiPVnajzVe7C+1kCBIVKo +da+D3zV9nFaLv13apQPkdA== +=tiMT +-----END PGP PUBLIC KEY BLOCK----- |