#[non_exhaustive]pub enum Profile {
RFC9580,
RFC4880,
}Expand description
Profiles select versions of the OpenPGP standard.
While this type implements Default, please consider what a
good default for your use case is.
If you are doing a greenfield implementation where you know that every client understands RFC9580, you can just explicitly pick that.
Otherwise, you have to consider the state of the ecosystem your
client will interact with. Maybe it is better to stick to
generating RFC4880 certificates for the time being, while rolling
out RFC9580 support. Consider adding a configuration option or
command line switch like --profile, but pick a sensible default,
and remember to don’t overwhelm your users.
For now, our default is RFC4880. This is a safe default for every downstream consumer that has existing legacy deployments (including their own previous versions using a legacy version of Sequoia). We will update this default once RFC9580 is more widely deployed.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
RFC9580
RFC9580, published in 2024, defines “v6” OpenPGP.
RFC4880
RFC4880, published in 2007, defines “v4” OpenPGP.
Trait Implementations§
impl Copy for Profile
impl Eq for Profile
impl StructuralPartialEq for Profile
Auto Trait Implementations§
impl Freeze for Profile
impl RefUnwindSafe for Profile
impl Send for Profile
impl Sync for Profile
impl Unpin for Profile
impl UnsafeUnpin for Profile
impl UnwindSafe for Profile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more