pub enum ManagerRequest {
AddCredential {
params: AddCredentialParams,
responder: ManagerAddCredentialResponder,
},
RemoveCredential {
label: u64,
responder: ManagerRemoveCredentialResponder,
},
CheckCredential {
params: CheckCredentialParams,
responder: ManagerCheckCredentialResponder,
},
}
Expand description
Manager manages the overall state of low entropy secrets, such as knowleged-based authentication factors, on a Fuchsia device. This includes inserting, deleting and validating credentials. With anti-hammering support built in to prevent pin brute forcing.
The Manager is the core of the credential management system and is intended only for use by highly trusted components such as the Password Authenticator.
Variants§
AddCredential
Adds a low entropy credential into the system.
params
see AddCredentialParams
.
Success returns a label for the newly provisioned credential. This
acts as a identifier which is used to check the credential or remove it
later on. This should be stored by the caller.
RemoveCredential
Removes a credential with the provided label.
On Failure: INVALID_LABEL if a label is provided which is not in the tree.
CheckCredential
Attempts to authenticate a credential. It checks whether the le_secret
for a given label
is correct.
On Success:
See CheckCredentialResponse
.
On Failure:
INVALID_LABEL if an invalid label was entered.
TOO_MANY_ATTEMPTS if too many incorrect attempts are made defined by the
delay_schedule
set on AddCredential.
INVALID_SECRET for an incorrect authentication attempt.
CORRUPT_METADATA for invalid credential metadata.
Implementations§
source§impl ManagerRequest
impl ManagerRequest
pub fn into_add_credential( self ) -> Option<(AddCredentialParams, ManagerAddCredentialResponder)>
pub fn into_remove_credential( self ) -> Option<(u64, ManagerRemoveCredentialResponder)>
pub fn into_check_credential( self ) -> Option<(CheckCredentialParams, ManagerCheckCredentialResponder)>
sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL