diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2021-04-30 11:15:01 +0200 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2021-04-30 13:57:22 +0200 |
commit | f3c321e3d3a08291b0d5bcd7b5de00ca647debeb (patch) | |
tree | 3101b6dd641b0a82ab96d97f20f691723f14e011 | |
parent | 4cb6e347e8436a86b62fa32f8cd11caef9767692 (diff) |
openpgp: Simplify code.
-rw-r--r-- | openpgp/src/cert/builder.rs | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/openpgp/src/cert/builder.rs b/openpgp/src/cert/builder.rs index 3d142c48..efd17c94 100644 --- a/openpgp/src/cert/builder.rs +++ b/openpgp/src/cert/builder.rs @@ -959,10 +959,6 @@ impl CertBuilder<'_> { time::Duration::new(SIG_BACKDATE_BY, 0) }); - let mut packets = Vec::<Packet>::with_capacity( - 1 + 1 + self.subkeys.len() + self.userids.len() - + self.user_attributes.len()); - // make sure the primary key can sign subkeys if !self.subkeys.is_empty() { self.primary.flags = self.primary.flags.set_certification(); @@ -972,14 +968,16 @@ impl CertBuilder<'_> { let (primary, sig) = self.primary_key(creation_time)?; let mut signer = primary.clone().into_keypair().unwrap(); - packets.push(Packet::SecretKey({ - let mut primary = primary.clone(); - if let Some(ref password) = self.password { - primary.secret_mut().encrypt_in_place(password)?; - } - primary - })); - packets.push(sig.clone().into()); + let mut cert = Cert::try_from(vec![ + Packet::SecretKey({ + let mut primary = primary.clone(); + if let Some(ref password) = self.password { + primary.secret_mut().encrypt_in_place(password)?; + } + primary + }), + sig.clone().into(), + ])?; let sig = signature::SignatureBuilder::from(sig) .set_signature_creation_time(creation_time)?; @@ -988,8 +986,6 @@ impl CertBuilder<'_> { // signatures. let sig = sig.set_revocation_key(vec![])?; - let mut cert = Cert::try_from(packets)?; - let have_userids = !self.userids.is_empty(); // Sign UserIDs. |