diff options
Diffstat (limited to 'NitrokeyManager.cc')
-rw-r--r-- | NitrokeyManager.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index 20657a5..47b68d4 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -396,9 +396,21 @@ namespace nitrokey{ } void NitrokeyManager::build_aes_key(const char *admin_password) { - auto p = get_payload<BuildAESKey>(); - strcpyT(p.admin_password, admin_password); - BuildAESKey::CommandTransaction::run(*device, p); + switch (device->get_device_model()) { + case DeviceModel::PRO: { + auto p = get_payload<BuildAESKey>(); + strcpyT(p.admin_password, admin_password); + BuildAESKey::CommandTransaction::run(*device, p); + break; + } + case DeviceModel::STORAGE : { + auto p = get_payload<stick20::CreateNewKeys>(); + strcpyT(p.admin_password, admin_password); + p.setKindPrefixed(); + stick20::CreateNewKeys::CommandTransaction::run(*device, p); + break; + } + } } void NitrokeyManager::factory_reset(const char *admin_password) { |