예제 #1
0
        public override void Write(List <byte> dest)
        {
            dest.AddRange(BitConverter.GetBytes(SessionId));
            var dummy = new I2PSigningPrivateKey(new I2PCertificate());

            dummy.Write(dest);
            //Info.PrivateSigningKey.Write( dest );
            Info.PrivateKey.Write(dest);
            Leases.Write(dest);

            /*
             * var ar = dest.ToArray();
             * int ix = 22;
             * var pivk = new I2PPrivateKey( ar, ref ix );
             * ix = 665;
             * var refpubk = new I2PPublicKey( ar, ref ix );
             * var diff = ( new I2PPublicKey( pivk ) ).Key.Subtract( refpubk.Key );
             * var ok = diff.CompareTo( BigInteger.Zero ) == 0;
             */
        }
예제 #2
0
        public void Save(string filename)
        {
            var fullpath = GetFullPath(filename);

            using (var fs = new FileStream(fullpath, FileMode.Create, FileAccess.Write))
            {
                var dest = new List <byte>();

                Certificate.Write(dest);
                PrivateSigningKey.Write(dest);
                PublicSigningKey.Write(dest);

                PrivateKey.Write(dest);
                PublicKey.Write(dest);

                MyRouterIdentity.Write(dest);
                Published.Write(dest);
                IntroKey.WriteTo(dest);

                var ar = dest.ToArray();
                fs.Write(ar, 0, ar.Length);
            }
        }