summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSzczepan Zalega <szczepan@nitrokey.com>2017-02-03 17:23:44 +0100
committerSzczepan Zalega <szczepan@nitrokey.com>2017-03-11 15:41:42 +0100
commitdb76ae5299f3650385f66e4c596b18fd54250d38 (patch)
treeed61a9ec409ff1431ed49b7ddb7dfd40216d96d5
parent767e24572db2bbc4b9837c32ffc0bab4e1ad0b81 (diff)
downloadlibnitrokey-db76ae5299f3650385f66e4c596b18fd54250d38.tar.gz
libnitrokey-db76ae5299f3650385f66e4c596b18fd54250d38.tar.bz2
Allow users to lock encrypted volumes specifically
Signed-off-by: Szczepan Zalega <szczepan@nitrokey.com>
-rw-r--r--NitrokeyManager.cc8
-rw-r--r--include/NitrokeyManager.h2
-rw-r--r--include/stick20_commands.h5
3 files changed, 14 insertions, 1 deletions
diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc
index 65b3c68..74a6ecf 100644
--- a/NitrokeyManager.cc
+++ b/NitrokeyManager.cc
@@ -766,4 +766,12 @@ namespace nitrokey{
return get_OTP_slot_data(get_internal_slot_number_for_hotp(slot_number));
}
+ void NitrokeyManager::lock_encrypted_volume() {
+ misc::execute_password_command<stick20::DisableEncryptedPartition>(device, "");
+ }
+
+ void NitrokeyManager::lock_hidden_volume() {
+ misc::execute_password_command<stick20::DisableHiddenEncryptedPartition>(device, "");
+ }
+
}
diff --git a/include/NitrokeyManager.h b/include/NitrokeyManager.h
index 4a98e94..b89db63 100644
--- a/include/NitrokeyManager.h
+++ b/include/NitrokeyManager.h
@@ -91,8 +91,10 @@ namespace nitrokey {
bool is_AES_supported(const char *user_password);
void unlock_encrypted_volume(const char *user_password);
+ void lock_encrypted_volume();
void unlock_hidden_volume(const char *hidden_volume_password);
+ void lock_hidden_volume();
void set_unencrypted_read_only(const char *user_pin);
diff --git a/include/stick20_commands.h b/include/stick20_commands.h
index a3f1609..b887636 100644
--- a/include/stick20_commands.h
+++ b/include/stick20_commands.h
@@ -26,9 +26,12 @@ namespace nitrokey {
public PasswordCommand<CommandID::UNLOCK_USER_PASSWORD, PasswordKind::Admin> {};
class EnableEncryptedPartition : public PasswordCommand<CommandID::ENABLE_CRYPTED_PARI> {};
- class DisableEncryptedPartition : public PasswordCommand<CommandID::DISABLE_CRYPTED_PARI> {};
class EnableHiddenEncryptedPartition : public PasswordCommand<CommandID::ENABLE_HIDDEN_CRYPTED_PARI> {};
+
+ //FIXME the volume disabling commands do not need password
+ class DisableEncryptedPartition : public PasswordCommand<CommandID::DISABLE_CRYPTED_PARI> {};
class DisableHiddenEncryptedPartition : public PasswordCommand<CommandID::DISABLE_CRYPTED_PARI> {};
+
class EnableFirmwareUpdate : public PasswordCommand<CommandID::ENABLE_FIRMWARE_UPDATE> {};
class ChangeUpdatePassword : Command<CommandID::CHANGE_UPDATE_PIN> {