pub struct NodePrivateKey(/* private fields */);Expand description
The X25519 private key of a Tailscale node.
Implementations§
Source§impl NodePrivateKey
impl NodePrivateKey
Sourcepub const KEY_LEN_BYTES: usize = 32
pub const KEY_LEN_BYTES: usize = 32
The length of this key type, in bytes.
Sourcepub const KEY_LEN_HEX_STR: usize
pub const KEY_LEN_HEX_STR: usize
The length of a hexidecimal string representation of this key, excluding the prefix and colon.
Sourcepub const KEY_LEN_FULL_STR: usize
pub const KEY_LEN_FULL_STR: usize
The length of a hexidecimal string representation of this key, including the prefix and colon.
Sourcepub const KEY_PREFIX: &'static str = "privkey"
pub const KEY_PREFIX: &'static str = "privkey"
The prefix placed in front of string representations of this key type, such as “$key_prefix:abcd…”
Source§impl NodePrivateKey
impl NodePrivateKey
Sourcepub fn random() -> NodePrivateKey
pub fn random() -> NodePrivateKey
Generate a new X25519 private key.
Sourcepub fn public_key(&self) -> NodePublicKey
pub fn public_key(&self) -> NodePublicKey
Calculate the corresponding public key for this private key.
Takes &self (not self): deriving the public key must not consume — and thus
drop/zeroize — the private key now that it is not Copy. Mirrors Go’s
key.NodePrivate.Public() pointer receiver.
Trait Implementations§
Source§impl Clone for NodePrivateKey
impl Clone for NodePrivateKey
Source§fn clone(&self) -> NodePrivateKey
fn clone(&self) -> NodePrivateKey
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 moreSource§impl Debug for NodePrivateKey
impl Debug for NodePrivateKey
Source§impl<'de> Deserialize<'de> for NodePrivateKey
Available on crate feature serde only.
impl<'de> Deserialize<'de> for NodePrivateKey
Available on crate feature
serde only.Source§fn deserialize<D>(
deserializer: D,
) -> Result<NodePrivateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<NodePrivateKey, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for NodePrivateKey
impl Display for NodePrivateKey
Source§impl Drop for NodePrivateKey
impl Drop for NodePrivateKey
impl Eq for NodePrivateKey
Source§impl From<&NodePrivateKey> for NodePublicKey
impl From<&NodePrivateKey> for NodePublicKey
Source§fn from(v: &NodePrivateKey) -> NodePublicKey
fn from(v: &NodePrivateKey) -> NodePublicKey
Converts to this type from the input type.
Source§impl From<NodePrivateKey> for NodePublicKey
impl From<NodePrivateKey> for NodePublicKey
Source§fn from(v: NodePrivateKey) -> NodePublicKey
fn from(v: NodePrivateKey) -> NodePublicKey
Converts to this type from the input type.
Source§impl From<NodePrivateKey> for NodeKeyPair
impl From<NodePrivateKey> for NodeKeyPair
Source§fn from(private: NodePrivateKey) -> NodeKeyPair
fn from(private: NodePrivateKey) -> NodeKeyPair
Converts to this type from the input type.
Source§impl FromStr for NodePrivateKey
impl FromStr for NodePrivateKey
Source§type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
Source§fn from_str(s: &str) -> Result<NodePrivateKey, <NodePrivateKey as FromStr>::Err>
fn from_str(s: &str) -> Result<NodePrivateKey, <NodePrivateKey as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl PartialEq for NodePrivateKey
impl PartialEq for NodePrivateKey
Source§fn eq(&self, other: &NodePrivateKey) -> bool
fn eq(&self, other: &NodePrivateKey) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for NodePrivateKey
Available on crate feature serde only.
impl Serialize for NodePrivateKey
Available on crate feature
serde only.Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for NodePrivateKey
Auto Trait Implementations§
impl Freeze for NodePrivateKey
impl RefUnwindSafe for NodePrivateKey
impl Send for NodePrivateKey
impl Sync for NodePrivateKey
impl Unpin for NodePrivateKey
impl UnsafeUnpin for NodePrivateKey
impl UnwindSafe for NodePrivateKey
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DisplayExt for Twhere
T: Display,
impl<T> DisplayExt for Twhere
T: Display,
Source§fn as_display_debug(&self) -> DisplayToDebug<'_>
fn as_display_debug(&self) -> DisplayToDebug<'_>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<A, T> DynMessage<A> for T
impl<A, T> DynMessage<A> for T
Source§fn handle_dyn<'a>(
self: Box<T>,
state: &'a mut A,
actor_ref: ActorRef<A>,
tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>,
stop: &'a mut bool,
) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
fn handle_dyn<'a>( self: Box<T>, state: &'a mut A, actor_ref: ActorRef<A>, tx: Option<Sender<Result<Box<dyn Any + Send>, SendError<Box<dyn Any + Send>, Box<dyn Any + Send>>>>>, stop: &'a mut bool, ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn ReplyError>>> + Send + 'a>>
Handles the dyn message with the provided actor state, ref, and reply sender.
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
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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>
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 moreimpl<T> ReplyError for T
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more