Digital Authentication Framework  6.0.1.37
authglue.h
Go to the documentation of this file.
1 /*
2  * (c) 2014 Good Technology Corporation. All rights reserved.
3  */
4 
5 #ifndef DAF_AUTHGLUE_H
6 #define DAF_AUTHGLUE_H
7 
8 #include "../daf/DigitalAuthenticationFramework.h"
9 #include "daf_auth_state.h"
10 
60 {
61 public:
63  virtual ~DAAuthProtocol() {}
64 
66  virtual DAError &getLastError() =0;
67 
71  virtual bool requiresExistingPassphrase() const =0;
72 
75  virtual bool inputExistingPassphrase(const std::string &string) =0;
76 
80  virtual bool requiresNewPassphrase() const =0;
81 
84  virtual bool inputNewPassphrase(const std::string &string) =0;
85 
87  virtual bool finished() const =0;
88 
94  virtual bool getSecret(DAData &out) =0;
95 
101  virtual bool getNewSecret(DAData &out) =0;
102 };
103 
104 /* All these return a heap-allocated DAAuthProtocol. The caller
105  * must delete when done. */
106 
116 DAAuthProtocol * DAAuthEnroll(DADevice &device, DASession &sess, DAAuthState &state);
117 
129 
141 
142 #endif
143 
virtual ~DAAuthProtocol()
Virtual destructor.
Definition: authglue.h:63
Long term state for authglue library.
Definition: daf_auth_state.h:26
virtual DAError & getLastError()=0
Retrieve the current error information for this protocol.
Interface to "session" object.
Definition: DigitalAuthenticationFramework.h:196
virtual bool inputNewPassphrase(const std::string &string)=0
Inputs a fresh pasphrase.
DAAuthProtocol * DAAuthChangePassphrase(DADevice &device, DASession &sess, DAAuthState &state)
Begins a DAF authentication roll-over process.
DAAuthProtocol * DAAuthAuthenticate(DADevice &device, DASession &sess, DAAuthState &state)
Begins a DAF re-authentication process.
virtual bool requiresNewPassphrase() const =0
Returns true if this protocol requires input of a fresh passphrase.
virtual bool requiresExistingPassphrase() const =0
Returns true if this protocol requires input of an existing user passphrase.
virtual bool inputExistingPassphrase(const std::string &string)=0
Inputs an existing passphrase.
virtual bool getNewSecret(DAData &out)=0
Extracts the new authentication secret, as a result of a enrollment or passphrase change protocol...
Co-ordinates calls required for enrollment, authentication and passphrase change. ...
Definition: authglue.h:59
virtual bool finished() const =0
Returns true if this protocol instance completed successfully.
Internal state stored by authglue library.
Interface for error reporting.
Definition: DigitalAuthenticationFramework.h:81
DAAuthProtocol * DAAuthEnroll(DADevice &device, DASession &sess, DAAuthState &state)
Begins a DAF authentication enrollment process.
std::vector< uint8_t > DAData
A data block represented as a sequence of bytes.
Definition: DigitalAuthenticationFramework.h:28
virtual bool getSecret(DAData &out)=0
Extracts the resulting authentication secret.
Interface to device object.
Definition: DigitalAuthenticationFramework.h:159