Ejemplo n.º 1
0
        public string HandleIncomingMsgFromNode(string msgwsig, SafeNode node)
        {
            string[] msg = msgwsig.Split('²');
            if (!new SignatureVerifier().Verify(msg[1], Convert.FromBase64String(msg[0]), node))
            {
                return("SIGERR");
            }
            if (msg[1].Equals("PING"))
            {
                return("PONG");
            }
            string[] msgData = msg[1].Split('|');
            switch (msgData[0])
            {
            case "REQUESTSECUSITE":
                break;

            case "HOP":
                break;

            default:
                return("Whatdoyoumean?");
            }
            return("");
        }
Ejemplo n.º 2
0
        public void CreateI2PConnection2Node(SafeNode node, out SslStream ssl)
        {
            I2PSocketManager manager = I2PSocketManagerFactory.createManager();
            Destination      D       = new Destination(node.hiddenid);
            I2PSocket        socket  = manager.connect(D);

            ssl = null;
        }
Ejemplo n.º 3
0
 private void Load()
 {
     string[] NodeFileData = File.ReadAllLines(Application.StartupPath + "\\nodes.dat");
     foreach (string l in NodeFileData)
     {
         SafeNode cloadednode = LoadSingle <SafeNode>(l);
         Nodes.Add(cloadednode.identity.name, cloadednode);
     }
 }
Ejemplo n.º 4
0
        public bool Verify(string msg, byte[] signature, SafeNode node)
        {
            X509Certificate2         cert     = node.identity.PubKey;
            RSACryptoServiceProvider csp      = (RSACryptoServiceProvider)cert.PublicKey.Key;
            SHA512Managed            sha512   = new SHA512Managed();
            UnicodeEncoding          encoding = new UnicodeEncoding();

            byte[] data = encoding.GetBytes(msg);
            byte[] hash = sha512.ComputeHash(data);
            return(csp.VerifyHash(hash, CryptoConfig.MapNameToOID("SHA512"), signature));
        }
Ejemplo n.º 5
0
 private bool ParseData(string data)
 {
     string[] clientData = data.Split('|');
     _node = new SafeNode(clientData[0], "", 1, new X509Certificate2(Convert.FromBase64String(clientData[1])), false);
     return(true);
 }
Ejemplo n.º 6
0
 public ClientHandler(SafeNode node)
 {
     this.node = node;
 }