示例#1
0
        // Local event processing

        partial void ProcessEachInitIvExpand(InitIvExpand initIvExpand)
        {
            packetHandler.ReceivedFinalInitAck();

            var result = ts3Crypt.CryptoInit(initIvExpand.Alpha, initIvExpand.Beta, initIvExpand.Omega);

            if (!result)
            {
                DisconnectInternal(context, Util.CustomError($"Failed to calculate shared secret: {result.Error}"));
                return;
            }

            DefaultClientInit();
        }
示例#2
0
        private void ProcessInitIvExpand(InitIvExpand initIvExpand)
        {
            var password = connectionDataFull.IsPasswordHashed
                                ? connectionDataFull.Password
                                : Ts3Crypt.HashPassword(connectionDataFull.Password);

            ts3Crypt.CryptoInit(initIvExpand.Alpha, initIvExpand.Beta, initIvExpand.Omega);
            packetHandler.CryptoInitDone();
            ClientInit(
                connectionDataFull.Username,
                true, true,
                string.Empty, string.Empty, password,
                string.Empty, string.Empty, string.Empty, "123,456",
                VersionSign);
        }
示例#3
0
        private void ProcessClientInitIv(ClientInitIv clientInitIv)
        {
            Log.Info("clientinitiv in");
            lock (statusLock)
            {
                if (ts3Crypt.CryptoInitComplete)
                {
                    return;
                }

                var beta = new byte[10];
                Util.Random.NextBytes(beta);
                var betaStr = Convert.ToBase64String(beta);

                InitIvExpand(clientInitIv.Alpha, betaStr, ts3Crypt.Identity.PublicKeyString);

                ts3Crypt.CryptoInit(clientInitIv.Alpha, betaStr, clientInitIv.Omega);
            }
        }
示例#4
0
        private void ProcessInitIvExpand(InitIvExpand initIvExpand)
        {
            var password = connectionDataFull.IsPasswordHashed
                                ? connectionDataFull.Password
                                : Ts3Crypt.HashPassword(connectionDataFull.Password);

            ts3Crypt.CryptoInit(initIvExpand.Alpha, initIvExpand.Beta, initIvExpand.Omega);
            packetHandler.CryptoInitDone();
            try
            {
                ClientInit(
                    connectionDataFull.Username,
                    true, true,
                    connectionDataFull.DefaultChannel,
                    Ts3Crypt.HashPassword(connectionDataFull.DefaultChannelPassword),
                    password, string.Empty, string.Empty, string.Empty,
                    connectionDataFull.HWID, VersionSign);
            }
            catch (Ts3CommandException) { }
        }