aboutsummaryrefslogtreecommitdiff
path: root/src/device.rs
diff options
context:
space:
mode:
authorRobin Krahl <robin.krahl@ireas.org>2018-05-29 20:49:40 +0000
committerRobin Krahl <robin.krahl@ireas.org>2018-05-29 22:53:02 +0200
commit7197f19f38b06fe2953cfba1fe755d4562f5786e (patch)
tree972e6759f8eafe98669688f7dd44e0acee148331 /src/device.rs
parent89b8a947e5c622272362e967847eb19337aa68da (diff)
downloadnitrokey-rs-7197f19f38b06fe2953cfba1fe755d4562f5786e.tar.gz
nitrokey-rs-7197f19f38b06fe2953cfba1fe755d4562f5786e.tar.bz2
Add support for password safes
A password safe (PWS) stores names, logins and passwords in slots. PWS are supported both by the Nitrokey Pro and the Nitrokey Storage. They are implemented as a struct wrapping a device as the device may not be disconnected while the password safe is alive. The creation of a password safe is handled by the GetPasswordSafe trait, implemented by DeviceWrapper, Pro and Storage.
Diffstat (limited to 'src/device.rs')
-rw-r--r--src/device.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/device.rs b/src/device.rs
index 1201540..7d69df8 100644
--- a/src/device.rs
+++ b/src/device.rs
@@ -3,6 +3,7 @@ use libc;
use nitrokey_sys;
use std::ffi::CString;
use otp::GenerateOtp;
+use pws::GetPasswordSafe;
use util::{get_last_error, result_from_string, CommandError, CommandStatus};
/// Available Nitrokey models.
@@ -147,7 +148,7 @@ pub struct Storage {}
///
/// This trait provides the commands that can be executed without authentication and that are
/// present on all supported Nitrokey devices.
-pub trait Device: GenerateOtp {
+pub trait Device: GetPasswordSafe + GenerateOtp {
/// Returns the serial number of the Nitrokey device. The serial number is the string
/// representation of a hex number.
///