public async Task <ChadderError> PairDevice(ChadderUserDevice device) { try { var package = new PairDeviceContent() { Book = db.LocalUser.PrivateKeyBook }; var content = await EncryptForDevice(package, device); var request = new PairDeviceParameters() { DeviceId = device.DeviceId, Data = content.Serialize() }; var result = await AuthorizedRequest <BasicResponse <string> >(Connection.AccountHub, "PairDevice", request); if (result.Error == ChadderError.OK) { device.HasUserKey = true; await sqlDB.UpdateAsync(device); } return(result.Error); } catch (Exception ex) { Insight.Report(ex); return(ChadderError.GENERAL_EXCEPTION); } }
public async Task PairDeviceContent() { var keyFactory = new ECDSASimpleFactory(); var pairDevice = new PairDeviceContent(); pairDevice.Book = await keyFactory.GenerateBook(); var result = pairDevice.Serialize(); var content = Content.Deserialize(result); Assert.IsInstanceOfType(content, typeof(PairDeviceContent)); var contentPair = content as PairDeviceContent; Assert.IsTrue(contentPair.Book.IsEqual(pairDevice.Book)); }