Struct DistrustedServerKeys
pub struct DistrustedServerKeys { /* private fields */ }Available on crate feature
tls only.Expand description
Reject server chains that contain any of a set of distrusted public keys.
Keys are matched by the SHA-256 of their SubjectPublicKeyInfo at every
position of the chain, so a distrusted CA is caught under any of its
certificates, including cross-signed ones. Configured as sha256/<base64>,
the format of a key pin.
Entries must be X.509 certificates (or supported trust anchors). A custom rustls verifier using raw public keys supplies SPKI instead of a certificate; this built-in policy rejects that encoding. Use a custom policy for RPK.
Implementations§
§impl DistrustedServerKeys
impl DistrustedServerKeys
pub fn new() -> DistrustedServerKeys
Available on crate feature boring only.
pub fn new() -> DistrustedServerKeys
boring only.Create an empty set.
pub fn with_spki_sha256(self, digest: [u8; 32]) -> DistrustedServerKeys
Available on crate feature boring only.
pub fn with_spki_sha256(self, digest: [u8; 32]) -> DistrustedServerKeys
boring only.Distrust the key with the given SubjectPublicKeyInfo SHA-256 digest.
pub fn try_with_key_of(
self,
certificate: &CertificateDer<'_>,
) -> Result<DistrustedServerKeys, Box<dyn Error + Send + Sync>>
Available on crate feature boring only.
pub fn try_with_key_of( self, certificate: &CertificateDer<'_>, ) -> Result<DistrustedServerKeys, Box<dyn Error + Send + Sync>>
boring only.Distrust the public key of certificate.
Trait Implementations§
§impl Clone for DistrustedServerKeys
impl Clone for DistrustedServerKeys
§fn clone(&self) -> DistrustedServerKeys
fn clone(&self) -> DistrustedServerKeys
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for DistrustedServerKeys
impl Debug for DistrustedServerKeys
§impl Default for DistrustedServerKeys
impl Default for DistrustedServerKeys
§fn default() -> DistrustedServerKeys
fn default() -> DistrustedServerKeys
Returns the “default value” for a type. Read more
impl Eq for DistrustedServerKeys
§impl FromStr for DistrustedServerKeys
impl FromStr for DistrustedServerKeys
§impl PartialEq for DistrustedServerKeys
impl PartialEq for DistrustedServerKeys
impl StructuralPartialEq for DistrustedServerKeys
Auto Trait Implementations§
impl Freeze for DistrustedServerKeys
impl RefUnwindSafe for DistrustedServerKeys
impl Send for DistrustedServerKeys
impl Sync for DistrustedServerKeys
impl Unpin for DistrustedServerKeys
impl UnsafeUnpin for DistrustedServerKeys
impl UnwindSafe for DistrustedServerKeys
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§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> ⓘ
Converts
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> ⓘ
Converts
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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a rama_grpc::Request§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Create a new
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more