1File::KDBX::Key::ChalleUnsgeerReCsopnotnrsieb(u3t)ed PerFlilDeo:c:uKmDeBnXt:a:tKieoyn::ChallengeResponse(3)
2
3
4
6 File::KDBX::Key::ChallengeResponse - A challenge-response key
7
9 version 0.906
10
12 use File::KDBX::Key::ChallengeResponse;
13
14 my $responder = sub {
15 my $challenge = shift;
16 ...; # generate a response based on a secret of some sort
17 return $response;
18 };
19 my $key = File::KDBX::Key::ChallengeResponse->new($responder);
20
22 A challenge-response key is kind of like multifactor authentication,
23 except you don't really authenticate to a KDBX database because it's
24 not a service. Specifically it would be the "what you have" component.
25 It assumes there is some device that can store a key that is only known
26 to the owner of a database. A challenge is made to the device and the
27 response generated based on the key is used as the raw key.
28
29 Inherets methods and attributes from File::KDBX::Key.
30
31 This is a generic implementation where a responder subroutine is
32 provided to provide the response. There is also
33 File::KDBX::Key::YubiKey which is a subclass that allows YubiKeys to be
34 responder devices.
35
37 raw_key
38 $raw_key = $key->raw_key;
39 $raw_key = $key->raw_key($challenge);
40
41 Get the raw key which is the response to a challenge. The response will
42 be saved so that subsequent calls (with or without the challenge) can
43 provide the response without challenging the responder again. Only one
44 response is saved at a time; if you call this with a different
45 challenge, the new response is saved over any previous response.
46
47 challenge
48 $response = $key->challenge($challenge, @options);
49
50 Issue a challenge and get a response, or throw if the responder failed
51 to provide one.
52
54 Please report any bugs or feature requests on the bugtracker website
55 <https://github.com/chazmcgarvey/File-KDBX/issues>
56
57 When submitting a bug or request, please include a test-file or a patch
58 to an existing test-file that illustrates the bug or desired feature.
59
61 Charles McGarvey <ccm@cpan.org>
62
64 This software is copyright (c) 2022 by Charles McGarvey.
65
66 This is free software; you can redistribute it and/or modify it under
67 the same terms as the Perl 5 programming language system itself.
68
69
70
71perl v5.38.0 2023-09-F2i7le::KDBX::Key::ChallengeResponse(3)