diff options
author | iNPUTmice <daniel@gultsch.de> | 2014-06-20 19:28:47 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2014-06-20 19:28:47 +0200 |
commit | 49b7c7779da38c215dfeb0b3ef19fbce2a6ea3e1 (patch) | |
tree | dff1dd4f4d9f62af5b9d74895f5c34db97d8e49d /src/eu/siacs/conversations/xmpp/jingle/JingleFile.java | |
parent | 1cf055d2fdbaa881cfc8ead6b78dc744e9dbe596 (diff) |
fixes for otr file transfer
Diffstat (limited to 'src/eu/siacs/conversations/xmpp/jingle/JingleFile.java')
-rw-r--r-- | src/eu/siacs/conversations/xmpp/jingle/JingleFile.java | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java b/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java index fd366754..3672351b 100644 --- a/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java +++ b/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java @@ -25,7 +25,11 @@ public class JingleFile extends File { } public long getExpectedSize() { - return this.expectedSize; + if (this.aeskey!=null) { + return (this.expectedSize/16 + 1) * 16; + } else { + return this.expectedSize; + } } public void setExpectedSize(long size) { @@ -41,18 +45,18 @@ public class JingleFile extends File { } public void setKey(byte[] key) { - Log.d("xmppService","using aes key "+CryptoHelper.bytesToHex(key)); if (key.length>=32) { byte[] secretKey = new byte[32]; System.arraycopy(key, 0, secretKey, 0, 32); - this.aeskey = new SecretKeySpec(key, "AES"); + this.aeskey = new SecretKeySpec(secretKey, "AES"); } else if (key.length>=16) { - byte[] secretKey = new byte[15]; + byte[] secretKey = new byte[16]; System.arraycopy(key, 0, secretKey, 0, 16); - this.aeskey = new SecretKeySpec(key, "AES"); + this.aeskey = new SecretKeySpec(secretKey, "AES"); } else { Log.d("xmppService","weird key"); } + Log.d("xmppService","using aes key "+CryptoHelper.bytesToHex(this.aeskey.getEncoded())); } public Key getKey() { |