diff options
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 |