Beispiel #1
0
        public KRB_AS_REP AS(KRB_AS_REQ req)
        {
            // Invent key SA
            Key sa = new Key(7);

            sa.CreateRandomKey();

            // Finds User's master key Ka
            Key ka = GetUserKey(req.User);

            // TGT = K_KDC[User, SA]
            Tgt tgt = new Tgt(this.k_kdc, req.User, sa);

            // Return KA(SA, TGT)
            KRB_AS_REP krb_as_rep = new KRB_AS_REP(ka, sa, tgt);

            return(krb_as_rep);
        }
        private bool FindTgtPositions()
        {
            _tgtPositions.Clear();

            if (_tgtName.Contains('|'))
            {
                var tgtNames = _tgtName.Split('|').Select(tgt => tgt.Trim()).ToList();
                foreach (var tgtName in tgtNames)
                {
                    _tgtPositions.AddRange(Tgt.FindAll(tgtName));
                }
            }
            else
            {
                _tgtPositions.AddRange(Tgt.FindAll(_tgtName));
            }
            return _tgtPositions.Count > 0;
        }
Beispiel #3
0
        public void search()
        {
            Src v1 = Src.SESHP;
            Tgt v2 = Tgt.SMONEYC;

            Console.WriteLine("--- original");
            Console.WriteLine("v1: " + v1 + ", " + v1.ToString("x") + ", {0:x}", (int)v1);
            Console.WriteLine("v2: " + v2 + ", " + v2.ToString("x") + ", {0:x}", (int)v2);

            Console.WriteLine("--- by Parse");
            v2 = (Tgt)Enum.Parse(typeof(Src), v1.ToString());
            Console.WriteLine("v1: " + v1 + ", " + v1.ToString("x") + ", {0:x}", (int)v1);
            Console.WriteLine("v2: " + v2 + ", " + v2.ToString("x") + ", {0:x}", (int)v2);

            v2 = Tgt.SMONEYC;
            Console.WriteLine(Environment.NewLine + "--- original");
            Console.WriteLine("v1: " + v1 + ", " + v1.ToString("x") + ", {0:x}", (int)v1);
            Console.WriteLine("v2: " + v2 + ", " + v2.ToString("x") + ", {0:x}", (int)v2);

            Console.WriteLine("--- by TryParse");
            Enum.TryParse <Tgt>(v1.ToString(), true, out v2);
            Console.WriteLine("v1: " + v1 + ", " + v1.ToString("x") + ", {0:x}", (int)v1);
            Console.WriteLine("v2: " + v2 + ", " + v2.ToString("x") + ", {0:x}", (int)v2);
        }