diff options
author | Christian Schneppe <christian@pix-art.de> | 2017-04-13 20:56:11 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2017-04-13 20:56:11 +0200 |
commit | 09d7b611af577fb920f032521cc8f1603cb5ec40 (patch) | |
tree | fe4216fd695c78532ce52ea71863dfc9d14ac1e7 /src | |
parent | 0944064e2cf831f2be1d57d4d44505294f1bf21b (diff) |
use aesgcm:// uri scheme for omemo encrypted http upload
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/de/pixart/messenger/http/HttpUploadConnection.java | 2 | ||||
-rw-r--r-- | src/main/java/de/pixart/messenger/utils/CryptoHelper.java | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java b/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java index 15262e1a8..28a4d2469 100644 --- a/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java +++ b/src/main/java/de/pixart/messenger/http/HttpUploadConnection.java @@ -193,7 +193,7 @@ public class HttpUploadConnection implements Transferable { if (code == 200 || code == 201) { Log.d(Config.LOGTAG, "finished uploading file"); if (key != null) { - mGetUrl = new URL(mGetUrl.toString() + "#" + CryptoHelper.bytesToHex(key)); + mGetUrl = CryptoHelper.toAesGcmUrl(new URL(mGetUrl.toString() + "#" + CryptoHelper.bytesToHex(key))); } mXmppConnectionService.getFileBackend().updateFileParams(message, mGetUrl); mXmppConnectionService.getFileBackend().updateMediaScanner(file); diff --git a/src/main/java/de/pixart/messenger/utils/CryptoHelper.java b/src/main/java/de/pixart/messenger/utils/CryptoHelper.java index da9007a06..b5d3d6c61 100644 --- a/src/main/java/de/pixart/messenger/utils/CryptoHelper.java +++ b/src/main/java/de/pixart/messenger/utils/CryptoHelper.java @@ -8,6 +8,8 @@ import org.bouncycastle.asn1.x500.style.BCStyle; import org.bouncycastle.asn1.x500.style.IETFUtils; import org.bouncycastle.cert.jcajce.JcaX509CertificateHolder; +import java.net.MalformedURLException; +import java.net.URL; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateEncodingException; @@ -230,4 +232,15 @@ public final class CryptoHelper { return R.string.encryption_choice_pgp; } } + + public static URL toAesGcmUrl(URL url) { + if (!url.getProtocol().equalsIgnoreCase("https")) { + return url; + } + try { + return new URL("aesgcm" + url.toString().substring(url.getProtocol().length())); + } catch (MalformedURLException e) { + return url; + } + } } |