diff options
Diffstat (limited to 'openpgp/src/serialize/cert.rs')
-rw-r--r-- | openpgp/src/serialize/cert.rs | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/openpgp/src/serialize/cert.rs b/openpgp/src/serialize/cert.rs index 70a8a1b5..2d3e0482 100644 --- a/openpgp/src/serialize/cert.rs +++ b/openpgp/src/serialize/cert.rs @@ -317,10 +317,14 @@ impl<'a> TSK<'a> { /// # Example /// ``` /// # use sequoia_openpgp::{*, cert::*, parse::Parse, serialize::Serialize}; + /// use sequoia_openpgp::policy::StandardPolicy; + /// /// # f().unwrap(); /// # fn f() -> Result<()> { + /// let p = &StandardPolicy::new(); + /// /// let (cert, _) = CertBuilder::new().add_signing_subkey().generate()?; - /// assert_eq!(cert.keys().policy(None).alive().revoked(false).secret().count(), 2); + /// assert_eq!(cert.keys().set_policy(p, None).alive().revoked(false).secret().count(), 2); /// /// // Only write out the primary key's secret. /// let mut buf = Vec::new(); @@ -329,7 +333,7 @@ impl<'a> TSK<'a> { /// .serialize(&mut buf)?; /// /// let cert_ = Cert::from_bytes(&buf)?; - /// assert_eq!(cert_.keys().policy(None).alive().revoked(false).secret().count(), 1); + /// assert_eq!(cert_.keys().set_policy(p, None).alive().revoked(false).secret().count(), 1); /// assert!(cert_.primary_key().secret().is_some()); /// # Ok(()) } pub fn set_filter<P>(mut self, predicate: P) -> Self @@ -651,6 +655,7 @@ mod test { use crate::parse::Parse; use crate::serialize::Serialize; use crate::packet::key; + use crate::policy::StandardPolicy as P; /// Demonstrates that public keys and all components are /// serialized. @@ -733,6 +738,8 @@ mod test { key::Key4, }; + let p = &P::new(); + let (cert, _) = CertBuilder::new().generate().unwrap(); let mut keypair = cert.primary_key().key().clone().mark_parts_secret() .unwrap().into_keypair().unwrap(); @@ -751,10 +758,10 @@ mod test { let uid_binding = uid.bind( &mut keypair, &cert, signature::Builder::from( - cert.primary_key().policy(None).unwrap() + cert.primary_key().set_policy(p, None).unwrap() .direct_key_signature().unwrap().clone()) - .set_type(SignatureType::PositiveCertification) - .set_exportable_certification(false).unwrap()).unwrap(); + .set_type(SignatureType::PositiveCertification) + .set_exportable_certification(false).unwrap()).unwrap(); let ua = UserAttribute::new(&[ Subpacket::Unknown(2, b"foo".to_vec().into_boxed_slice()), @@ -762,7 +769,7 @@ mod test { let ua_binding = ua.bind( &mut keypair, &cert, signature::Builder::from( - cert.primary_key().policy(None).unwrap() + cert.primary_key().set_policy(p, None).unwrap() .direct_key_signature().unwrap().clone()) .set_type(SignatureType::PositiveCertification) .set_exportable_certification(false).unwrap()).unwrap(); @@ -774,11 +781,12 @@ mod test { ]).unwrap(); assert_eq!(cert.subkeys().count(), 1); - assert!(cert.subkeys().nth(0).unwrap().binding_signature(None).is_some()); + assert!(cert.subkeys().nth(0).unwrap().binding_signature(p, None) + .is_some()); assert_eq!(cert.userids().count(), 1); - assert!(cert.userids().policy(None).nth(0).is_some()); + assert!(cert.userids().set_policy(p, None).nth(0).is_some()); assert_eq!(cert.user_attributes().count(), 1); - assert!(cert.user_attributes().policy(None).nth(0).is_some()); + assert!(cert.user_attributes().set_policy(p, None).nth(0).is_some()); // The binding signature is not exportable, so when we export // and re-parse, we expect the userid to be gone. |