summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2021-04-30 11:15:01 +0200
committerJustus Winter <justus@sequoia-pgp.org>2021-04-30 13:57:22 +0200
commitf3c321e3d3a08291b0d5bcd7b5de00ca647debeb (patch)
tree3101b6dd641b0a82ab96d97f20f691723f14e011
parent4cb6e347e8436a86b62fa32f8cd11caef9767692 (diff)
openpgp: Simplify code.
-rw-r--r--openpgp/src/cert/builder.rs24
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.