diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-05-13 17:09:31 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-05-13 17:09:31 +0200 |
commit | 16e2c23d76d780457aa4a68e3981d685f3ff80c1 (patch) | |
tree | eb3f8063bc192c2997652445fddb456efabe5ab3 | |
parent | 8bc173039650ee2f8f20de1e75e68a541b9c6b75 (diff) |
openpgp: Convert from ValidKeyAmalgamation for Recipient.
- Simplify examples accordingly.
-rw-r--r-- | guide/src/chapter_02.md | 12 | ||||
-rw-r--r-- | openpgp/examples/encrypt-for.rs | 3 | ||||
-rw-r--r-- | openpgp/examples/generate-encrypt-decrypt.rs | 3 | ||||
-rw-r--r-- | openpgp/src/serialize/stream.rs | 27 |
4 files changed, 23 insertions, 22 deletions
diff --git a/guide/src/chapter_02.md b/guide/src/chapter_02.md index e3da3d80..64ba07cb 100644 --- a/guide/src/chapter_02.md +++ b/guide/src/chapter_02.md @@ -57,8 +57,7 @@ fn main() { # -> openpgp::Result<()> { # let recipients = # recipient.keys().with_policy(policy, None).alive().revoked(false) -# .for_transport_encryption() -# .map(|ka| ka.key()); +# .for_transport_encryption(); # # // Start streaming an OpenPGP message. # let message = Message::new(sink); @@ -203,8 +202,7 @@ fn generate() -> openpgp::Result<openpgp::Cert> { # -> openpgp::Result<()> { # let recipients = # recipient.keys().with_policy(policy, None).alive().revoked(false) -# .for_transport_encryption() -# .map(|ka| ka.key()); +# .for_transport_encryption(); # # // Start streaming an OpenPGP message. # let message = Message::new(sink); @@ -349,8 +347,7 @@ fn encrypt(policy: &dyn Policy, -> openpgp::Result<()> { let recipients = recipient.keys().with_policy(policy, None).alive().revoked(false) - .for_transport_encryption() - .map(|ka| ka.key()); + .for_transport_encryption(); // Start streaming an OpenPGP message. let message = Message::new(sink); @@ -509,8 +506,7 @@ Decrypted data can be read from this using [`io::Read`]. # -> openpgp::Result<()> { # let recipients = # recipient.keys().with_policy(policy, None).alive().revoked(false) -# .for_transport_encryption() -# .map(|ka| ka.key()); +# .for_transport_encryption(); # # // Start streaming an OpenPGP message. # let message = Message::new(sink); diff --git a/openpgp/examples/encrypt-for.rs b/openpgp/examples/encrypt-for.rs index a7701770..359101ca 100644 --- a/openpgp/examples/encrypt-for.rs +++ b/openpgp/examples/encrypt-for.rs @@ -42,8 +42,7 @@ fn main() { .flat_map(|cert| { cert.keys() .with_policy(p, None).alive().revoked(false).key_flags(&mode) - }) - .map(|ka| ka.key()); + }); // Compose a writer stack corresponding to the output format and // packet structure we want. First, we want the output to be diff --git a/openpgp/examples/generate-encrypt-decrypt.rs b/openpgp/examples/generate-encrypt-decrypt.rs index e19c98b0..3960b22e 100644 --- a/openpgp/examples/generate-encrypt-decrypt.rs +++ b/openpgp/examples/generate-encrypt-decrypt.rs @@ -49,8 +49,7 @@ fn encrypt(p: &dyn Policy, sink: &mut dyn Write, plaintext: &str, { let recipients = recipient.keys().with_policy(p, None).alive().revoked(false) - .for_transport_encryption() - .map(|ka| ka.key()); + .for_transport_encryption(); // Start streaming an OpenPGP message. let message = Message::new(sink); diff --git a/openpgp/src/serialize/stream.rs b/openpgp/src/serialize/stream.rs index b7b9f608..ef3423bf 100644 --- a/openpgp/src/serialize/stream.rs +++ b/openpgp/src/serialize/stream.rs @@ -1800,6 +1800,17 @@ impl<'a, P, R> From<&'a Key<P, R>> for Recipient<'a> } } +impl<'a, P, R, R2> From<ValidKeyAmalgamation<'a, P, R, R2>> + for Recipient<'a> + where P: key::KeyParts, + R: key::KeyRole, + R2: Copy, +{ + fn from(ka: ValidKeyAmalgamation<'a, P, R, R2>) -> Self { + ka.key().into() + } +} + impl<'a> Recipient<'a> { /// Creates a new recipient with an explicit recipient keyid. /// @@ -1935,7 +1946,7 @@ impl<'a> Recipient<'a> { /// cert.keys().with_policy(p, None).alive().revoked(false) /// // Or `for_storage_encryption()`, for data at rest. /// .for_transport_encryption() - /// .map(|ka| ka.key().into()) + /// .map(Into::into) /// .collect::<Vec<Recipient>>(); /// /// assert_eq!(recipients[0].keyid(), @@ -2007,7 +2018,7 @@ impl<'a> Recipient<'a> { /// // Or `for_storage_encryption()`, for data at rest. /// .for_transport_encryption() /// .map(|ka| { - /// let mut r: Recipient = ka.key().into(); + /// let mut r: Recipient = ka.into(); /// // Set the recipient keyid to the wildcard id. /// r.set_keyid(KeyID::wildcard()); /// r @@ -2113,8 +2124,7 @@ impl<'a> Encryptor<'a> { /// let recipients = /// cert.keys().with_policy(p, None).alive().revoked(false) /// // Or `for_storage_encryption()`, for data at rest. - /// .for_transport_encryption() - /// .map(|ka| ka.key()); + /// .for_transport_encryption(); /// /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); @@ -2246,8 +2256,7 @@ impl<'a> Encryptor<'a> { /// let recipients = /// cert.keys().with_policy(p, None).alive().revoked(false) /// // Or `for_storage_encryption()`, for data at rest. - /// .for_transport_encryption() - /// .map(|ka| ka.key()); + /// .for_transport_encryption(); /// /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); @@ -2330,8 +2339,7 @@ impl<'a> Encryptor<'a> { /// let recipients = /// cert.keys().with_policy(p, None).alive().revoked(false) /// // Or `for_storage_encryption()`, for data at rest. - /// .for_transport_encryption() - /// .map(|ka| ka.key()); + /// .for_transport_encryption(); /// /// # let mut sink = vec![]; /// let message = Message::new(&mut sink); @@ -3068,8 +3076,7 @@ mod test { let m = Message::new(&mut msg); let recipients = tsk .keys().with_policy(p, None) - .for_storage_encryption().for_transport_encryption() - .map(|ka| ka.key()); + .for_storage_encryption().for_transport_encryption(); let encryptor = Encryptor::for_recipients(m, recipients) .aead_algo(AEADAlgorithm::EAX) .build().unwrap(); |