-
Notifications
You must be signed in to change notification settings - Fork 886
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OMEMO Media Sharing via HTTP File Upload #317
base: master
Are you sure you want to change the base?
OMEMO Media Sharing via HTTP File Upload #317
Conversation
8e139d5
to
91cac14
Compare
smack-core/src/main/java/org/jivesoftware/smack/util/StringUtils.java
Outdated
Show resolved
Hide resolved
...experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java
Outdated
Show resolved
Hide resolved
...experimental/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadManager.java
Outdated
Show resolved
Hide resolved
...test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java
Outdated
Show resolved
Hide resolved
...test/src/main/java/org/jivesoftware/smackx/httpfileupload/HttpFileUploadIntegrationTest.java
Outdated
Show resolved
Hide resolved
Regarding the API design you probably should keep https://issues.igniterealtime.org/browse/SMACK-867 in mind. |
I'm not quite happy with this as of now. I'm not entirely sure, if I used the AlgorithmParameterSpecs correctly. Currently the decrypted file is 32 bytes longer than the original. This is probably the authentication tag and/or IV. However, since the tag length of AESGCM is configurable, I'm not sure, how one can calculate that length reliably when receiving a file. |
aTalk v1.8.3 has implemented OMEMO Media Sharing using your source. Thanks for the contribution. |
be5f811
to
ce2b79c
Compare
ce2b79c
to
9a635e7
Compare
The integration test does now no longer fail. |
@vanitasvitae: Have you progressed on it? |
This PR adds support for OMEMO Media Sharing to Smacks HttpFileUploadManager.
The manager can now upload files encrypted to the server. As a result the user gets a aesgcm url-string which can be shared with others. There is also a function that retrieves a
Cipher
from an aesgcm string, which can then be used to decrypt the file/stream.Since OMEMO Media Sharing is basically independent of OMEMO, I chose the HttpFileUploadManager as the best place to implement this feature.
There are also some changes to other packages.
StringUtils
now contains a method to decode hexadecimal Strings into byte arrays and the OMEMO code can generate IVs more flexible in order to prepare for the switch from 16 byte IVs to 12 byte IVs.Missing: