public static async Task <Dictionary <string, RemoteAttestation> > GetAndVerifyMultiRemoteAttestation(PushServiceSocket socket, PushServiceSocket.ClientSet clientSet, string enclaveName, string mrenclave, string authorization) { Curve25519KeyPair keyPair = BuildKeyPair(); ResponsePair result = await MakeAttestationRequestAsync(socket, clientSet, authorization, enclaveName, keyPair); MultiRemoteAttestationResponse response = JsonUtil.FromJson <MultiRemoteAttestationResponse>(result.body); Dictionary <string, RemoteAttestation> attestations = new Dictionary <string, RemoteAttestation>(); if (response.Attestations !.Count == 0 || response.Attestations.Count > 3) { throw new MalformedResponseException($"Incorrect number of attestations: {response.Attestations.Count}"); } foreach (var entry in response.Attestations) { attestations.Add(entry.Key, ValidateAndBuildRemoteAttestation(entry.Value, result.cookies, keyPair, mrenclave)); } return(attestations); }
public static NetworkResponse Parse(MemoryStream dataStream) { var response = new ResponsePair(); response.status = DataReader.ReadShort(dataStream); response.id = DataReader.ReadInt(dataStream); response.gameID = DataReader.ReadInt(dataStream); return response; }
public static NetworkResponse Parse(MemoryStream dataStream) { var response = new ResponsePair(); response.status = DataReader.ReadShort(dataStream); response.id = DataReader.ReadInt(dataStream); response.gameID = DataReader.ReadInt(dataStream); return(response); }
public static async Task <RemoteAttestation> GetAndVerifyRemoteAttestationAsync(PushServiceSocket socket, PushServiceSocket.ClientSet clientSet, string enclaveName, string mrenclave, string authorization) { Curve25519KeyPair keyPair = BuildKeyPair(); ResponsePair result = await MakeAttestationRequestAsync(socket, clientSet, authorization, enclaveName, keyPair); RemoteAttestationResponse response = JsonUtil.FromJson <RemoteAttestationResponse>(result.body); return(ValidateAndBuildRemoteAttestation(response, result.cookies, keyPair, mrenclave)); }
public void OnPairResult(NetworkResponse response) { ResponsePair args = response as ResponsePair; int userID = GameState.account.account_id; if (args.status == 0) { Debug.Log("All players are ready to play [room id=" + args.id + "]"); this.room_id = args.id; this.enableRRButton = true; this.enableCWButton = true; var room = RoomManager.getInstance().getRoom(args.id); if (!room.containsPlayer(userID)) { room.addPlayer(userID); } // switch scene if (args.gameID == Constants.MINIGAME_RUNNING_RHINO) { RR.RRConnectionManager cManager = RR.RRConnectionManager.getInstance(); cManager.Send(RR_RequestRaceInit()); Game.SwitchScene("RRReadyScene"); } else if (args.gameID == Constants.MINIGAME_CARDS_OF_WILD) { CW.GameManager.matchID = args.id; CW.NetworkManager.Send(CW.MatchInitProtocol.Prepare (GameState.player.GetID(), args.id), ProcessMatchInit); } } else { Debug.Log("New room allocated [room id=" + args.id + "]"); var room = RoomManager.getInstance().addRoom(args.id, args.gameID); room.host = GameState.player.GetName(); room.addPlayer(userID); this.enableRRButton = false; this.enableCWButton = false; this.waiting = true; } }
public void OnPairResult(NetworkResponse response) { ResponsePair args = response as ResponsePair; int userID = GameState.account.account_id; if (args.status == 0) { Debug.Log("All players are ready to play [room id=" + args.id + "]"); this.room_id = args.id; this.enableRRButton = true; this.enableCWButton = true; // DH change this.enableMCButton = true; var room = RoomManager.getInstance().getRoom(args.id); if (!room.containsPlayer(userID)) { room.addPlayer(userID); } // switch scene if (args.gameID == Constants.MINIGAME_RUNNING_RHINO) { RR.RRConnectionManager cManager = RR.RRConnectionManager.getInstance(); cManager.Send(RR_RequestRaceInit()); Game.SwitchScene("RRReadyScene"); } else if (args.gameID == Constants.MINIGAME_CARDS_OF_WILD) { CW.GameManager.matchID = args.id; CW.NetworkManager.Send(CW.MatchInitProtocol.Prepare (GameState.player.GetID(), args.id), ProcessMatchInit); } else if (args.gameID == Constants.MINIGAME_MULTI_CONVERGENCE) { // DH change MultiConvergeGame.matchID = args.id; // game id short host = 0; // Default - not the host if (GameState.player.GetName() == room.host) { host = 1; // this is the host } NetworkManager.Send(MCMatchInitProtocol.Prepare (GameState.player.GetID(), args.id, host, GameState.player.GetName()), MCProcessMatchInit); Debug.Log("MC notice sent to server(game id, player id): " + args.id + " " + GameState.player.GetID()); Debug.Log("player id/name: " + userID + " " + GameState.player.GetName()); Debug.Log("This player host value is: " + host); } } else { Debug.Log("New room allocated [room id=" + args.id + "]"); var room = RoomManager.getInstance().addRoom(args.id, args.gameID); room.host = GameState.player.GetName(); room.addPlayer(userID); this.enableRRButton = false; this.enableCWButton = false; // DH change this.enableMCButton = false; this.waiting = true; } }