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)); }
ServerResponse IFidoServer.GetAttestationResult(ServerAttestationResultRequest attestationResultRequest) { ServerResponse response = new ServerResponse(); ServerRegInfo info = new ServerRegInfo(); info.CredentialId = attestationResultRequest.Id; regInfos.Add(info); return(response); }
public static ServerAttestationResultRequest ConvertToServerAttestationResultRequest(AuthenticatorAttestationResponse authenticatorAttestationResponse) { ServerAttestationResultRequest request = new ServerAttestationResultRequest(); ServerAttestationResultResponseRequest attestationResponse = new ServerAttestationResultResponseRequest(); attestationResponse.AttestationObject = ByteUtils.ByteToBase64(authenticatorAttestationResponse.GetAttestationObject()); attestationResponse.ClientDataJSON = ByteUtils.ByteToBase64(authenticatorAttestationResponse.GetClientDataJson()); request.Response = attestationResponse; request.Id = ByteUtils.ByteToBase64(authenticatorAttestationResponse.GetCredentialId()); request.Type = "public-key"; return(request); }