diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-10-02 09:07:22 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-10-02 15:09:11 +0200 |
commit | 81ae4a3a34f7c6df4ea7dd5765d4b493a32f9919 (patch) | |
tree | a6065a94be2769717b1fa32dbf14508daf4bf87e /openpgp/src/packet/signature/subpacket.rs | |
parent | ef5cd6b8ce14bc8019771e38825cda9d1f64792e (diff) |
openpgp: Make signature verification use a mutable self reference.
- This will allow us to mark subpackets as authenticated by the
verification operation.
Diffstat (limited to 'openpgp/src/packet/signature/subpacket.rs')
-rw-r--r-- | openpgp/src/packet/signature/subpacket.rs | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/openpgp/src/packet/signature/subpacket.rs b/openpgp/src/packet/signature/subpacket.rs index 76ce2a56..3b064841 100644 --- a/openpgp/src/packet/signature/subpacket.rs +++ b/openpgp/src/packet/signature/subpacket.rs @@ -475,7 +475,7 @@ mod tests { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; -/// # let sig = SignatureBuilder::new(SignatureType::Binary) +/// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -626,7 +626,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -686,7 +686,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -746,7 +746,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -799,7 +799,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -857,7 +857,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -940,7 +940,7 @@ impl SubpacketArea { /// # let mut signer = key.clone().parts_into_secret()?.into_keypair()?; /// # /// # let msg = b"Hello, world!"; - /// # let sig = SignatureBuilder::new(SignatureType::Binary) + /// # let mut sig = SignatureBuilder::new(SignatureType::Binary) /// # .sign_message(&mut signer, msg)?; /// # /// # // Verify it. @@ -2327,7 +2327,7 @@ impl SubpacketAreas { /// let mut alices_signer = alice.primary_key().key().clone() /// .parts_into_secret()?.into_keypair()?; /// let msg = "START PROTOCOL"; - /// let sig = SignatureBuilder::new(SignatureType::Binary) + /// let mut sig = SignatureBuilder::new(SignatureType::Binary) /// .set_signature_creation_time(now)? /// .sign_message(&mut alices_signer, msg)?; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); @@ -3587,6 +3587,7 @@ impl signature::SignatureBuilder { /// }, /// true)?)?; /// let sig = builder.sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # sig.verify_message(signer.public(), msg).unwrap(); /// # Ok(()) } /// ``` @@ -3626,6 +3627,7 @@ impl signature::SignatureBuilder { /// Ok(a) /// })? /// .sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # sig.verify_message(signer.public(), msg).unwrap(); /// # Ok(()) } /// ``` @@ -3676,6 +3678,7 @@ impl signature::SignatureBuilder { /// Ok(a) /// })? /// .sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # sig.verify_message(signer.public(), msg).unwrap(); /// # Ok(()) } /// ``` @@ -3730,6 +3733,7 @@ impl signature::SignatureBuilder { /// }, /// true)?)?; /// let sig = builder.sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # sig.verify_message(signer.public(), msg).unwrap(); /// # Ok(()) } /// ``` @@ -3769,6 +3773,7 @@ impl signature::SignatureBuilder { /// Ok(a) /// })? /// .sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # sig.verify_message(signer.public(), msg).unwrap(); /// # Ok(()) } /// ``` @@ -3929,7 +3934,7 @@ impl signature::SignatureBuilder { /// # .parts_into_secret()?.into_keypair()?; /// let msg = "hiermit kündige ich den mit Ihnen bestehenden Vertrag fristgerecht."; /// - /// let sig = SignatureBuilder::new(SignatureType::Binary) + /// let mut sig = SignatureBuilder::new(SignatureType::Binary) /// .set_signature_creation_time( /// std::time::SystemTime::now() /// - std::time::Duration::new(24 * 60 * 60, 0))? @@ -4000,6 +4005,8 @@ impl signature::SignatureBuilder { /// .preserve_signature_creation_time()? /// .sign_message(&mut bobs_signer, msg)?; /// # + /// # let mut siga = siga; + /// # let mut sigb = sigb; /// # assert!(siga.verify_message(alices_signer.public(), msg).is_ok()); /// # assert!(sigb.verify_message(bobs_signer.public(), msg).is_ok()); /// # assert_eq!(siga.signature_creation_time(), @@ -4059,7 +4066,7 @@ impl signature::SignatureBuilder { /// # .parts_into_secret()?.into_keypair()?; /// let msg = "Some things are timeless."; /// - /// let sig = SignatureBuilder::new(SignatureType::Binary) + /// let mut sig = SignatureBuilder::new(SignatureType::Binary) /// .suppress_signature_creation_time()? /// .sign_message(&mut signer, msg)?; /// @@ -4160,7 +4167,7 @@ impl signature::SignatureBuilder { /// /// let msg = "install e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"; /// - /// let sig = SignatureBuilder::new(SignatureType::Binary) + /// let mut sig = SignatureBuilder::new(SignatureType::Binary) /// .set_signature_validity_period( /// std::time::Duration::new(10 * 60, 0))? /// .sign_message(&mut signer, msg)?; @@ -4218,6 +4225,7 @@ impl signature::SignatureBuilder { /// .set_signature_validity_period(next_year)? /// .sign_message(&mut signer, msg)?; /// # + /// # let mut sig = sig; /// # assert!(sig.verify_message(signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -5113,6 +5121,7 @@ impl signature::SignatureBuilder { /// .set_issuer(alicev4.keyid())? /// .add_issuer(alicev5.keyid())? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -5202,6 +5211,7 @@ impl signature::SignatureBuilder { /// .set_issuer(alicev4.keyid())? /// .add_issuer(alicev5.keyid())? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -5867,6 +5877,7 @@ impl signature::SignatureBuilder { /// ) /// .set_policy_uri("https://example.org/~alice/signing-policy.txt")? /// .sign_direct_key(&mut signer, pk)?; + /// # let mut sig = sig; /// # sig.verify_direct_key(signer.public(), pk)?; /// # assert_eq!(sig /// # .hashed_area() @@ -6003,6 +6014,7 @@ impl signature::SignatureBuilder { /// let sig = SignatureBuilder::new(SignatureType::Binary) /// .set_signers_user_id(&b"Alice <alice@home.org>"[..])? /// .sign_message(&mut signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -6360,6 +6372,7 @@ impl signature::SignatureBuilder { /// .set_issuer_fingerprint(alicev4.fingerprint())? /// .add_issuer_fingerprint(alicev5.fingerprint())? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -6451,6 +6464,7 @@ impl signature::SignatureBuilder { /// .set_issuer_fingerprint(alicev4.fingerprint())? /// .add_issuer_fingerprint(alicev5.fingerprint())? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig /// # .hashed_area() @@ -6640,6 +6654,7 @@ impl signature::SignatureBuilder { /// let sig = SignatureBuilder::new(SignatureType::Binary) /// .set_intended_recipients(&[ bob.fingerprint(), carol.fingerprint() ])? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig.intended_recipients().count(), 2); /// # Ok(()) } @@ -6725,6 +6740,7 @@ impl signature::SignatureBuilder { /// .add_intended_recipient(bob.fingerprint())? /// .add_intended_recipient(carol.fingerprint())? /// .sign_message(&mut alices_signer, msg)?; + /// # let mut sig = sig; /// # assert!(sig.verify_message(alices_signer.public(), msg).is_ok()); /// # assert_eq!(sig.intended_recipients().count(), 2); /// # Ok(()) } |