[−][src]Struct snmp_usm::AuthKey
Authentication key used to check data integrity and data origin.
It is constructed from a Localizedkey and parameterized to use various authentication protocols.
Implementations
impl<'a, D: 'a> AuthKey<'a, D>
[src]
pub fn new(localized_key: LocalizedKey<'a, D>) -> Self
[src]
Constructs a new AuthKey
using a localized key.
Examples
use snmp_usm::{AuthKey, LocalizedSha1Key}; let localized_key = LocalizedSha1Key::new(passwd, engine_id); let auth_key = AuthKey::new(localized_key);
impl<'a, D: 'a> AuthKey<'a, D> where
D: Digest,
[src]
D: Digest,
pub fn auth_in_msg(
&self,
msg: &mut [u8],
local_engine_id: &[u8],
local_engine_boots: u32,
local_engine_time: u32
) -> SecurityResult<()>
[src]
&self,
msg: &mut [u8],
local_engine_id: &[u8],
local_engine_boots: u32,
local_engine_time: u32
) -> SecurityResult<()>
Authenticates an incoming SNMP message.
The timeliness check is always preformed when authentication is requested. If the authentication and the timeliness validation succeed, a security subsystem would update its local notion of engine boots, engine time and latest received engine time for the corresponding SNMP engine ID.
Arguments
msg
- The SNMP message to authenticatelocal_engine_id
- The authoritative engine IDlocal_engine_boots
- The local notion of the authoritative engine bootslocal_engine_time
- The local notion of the authoritative engine time
Errors
If the message is not properly formed a result with MalformedMsg error is returned.
A MalformedSecurityParams error result is returned if the security parameters are not properly formed.
If the message could not be authenticated because the authentication parameters don't match the digest, a result with WrongAuthParams error is returned.
If the timeliness validation fails a result with
NotInTimeWindow is returned. Timeliness
validation will fail if local_engine_boots
or local_engine_time
is less than 0
.
Examples
use snmp_usm::{LocalizedKey, Sha1AuthKey}; let localized_key = LocalizedKey::new(b"password", b"engine_id"); let key = Sha1AuthKey::new(localized_key); key.auth_in_msg(&mut in_msg, &engine_id, engine_boots, engine_time);
pub fn auth_out_msg(&self, msg: &mut [u8]) -> SecurityResult<()>
[src]
Authenticates an outgoing SNMP message.
Errors
If the message is not properly formed a result with MalformedMsg error is returned.
If the security parameters are not properly formed a result with MalformedSecurityParams error is returned.
Examples
use snmp_usm::{LocalizedKey, Sha1AuthKey}; let localized_key = LocalizedKey::new(b"password", b"engine_id"); let key = Sha1AuthKey::new(localized_key); key.auth_out_msg(&mut out_msg)?;
Trait Implementations
impl<'a, D: Clone> Clone for AuthKey<'a, D>
[src]
impl<'a, D: Debug> Debug for AuthKey<'a, D>
[src]
impl<'a, D: Eq> Eq for AuthKey<'a, D>
[src]
impl<'a, D: Hash> Hash for AuthKey<'a, D>
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'a, D: PartialEq> PartialEq<AuthKey<'a, D>> for AuthKey<'a, D>
[src]
impl<'a, D> StructuralEq for AuthKey<'a, D>
[src]
impl<'a, D> StructuralPartialEq for AuthKey<'a, D>
[src]
Auto Trait Implementations
impl<'a, D> RefUnwindSafe for AuthKey<'a, D> where
D: RefUnwindSafe,
D: RefUnwindSafe,
impl<'a, D> Send for AuthKey<'a, D> where
D: Sync,
D: Sync,
impl<'a, D> Sync for AuthKey<'a, D> where
D: Sync,
D: Sync,
impl<'a, D> Unpin for AuthKey<'a, D>
impl<'a, D> UnwindSafe for AuthKey<'a, D> where
D: RefUnwindSafe,
D: RefUnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,