Esempio n. 1
0
        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);
        }