private void RegisterToServer(Fido2RegistrationResponse fido2RegistrationResponse) { string Tag = "RegisterToServer"; if (!fido2RegistrationResponse.IsSuccess) { log.Error(Tag, GetString(Resource.String.reg_fail), fido2RegistrationResponse); return; } IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } ServerAttestationResultRequest request = ServerUtils.ConvertToServerAttestationResultRequest(fido2RegistrationResponse.AuthenticatorAttestationResponse); ServerResponse response = fidoServer.GetAttestationResult(request); if (!ServerStatus.Ok.Equals(response.GetStatus())) { log.Error(Tag, GetString(Resource.String.reg_fail) + response.GetErrorMessage()); return; } GetRegInfo(fidoServer); log.Info(Tag, GetString(Resource.String.reg_success)); }
private void OnClickDeregistration(object sender, EventArgs e) { string Tag = "OnClickDeregistration"; IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } string userName = UserName; if (userName == null) { return; } ServerRegDeleteRequest request = new ServerRegDeleteRequest(); request.Username = userName; ServerResponse response = fidoServer.Delete(request); if (!ServerStatus.Ok.Equals(response.GetStatus())) { log.Error(Tag, GetString(Resource.String.delete_register_info_fail) + response.GetErrorMessage()); return; } log.Error(Tag, GetString(Resource.String.delete_register_info_success)); }
private void OnClickRegInfo(object sender, EventArgs e) { string Tag = "OnClickRegInfo"; IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } GetRegInfo(fidoServer); }
private void OnClickAuthentication(object sender, EventArgs e) { string Tag = "OnClickAuthentication"; if (!fido2Client.IsSupported) { log.Info(Tag, "FIDO2 is not supported."); return; } IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } ServerPublicKeyCredentialCreationOptionsRequest request = GetAuthnServerPublicKeyCredentialCreationOptionsRequest(); if (request == null) { return; } // Obtain the challenge value and related policy from the FIDO server, and initiate a Fido2AuthenticationRequest // request. ServerPublicKeyCredentialCreationOptionsResponse response = fidoServer.GetAssertionOptions(request); if (!ServerStatus.Ok.Equals(response.GetStatus())) { log.Error(Tag, GetString(Resource.String.authn_fail) + response.GetErrorMessage()); return; } string attachmentMode = GetSpinnerSelect(attachmentSp.SelectedItem); bool isUseSelectedPlatformAuthenticator = Attachment.Platform.Value.Equals(attachmentMode); PublicKeyCredentialRequestOptions publicKeyCredentialCreationOptions = ServerUtils.ConvertToPublicKeyCredentialRequestOptions(fido2Client, response, isUseSelectedPlatformAuthenticator); AuthenticateToFido2Client(publicKeyCredentialCreationOptions); }
private void OnClickRegistration(object sender, EventArgs e) { string Tag = "OnClickRegistration"; if (!fido2Client.IsSupported) { log.Info(Tag, "FIDO2 is not supported."); return; } IFidoServer fidoServer = new FidoServerSimulator(); if (fidoServer == null) { log.Error(Tag, GetString(Resource.String.connect_server_err)); return; } ServerPublicKeyCredentialCreationOptionsRequest request = GetRegServerPublicKeyCredentialCreationOptionsRequest(); if (request == null) { return; } // Obtain the challenge value and related policy from the FIDO server, and initiate a Fido2RegistrationRequest // request. ServerPublicKeyCredentialCreationOptionsResponse response = fidoServer.GetAttestationOptions(request); if (!ServerStatus.Ok.Equals(response.GetStatus())) { log.Error(Tag, GetString(Resource.String.reg_fail) + response.GetErrorMessage()); } PublicKeyCredentialCreationOptions publicKeyCredentialCreationOptions = ServerUtils.ConvertToPublicKeyCredentialCreationOptions(fido2Client, response); RegisterToFido2Client(publicKeyCredentialCreationOptions); }