Ejemplo n.º 1
0
 internal IntroducerInfo(string host, string port, string ikey, string tag)
 {
     Host     = IPAddress.Parse(host);
     Port     = int.Parse(port);
     IntroKey = new BufLen(FreenetBase64.Decode(ikey));
     IntroTag = uint.Parse(tag);
 }
Ejemplo n.º 2
0
        // We are client
        public SSUSession(SSUHost owner, IPEndPoint remoteep, I2PRouterAddress remoteaddr, I2PKeysAndCert rri, IMTUProvider mtup, RouterContext rc)
        {
            Host              = owner;
            RemoteEP          = remoteep;
            RemoteAddr        = remoteaddr;
            RemoteRouter      = rri;
            MTUProvider       = mtup;
            MyRouterContext   = rc;
            TransportInstance = Interlocked.Increment(ref NTCPClient.TransportInstanceCounter);

#if LOG_ALL_TRANSPORT
            DebugUtils.LogDebug("SSUSession: " + DebugId + " Client instance created.");
#endif

            Fragmenter = new DataFragmenter();

            if (RemoteAddr == null)
            {
                throw new NullReferenceException("SSUSession needs an address");
            }

            IntroKey = new BufLen(FreenetBase64.Decode(RemoteAddr.Options["key"]));

            MTU = MTUProvider.GetMTU(remoteep);
        }
Ejemplo n.º 3
0
        public I2PDestinationInfo(string base64)
        {
            var reader = new BufRefLen(FreenetBase64.Decode(base64));

            Certificate       = new I2PCertificate(reader);
            PrivateKey        = new I2PPrivateKey(reader, Certificate);
            PublicKey         = new I2PPublicKey(reader, Certificate);
            PrivateSigningKey = new I2PSigningPrivateKey(reader, Certificate);
            PublicSigningKey  = new I2PSigningPublicKey(reader, Certificate);
        }
Ejemplo n.º 4
0
        public void TestEGCompatibilityDecode()
        {
            var priv = new I2PPrivateKey(
                new BufRefLen(FreenetBase64.Decode(PRIVATE_KEY)),
                new I2PCertificate());

            var pub = new I2PPublicKey(
                new BufRefLen(FreenetBase64.Decode(PUBLIC_KEY)),
                new I2PCertificate());

            for (int i = 0; i < ENCRYPTED.Length; ++i)
            {
                var decr = ElGamalCrypto.Decrypt(
                    new BufLen(FreenetBase64.Decode(ENCRYPTED[i])),
                    priv,
                    true);

                var clear = new BufLen(Encoding.UTF8.GetBytes(UNENCRYPTED[i]));
                Assert.IsTrue(decr == clear);
            }
        }
