summaryrefslogtreecommitdiffstats
path: root/openpgp/src/cert/keyiter.rs
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp/src/cert/keyiter.rs')
-rw-r--r--openpgp/src/cert/keyiter.rs40
1 files changed, 14 insertions, 26 deletions
diff --git a/openpgp/src/cert/keyiter.rs b/openpgp/src/cert/keyiter.rs
index 744fb2cc..b8ebb5a3 100644
--- a/openpgp/src/cert/keyiter.rs
+++ b/openpgp/src/cert/keyiter.rs
@@ -262,9 +262,20 @@ impl<'a, P, R> KeyIter<'a, P, R>
}
/// Changes the iterator to skip the primary key.
- pub fn skip_primary(mut self) -> Self {
- self.primary = true;
- self
+ pub fn subkeys(self) -> KeyIter<'a, P, key::SubordinateRole> {
+ KeyIter {
+ cert: self.cert,
+ primary: true,
+ subkey_iter: self.subkey_iter,
+
+ // The filters.
+ secret: self.secret,
+ unencrypted_secret: self.unencrypted_secret,
+ key_handles: self.key_handles,
+
+ _p: std::marker::PhantomData,
+ _r: std::marker::PhantomData,
+ }
}
/// Changes the iterator to only return keys that are valid at
@@ -444,29 +455,6 @@ impl<'a, P, R> KeyIter<'a, P, R>
_r: std::marker::PhantomData,
}
}
-
- /// Changes the iterator to return subkey bundles.
- ///
- /// A key bundle is similar to a key amalgamation, but is not
- /// bound to a specific time. It contains the key and all
- /// relevant signatures.
- ///
- /// The primary key is never returned from this iterator.
- pub fn subkeys(self) -> KeyBundleIter<'a, P, key::SubordinateRole> {
- KeyBundleIter {
- cert: self.cert,
- primary: true,
- subkey_iter: self.subkey_iter,
-
- // The filters.
- secret: self.secret,
- unencrypted_secret: self.unencrypted_secret,
- key_handles: self.key_handles,
-
- _p: std::marker::PhantomData,
- _r: std::marker::PhantomData,
- }
- }
}
/// An iterator over all valid `Key`s in a certificate.