示例#1
0
        private static void HandleAkep2Message2(SksMessageReceivedEventArgs sksMessageReceivedEventArgs)
        {
            var user = GetUserByIpAndPort(sksMessageReceivedEventArgs.FromIp, sksMessageReceivedEventArgs.FromPort);

            Akep2 akep2;

            lock (akep2sLock)
            {
                akep2 = Akep2s.FirstOrDefault(a => a.User == user);
            }

            if (akep2 == null)
            {
                return;
            }

            var message = Akep2Message2.FromString(sksMessageReceivedEventArgs.Message, user.Key);

            akep2.NonceB = message.NonceB;

            var newMessage = new Akep2Message3(MyUsername, akep2.NonceB, user.Key);

            user.SendMessage(newMessage.ToString());

            akep2.IncrementMessageCount();
        }
示例#2
0
        private static void HandleAkep2Message1(SksMessageReceivedEventArgs sksMessageReceivedEventArgs)
        {
            var user = GetUserByIpAndPort(sksMessageReceivedEventArgs.FromIp, sksMessageReceivedEventArgs.FromPort);

            var akep2 = InitAkep2(user, SksClientType.Remote);

            if (akep2 == null)
            {
                return;
            }

            var message = Akep2Message1.FromString(sksMessageReceivedEventArgs.Message);

            akep2.NonceA = message.NonceA;
            akep2.NonceB = Utils.GenerateRandom16();

            var newMessage = new Akep2Message2(MyUsername, user.Name, akep2.NonceA, akep2.NonceB, user.Key);

            user.SendMessage(newMessage.ToString());

            akep2.IncrementMessageCount();
        }