Ejemplo n.º 5
0
        public void TestEGDecrypt()
        {
            var mi =
                "niPls-Doz1DJ3ua4pQDwstMeqnmznBCU~qaxIidv" +
                "jTW~ohDDpq3BatYwTSM-fIr-eEy4Amdl-tWJTXRO" +
                "2UzftkuD1-t-Ix9EfED26KrUxnwx2fC74Haykj9L" +
                "oytqFTFbYj34kMCUDDbhAqv6Ep3EDY8Am7WYqSJL" +
                "stXXV4tUFZ~mteCm1qfNUbbl6itCUId7zcgkW6SX" +
                "rwdkno3Ul4H~WVDtmewlxdDbT-rYyOJTnp4Y39Mo" +
                "8B1ojtMuGCgtbk-LS4gJmlXeCJh~1kHiM-nLIB9W" +
                "rtq8O4weJ~-R36obERZofGOV3D3kSKSoawXVcq4V" +
                "BlQOHTn24LkTHYLh3O~0SZlT0KfU5WrqTZtu8jZ~" +
                "B0q-cvrfqqWcmCFCoKW3WSJ5D0qZi1e9sLMebM96" +
                "asSRFZvlOUp8xZm84Z-au~m3EmkAaF4QlAzufA~L" +
                "~1RFaepKpfng0eWfWG73H1daoL3c2e3Pt~5m07FR" +
                "ZMr6TZoj1IsuI7J-QXRGfvbuMjJqB-tMBQAEAAcA" +
                "ADJtDgiK2OMz6qSmopA~cLUMW~zQesBqsoYx9AEc" +
                "sOIkp4g8YgRK2jJhfY46h7aj76ftkV-5uF6xoDUG" +
                "kbIQGH3rjneTQ2wspOz2WRpQk0MW6Ugd0H~5vYK2" +
                "ekploxq2gOil0Ad1rz~uobpE2bBKYK9B-EEkRKEP" +
                "-GTX6DSyosFXxMC1I5cwLDWmXktdNVuzt56AxfcL" +
                "Nzh9gd1R4l903-aFRiY~VXFHg1NjWBPcjCCz6fpL" +
                "U0XIdg6hf~DNMnd5D4C27HYujxUi6tj42sikDCPu" +
                "P6CBGAH~j7vzqkDxW2wker91lwwp~6N8jN4xcvme" +
                "-EI27LPGnOICvpzxdVrKtpc0Ib4dOe8SFkvxSR4x" +
                "PDSGWFF-~vAELzyHTYiE07ahNw==";

            var myinfo = FreenetBase64.Decode(mi);

            var ed =
                "AAAOggAE3uf0930YRPZqauUGNYgj5Ix7aoMz0ZO8" +
                "OIYpRS9zFi6CHe-SXOCeZMgOSxdkp320s70lnAJ9" +
                "2Z0fjP9WbBeKuCPjZSyMa-MQ4Bq5Sv~iXK-5T~ui" +
                "m9WTMnwzWIltbt2Toncx-9aAGsIgoABUpzQ1yjsG" +
                "-DwSEazn1ZsGAxGXI74SqokXGBggerXCtAhpTOTJ" +
                "MsFteib29WhURmPxLXPxtoCqav8hEUjEyBy2pnPE" +
                "h-3fcZPhxfK5FI0h0vZO0ZATZx~0RDV9NyxwaAMy" +
                "llav8iG2nFmVd7hkvWSVdcaRp2gpZuDcM9aXb2yo" +
                "xIagerhVF8Dyfbib3YX8GP9tvOhBAGWSRlvNIW6i" +
                "ImwOHJPuCbD4f2Ombp2VENYfKH~Tc4JP53DOnLs0" +
                "1pMze3xLaK0LsoPwR2LgYfamxbGDINa8KNB0PXC7" +
                "l7zcO6vDuC~mlVgs6VkkC-kirW8QMpO9t7v49l3y" +
                "tqlHBLU~khJwBFYuQEoB78bt~RQANw6R6V12yRIE" +
                "oW8dGJh5P1eGAFgO24oHyfLdKB-vfm1SZQB5MVyU" +
                "Ec6Hv4AKDBsxFqzFbThSgURqWk~AL9v-LuMhz034" +
                "jq-fGZtUY3l~ogz12IxdJIJVsjvJ2jWE-8NyFzC5" +
                "NhCSYV8jgdbL56ISMNPT9PRuiIyMHJ1w1NfypZ3c" +
                "aHKEnIjBzpj6R-9~~8PjLvdNO9cVaur5OLOGf4Q3" +
                "ABbqj9rg5uMJYIrFgddB4uETzb97Iue8BJr8XTRh" +
                "mwihpOLabG9r1b4-X1Z1HpBZxp8ml3xlZ-Lw6zp3" +
                "rQj2O84fSr0pxQh04Q-gIPBq7d4fS74uHMhN6rMx" +
                "bydEq0QQe4cqHDlGO-WZuTmK0tN-vMkwgHRXlz18" +
                "AdFFTf4caSoYerKPCk07neOWn0Vop1ni3DTRL~Tv" +
                "k04ZxNLnuuuor8gBh~jVFS-S9EnKkLcWJtJFcVbY" +
                "y9ZK-4caSvFGz1-Qf0elJKA-cpx7-ivKIQLQEuhx" +
                "5U6FrnJvchbY4JaZq2QzXVRF8s7X04kYOWWmAPXt" +
                "C3xE58e9s4-5MJhLNjdsjXoJ0R9jBleMWF-RsVwy" +
                "QNlTtabQDtDUzVeEQNRAHu9nVc0mJ18NH04KFMbH" +
                "jTWpgY1wDFB9566C9OOKzK-gkTjzO5RlSwDn5sgN" +
                "iejCOqM0-4JzMlFQNCuhMvmYAglRG8dLDZ3WjYck" +
                "NiRqHP2iKMyGQThwIS~TCzc-i5WgNzjLKPnWhhKm" +
                "1uvsZiWdnVAn9IOsFuOYvuR5NBnRJb~lYWI~zlvT" +
                "8riNkMIrnCE4CF380NEPfulMM6~98XVtmuMTY-Im" +
                "Zut2O1kz0OCBvCiYClrFlSlVDVoYEbVmkyoBKjiq" +
                "dGdPtLC5FnX6eC2bcUNGFOOY32ozF3UUsaRWVMrC" +
                "Y824xhPxcCt2yiJ~rSXAEBN2qtVW90wYzamz9pw6" +
                "XiNUdhshjLrOb-qVAnC33Kak89wbPtMGh6uXljR4" +
                "YxZ3gW2Tl9LIu4~5QP~sS7plo19-bdRfL8uAZ63j" +
                "gy-fY71std81WBfthqlOTFJMf~c-EU8xj90O408z" +
                "qYfFty-wgBBfYeeHdyWAWrqbfwLCMlHGGN0M-dbV" +
                "SjzwgSeLTYbdPrX1Dr6NHxSnJ9br0sXfoFUao1xa" +
                "4FN556lbolHjV0ns~6IbOVWElDNNecsLxjTWKgdA" +
                "CrLdh2ZMFL9M56H2Xdz4Adsm5vY1K6kCcLPgbpgb" +
                "~~gl-Qq4AEc~-nV6fxpu7pmH3HfTXIm0aDtR1KG7" +
                "kEHv-MreoFvmWvnVCj6tqJr5LAOKCDTvm7cw5fYc" +
                "27gsskqG~SM~1TyPkF5sb5~xX1EkAYm9PC0pA9WG" +
                "1~M4640pRCzbVl7jWqf1B~RPc7FRs3wMZqHu6SJW" +
                "kDRfvupQeNU6TXTkVPwJZcfTElH9ajcu23ucNXP-" +
                "Glp-00AZZA2fwOzdJe8AlzBIReLRyWKza5hLqmAy" +
                "paI1e5wSFDgXH027-tXLCYw-l2rsHl2aDO-M0Psj" +
                "OOA4GhdBUlLZWdy6OAI1~vpssgFY9CUErqR6m7LA" +
                "mLa9NaBFtTt~ZUYgc0TyrYfXjecl-jxUcPnYEo3u" +
                "YiBx3kk73LQWI-jj4IqKxUf1Rjp6b~Vhw77NFQPr" +
                "vqe91ICRuo9XTMavCQP8R1Lg2R7CwljE2qLJ0qxM" +
                "UN34gUfOIdQzBi~ApnG~aLoRwwro2U2MA63RMKkZ" +
                "OoXpjAmPj1xGqsQ73bI3lpfpHFLbWm3Ax37t2aud" +
                "c7-nPoaKoNvNIC0~28jROr35UGCKNMSNmqrifhHB" +
                "wsIqqMrubLjjmts-ELHWZF~1AZEDKMGrF3j-zGVg" +
                "LAhaSCvG3CNjaHTiAkPXc5zRwFLi5XTof1QipptG" +
                "u~j6-0Kpcwb5aWUD4q0JFxJPd0pt5p8N8r8Y04RR" +
                "TSzzyQsC8iGUDsmQyAnsquvMBpMBoCd3pOsSwYu3" +
                "d0A7UAoEI0S3Cp4JPndz2waXB4RhJzmHQu3JYv3A" +
                "IzYNfKvLwkZVdky-e7MqHtrSJU6HErb7JE7CgtW1" +
                "Gv-WYaCGZZR5qt3x-43CCYN9qnLpSIOXL17yK6P1" +
                "wsc2lXnAj6IYzppaH6~CtP3WnrsiEzh6lznkQbDx" +
                "pFygHfhvQQBJbhfjLL6-0RWG52oVsurXnT4og0oW" +
                "0itSdrP2tFjKc3aFkG4toWyDpfEOS427cPxRRNv6" +
                "6uEq-giDYHxVuk5k4TQ9bBp4HaWSKS55vr-oz5FF" +
                "SjT~p3-7WViVeoSO4wbcO7x2djkaQ7rWm6eiggut" +
                "NKw3WVNTG-oEQWuauwWp7mHwbDmTC7i-j4dvxMfz" +
                "k4gRWFOZpOEXIuiVBp20Ljy53fqZaSmijYqJwpRi" +
                "l~g6h-gvc43GMdoC48ryj0ClTN209Ua20YN54lg~" +
                "izHnl6X-VnmgPr298LKe0COK0xlDLKj~tu2CIzi3" +
                "mNwe4eLWfsmKRGrcXMwfz7F2SfOfNpqXbpgAV9AZ" +
                "Qy-SPuqFxNTcmclIzWKudDECoUqADHu3-tLijV0m" +
                "uer990OtbKeSrW9ICCVpjrbh5aPezOLNXcDkfxGB" +
                "S~yLpUgLn1aCFQv6Bz1htwfEpeKfqQvwVfD17SoW" +
                "-8XBA2ORSqXGOL9x93tzmt1pspsfgehXTqEVerH9" +
                "H9qCAECvRtyHu7jh-DNxFtnA-w5PTg7sf0uKKMOf" +
                "qtvIrpJulVuPl~JX89aigeihJXAQoc-QD5aMBVYC" +
                "n55mgrYUEKfe4~yYYYdkJCG0zwD5mADMA-elcNUI" +
                "ojXYff~X4eJwm1upbS5LpVyH4D-F57JMJKBFOUA4" +
                "Z6i1qTjQInIDYeinHKRThB9hz3EIB18TvroAz5Yl" +
                "UdE-BmdrXsXHztucbfw4GQ5LamIGHeYrapJ4QkRm" +
                "s~a5kdy78FrTV4drRuqoGWlpB9MORKyUVKZbQJND" +
                "6ncPyrRLaVTXy4m~L2MZoi4mPifkH6JdCUtyHK4f" +
                "Z0Ch1CSjHBr~kN3FoQRW4fJ9SazZ7sreYJLHOBhf" +
                "IdJTlu6ZX~nVwDzBZSg-kDj0phD7iWSAy9tI-qjq" +
                "nLkoZZj7oDt~L1Z-M~pXgsZkfIYN2nfoC3JV~HFl" +
                "W7DB3HEphkpU2cCzr2-BBFGGftNup6O1rohh1OSD" +
                "1T9OOACf-VvRk~z1motf5Y9oboEljWgrsqXSgDWM" +
                "Nsmk7WBv0e8H8SaNiKwoRiT4Y6EVjIe5Ft5pw7r7" +
                "7s3RhsGA6EcmRT8POELuJz5Q7qK7rYbDw1Ooil9v" +
                "ebQ7Zo9m~FpTAGAnuIgcPvmFfcgdI9Y46SV1JK4f" +
                "N91F5dm~7BXZcstbE3cinOV7VEiUEUUPiZaW6dXv" +
                "7dEwrELbD0gFStVy5IGuy1gqsygVxCvQwXFZ2j0N" +
                "EpYr0NTIwEOWKol17u3UTBSY6zhhajSPxl1f0QeF" +
                "yybEcw41IHy1fDZ3RfihzHIislrcDYHQ3mr~kdYC" +
                "oUlK83CKpQL2NJPKtLXsx0ATPjSYOg9Q25rf9v8c" +
                "joNrHERzhbDgqeCIXmSF5nLEpys~yRKLYpl7RLPS" +
                "fptt5gLOVNLmp~Z4CAKjLN-aqMYNopmy92-u74fb" +
                "u-d7UftyaZHNgT2QNP7TDrwYfivNKRS6detKwTYH" +
                "fxVpGRDT2HIHXZE3xCfZa6YmfPCrl0kAKAt1NB4i" +
                "VBb~TJ0p43CuaMnT~Mu7vXkwGVKJtZ3bGQfUtEhJ" +
                "xh61nVfh3k1F3EuczB~f1ekAZDMa9qhkp-Rv67~S" +
                "97ASXgyz673QLIoksK2udHB0iHPL6H2pJlBpv4oH" +
                "4YnA0o4ejTUy5vLgret0ItpMao4waezWK8TMHAzD" +
                "STd76eOIacKbIYkuorpx2atQrHizDQ9vPSIvurH7" +
                "8gMHJ03JnYoh60zIvZIqDajTS9vrqIvvu5HaB2re" +
                "bqmfMx2XKEvjqEBA7hPdqXR6n9typIcj1tqdHK-h" +
                "9iOYkQ81u64y6SgYMxuXNd38AFTUUouh1OQp2jVv" +
                "pnLLR-vUT1-G-lO8Xw5wrlwx6G4BA3peKmaMIxBu" +
                "iJA0qLUc336-oFXvThUh2JwT9RshrKclS7vp-zc9" +
                "8dzAXxATuxKakXZaJGQ91xWyTkz8lFzuGnfWK5HF" +
                "CgNiOa2F8nbR5kzofCXyYHyRbp9pT8Ek1xAK0Ayp" +
                "FYwqfcVFZnhe0TXcup5UDgdFlroirzfJaDIbQKBz" +
                "O4cS68Kd4YV9HPgu2de84dz~PfIgredg-A-rKon8" +
                "1ZhGylOgaXCDNNag9mjdF7B5nFjddYytaOgFCTDR" +
                "G0ntFV8mMDIwxW9GZtt6MSJQSJqjdOM1ywFdPrdX" +
                "GDKnib~NO247LxGLa05wUZPMvg92~mPgg9SkD9v4" +
                "-g008LITmMajbpE8~0t-jijMKJkPCQxOaBsH5-fn" +
                "uToqxg-xm0d9wg48Xr5BmirS5UbC7pS-U9pKI1E8" +
                "vp~DWbxxRpulZYhgNq2-cR2w7ie01mDleoUv-tdk" +
                "T9L1erdyTAhHrw2YNe0SD8OmyvW4aPPsjAGMeg==";

            var egdata = FreenetBase64.Decode(ed);

            var di = new I2PDestinationInfo(new BufRefLen(myinfo));

            var decr = ElGamalCrypto.Decrypt(new BufLen(egdata, 4, 514), di.PrivateKey, true);
        }
Ejemplo n.º 6
0
 public I2PDestinationInfo(string base64)
     : this(new BufRefLen(FreenetBase64.Decode(base64)))
 {
 }