Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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));
        }