Ejemplo n.º 1
0
        private void Load(string filename)
        {
            using (var fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
            {
                using (var ms = new MemoryStream())
                {
                    byte[] buf = new byte[8192];
                    int    len;
                    while ((len = fs.Read(buf, 0, buf.Length)) != 0)
                    {
                        ms.Write(buf, 0, len);
                    }

                    var reader = new BufRefLen(ms.ToArray());

                    Certificate       = new I2PCertificate(reader);
                    PrivateSigningKey = new I2PSigningPrivateKey(reader, Certificate);
                    PublicSigningKey  = new I2PSigningPublicKey(reader, Certificate);

                    PrivateKey = new I2PPrivateKey(reader, Certificate);
                    PublicKey  = new I2PPublicKey(reader, Certificate);

                    MyRouterIdentity = new I2PRouterIdentity(reader);
                    Published        = new I2PDate(reader);
                    IntroKey         = reader.ReadBufLen(32);
                }
            }
        }
Ejemplo n.º 2
0
        public I2NPMessagesTest()
        {
            Private        = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            Public         = new I2PPublicKey(Private);
            PrivateSigning = new I2PSigningPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            PublicSigning  = new I2PSigningPublicKey(PrivateSigning);

            var CertificateEd25519 = new I2PCertificate(I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519);

            PrivateSigningEd25519 = new I2PSigningPrivateKey(CertificateEd25519);
            PublicSigningEd25519  = new I2PSigningPublicKey(PrivateSigningEd25519);

            Me = new I2PRouterIdentity(Public, new I2PSigningPublicKey(new BigInteger("12"), I2PKeyType.DefaultSigningKeyCert));
        }
Ejemplo n.º 3
0
        public GarlicTest()
        {
            Private = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            Public  = new I2PPublicKey(Private);

            Me = new I2PRouterIdentity(Public, new I2PSigningPublicKey(new BigInteger("12"), I2PKeyType.DefaultSigningKeyCert));

            DestinationPrivate = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            DestinationPublic  = new I2PPublicKey(DestinationPrivate);
            Destination        = new I2PRouterIdentity(DestinationPublic, new I2PSigningPublicKey(new BigInteger("277626"), I2PKeyType.DefaultSigningKeyCert));

            PrivateSigning = new I2PSigningPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            PublicSigning  = new I2PSigningPublicKey(PrivateSigning);
        }
Ejemplo n.º 4
0
        public GarlicTest()
        {
            Logging.LogToConsole = true;
            Logging.LogLevel     = Logging.LogLevels.DebugData;

            Private = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            Public  = new I2PPublicKey(Private);

            Me = new I2PRouterIdentity(Public, new I2PSigningPublicKey(new BigInteger("12"), I2PKeyType.DefaultSigningKeyCert));

            DestinationPrivate = new I2PPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            DestinationPublic  = new I2PPublicKey(DestinationPrivate);
            Destination        = new I2PRouterIdentity(DestinationPublic, new I2PSigningPublicKey(new BigInteger("277626"), I2PKeyType.DefaultSigningKeyCert));

            PrivateSigning = new I2PSigningPrivateKey(I2PKeyType.DefaultAsymetricKeyCert);
            PublicSigning  = new I2PSigningPublicKey(PrivateSigning);
        }
Ejemplo n.º 5
0
        private void NewIdentity(I2PCertificate cert)
        {
            Published   = new I2PDate(DateTime.UtcNow.AddMinutes(-1));
            Certificate = cert != null ? cert : new I2PCertificate(I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519);
            //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.EdDSA_SHA512_Ed25519 );
            //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.ECDSA_SHA256_P256 );
            //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.ECDSA_SHA384_P384 );
            //Certificate = new I2PCertificate( I2PSigningKey.SigningKeyTypes.DSA_SHA1 );
            PrivateSigningKey = new I2PSigningPrivateKey(Certificate);
            PublicSigningKey  = new I2PSigningPublicKey(PrivateSigningKey);

            var keys = I2PPrivateKey.GetNewKeyPair();

            PrivateKey = keys.PrivateKey;
            PublicKey  = keys.PublicKey;

            MyRouterIdentity = new I2PRouterIdentity(PublicKey, PublicSigningKey);
            IntroKey.Randomize();
        }