diff options
author | Szczepan Zalega <szczepan@nitrokey.com> | 2020-07-28 13:21:33 +0200 |
---|---|---|
committer | Szczepan Zalega <szczepan@nitrokey.com> | 2020-07-28 13:21:33 +0200 |
commit | 882bdd78f217b994066b78e21f9c64fd396206cc (patch) | |
tree | bf6a9d70aca43ecd0eb4e5731ccd50b92989c74b /NitrokeyManagerOTP.cc | |
parent | 24221fd2acd211e19c13515cc1f121cc5951445b (diff) | |
download | libnitrokey-882bdd78f217b994066b78e21f9c64fd396206cc.tar.gz libnitrokey-882bdd78f217b994066b78e21f9c64fd396206cc.tar.bz2 |
Move missing auth function to OTP unit
Diffstat (limited to 'NitrokeyManagerOTP.cc')
-rw-r--r-- | NitrokeyManagerOTP.cc | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/NitrokeyManagerOTP.cc b/NitrokeyManagerOTP.cc index 93f2188..42eb3a9 100644 --- a/NitrokeyManagerOTP.cc +++ b/NitrokeyManagerOTP.cc @@ -324,4 +324,17 @@ nitrokey::NitrokeyManager::get_OTP_slot_data(const uint8_t slot_number) { } nitrokey::proto::stick10::ReadSlot::ResponsePayload nitrokey::NitrokeyManager::get_HOTP_slot_data(const uint8_t slot_number) { return get_OTP_slot_data(get_internal_slot_number_for_hotp(slot_number)); - }
\ No newline at end of file + } + namespace nitrokey { // package type to auth, auth type + // [Authorize,UserAuthorize] + template <typename S, typename A, typename T> + void NitrokeyManager::authorize_packet(T &package, const char *admin_temporary_password, shared_ptr<Device> device){ + if (!is_authorization_command_supported()){ + LOG("Authorization command not supported, skipping", Loglevel::WARNING); + } + auto auth = get_payload<A>(); + strcpyT(auth.temporary_password, admin_temporary_password); + auth.crc_to_authorize = S::CommandTransaction::getCRC(package); + A::CommandTransaction::run(device, auth); + } + } // namespace nitrokey
\ No newline at end of file |