diff options
Diffstat (limited to 'anytun.cpp')
-rw-r--r-- | anytun.cpp | 48 |
1 files changed, 41 insertions, 7 deletions
@@ -84,7 +84,7 @@ void createConnection(const std::string & remote_host , u_int16_t remote_port, C seq_nr_t seq_nr_=0; KeyDerivation kd; - kd.init(Buffer(key, sizeof(key)), Buffer(salt, sizeof(salt))); +// kd.init(Buffer(key, sizeof(key)), Buffer(salt, sizeof(salt))); cLog.msg(Log::PRIO_NOTICE) << "added connection remote host " << remote_host << ":" << remote_port; ConnectionParam connparam ( kd, seq, seq_nr_, remote_host, remote_port); cl.addConnection(connparam,std::string("default")); @@ -95,10 +95,26 @@ void encryptPacket(Packet & pack, Cypher & c, ConnectionParam & conn, void* p) { Param* param = reinterpret_cast<Param*>(p); // cypher the packet - Buffer tmp_key(16), tmp_salt(14); + //Buffer tmp_key(16), tmp_salt(14); //TODO fix key derivation! - conn.kd_.generate(label_satp_encryption, conn.seq_nr_, tmp_key, tmp_key.getLength()); - conn.kd_.generate(label_satp_salt, conn.seq_nr_, tmp_salt, tmp_salt.getLength()); +// conn.kd_.generate(label_satp_encryption, conn.seq_nr_, tmp_key, tmp_key.getLength()); +// conn.kd_.generate(label_satp_salt, conn.seq_nr_, tmp_salt, tmp_salt.getLength()); + + + uint8_t key[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't' + }; + + uint8_t salt[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n' + }; + + Buffer tmp_key(key, sizeof(key)); + Buffer tmp_salt(salt, sizeof(salt)); + c.setKey(tmp_key); c.setSalt(tmp_salt); @@ -115,9 +131,27 @@ bool decryptPacket(Packet & pack, Cypher & c, ConnectionParam & conn) u_int16_t seq = pack.getSeqNr(); // decypher the packet - Buffer tmp_key(16), tmp_salt(14); - conn.kd_.generate(label_satp_encryption, seq, tmp_key, tmp_key.getLength()); - conn.kd_.generate(label_satp_salt, seq, tmp_salt, tmp_salt.getLength()); + //Buffer tmp_key(16), tmp_salt(14); +// conn.kd_.generate(label_satp_encryption, seq, tmp_key, tmp_key.getLength()); +// conn.kd_.generate(label_satp_salt, seq, tmp_salt, tmp_salt.getLength()); + + + + uint8_t key[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't' + }; + + uint8_t salt[] = { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n' + }; + + Buffer tmp_key(key, sizeof(key)); + Buffer tmp_salt(salt, sizeof(salt)); + + c.setKey(tmp_key); c.setSalt(tmp_salt); c.cypher(pack, seq, sid); |