mirror of
https://github.com/vanitasvitae/Smack.git
synced 2024-11-23 20:42:06 +01:00
Delete old classes, fix javadoc errors
This commit is contained in:
parent
50f8a4f1fe
commit
daf9ef94cd
6 changed files with 28 additions and 209 deletions
|
@ -285,12 +285,10 @@ public final class OmemoManager extends Manager {
|
||||||
* @return encrypted message
|
* @return encrypted message
|
||||||
* @throws CryptoFailedException when something crypto related fails
|
* @throws CryptoFailedException when something crypto related fails
|
||||||
* @throws UndecidedOmemoIdentityException When there are undecided devices
|
* @throws UndecidedOmemoIdentityException When there are undecided devices
|
||||||
* @throws NoSuchAlgorithmException
|
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws CannotEstablishOmemoSessionException when we could not create session withs all of the recipients
|
|
||||||
* devices.
|
|
||||||
* @throws SmackException.NotConnectedException
|
* @throws SmackException.NotConnectedException
|
||||||
* @throws SmackException.NoResponseException
|
* @throws SmackException.NoResponseException
|
||||||
|
* @throws SmackException.NotLoggedInException
|
||||||
*/
|
*/
|
||||||
public OmemoMessage.Sent encrypt(BareJid recipient, String message)
|
public OmemoMessage.Sent encrypt(BareJid recipient, String message)
|
||||||
throws CryptoFailedException, UndecidedOmemoIdentityException,
|
throws CryptoFailedException, UndecidedOmemoIdentityException,
|
||||||
|
@ -312,12 +310,10 @@ public final class OmemoManager extends Manager {
|
||||||
* @return encrypted message.
|
* @return encrypted message.
|
||||||
* @throws CryptoFailedException When something crypto related fails
|
* @throws CryptoFailedException When something crypto related fails
|
||||||
* @throws UndecidedOmemoIdentityException When there are undecided devices.
|
* @throws UndecidedOmemoIdentityException When there are undecided devices.
|
||||||
* @throws NoSuchAlgorithmException
|
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws CannotEstablishOmemoSessionException When there is one recipient, for whom we failed to create a session
|
|
||||||
* with every one of their devices.
|
|
||||||
* @throws SmackException.NotConnectedException
|
* @throws SmackException.NotConnectedException
|
||||||
* @throws SmackException.NoResponseException
|
* @throws SmackException.NoResponseException
|
||||||
|
* @throws SmackException.NotLoggedInException
|
||||||
*/
|
*/
|
||||||
public OmemoMessage.Sent encrypt(ArrayList<BareJid> recipients, String message)
|
public OmemoMessage.Sent encrypt(ArrayList<BareJid> recipients, String message)
|
||||||
throws CryptoFailedException, UndecidedOmemoIdentityException,
|
throws CryptoFailedException, UndecidedOmemoIdentityException,
|
||||||
|
@ -341,15 +337,13 @@ public final class OmemoManager extends Manager {
|
||||||
* @param message message to send
|
* @param message message to send
|
||||||
* @return encrypted message
|
* @return encrypted message
|
||||||
* @throws UndecidedOmemoIdentityException when there are undecided devices.
|
* @throws UndecidedOmemoIdentityException when there are undecided devices.
|
||||||
* @throws NoSuchAlgorithmException
|
|
||||||
* @throws CryptoFailedException
|
* @throws CryptoFailedException
|
||||||
* @throws XMPPException.XMPPErrorException
|
* @throws XMPPException.XMPPErrorException
|
||||||
* @throws SmackException.NotConnectedException
|
* @throws SmackException.NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws SmackException.NoResponseException
|
* @throws SmackException.NoResponseException
|
||||||
* @throws NoOmemoSupportException When the muc doesn't support OMEMO.
|
* @throws NoOmemoSupportException When the muc doesn't support OMEMO.
|
||||||
* @throws CannotEstablishOmemoSessionException when there is a user for whom we could not create a session
|
* @throws SmackException.NotLoggedInException
|
||||||
* with any of their devices.
|
|
||||||
*/
|
*/
|
||||||
public OmemoMessage.Sent encrypt(MultiUserChat muc, String message)
|
public OmemoMessage.Sent encrypt(MultiUserChat muc, String message)
|
||||||
throws UndecidedOmemoIdentityException, CryptoFailedException,
|
throws UndecidedOmemoIdentityException, CryptoFailedException,
|
||||||
|
@ -438,10 +432,14 @@ public final class OmemoManager extends Manager {
|
||||||
* secrecy.
|
* secrecy.
|
||||||
*
|
*
|
||||||
* @param recipient recipient
|
* @param recipient recipient
|
||||||
* @throws UndecidedOmemoIdentityException When the trust of session with the recipient is not decided yet
|
|
||||||
* @throws CorruptedOmemoKeyException When the used identityKeys are corrupted
|
* @throws CorruptedOmemoKeyException When the used identityKeys are corrupted
|
||||||
* @throws CryptoFailedException When something fails with the crypto
|
* @throws CryptoFailedException When something fails with the crypto
|
||||||
* @throws CannotEstablishOmemoSessionException When we can't establish a session with the recipient
|
* @throws CannotEstablishOmemoSessionException When we can't establish a session with the recipient
|
||||||
|
* @throws SmackException.NotLoggedInException
|
||||||
|
* @throws InterruptedException
|
||||||
|
* @throws SmackException.NoResponseException
|
||||||
|
* @throws NoSuchAlgorithmException
|
||||||
|
* @throws SmackException.NotConnectedException
|
||||||
*/
|
*/
|
||||||
public void sendRatchetUpdateMessage(OmemoDevice recipient)
|
public void sendRatchetUpdateMessage(OmemoDevice recipient)
|
||||||
throws SmackException.NotLoggedInException, CorruptedOmemoKeyException, InterruptedException,
|
throws SmackException.NotLoggedInException, CorruptedOmemoKeyException, InterruptedException,
|
||||||
|
@ -476,6 +474,8 @@ public final class OmemoManager extends Manager {
|
||||||
* @throws SmackException.NotConnectedException
|
* @throws SmackException.NotConnectedException
|
||||||
* @throws InterruptedException
|
* @throws InterruptedException
|
||||||
* @throws SmackException.NoResponseException
|
* @throws SmackException.NoResponseException
|
||||||
|
* @throws PubSubException.NotALeafNodeException
|
||||||
|
* @throws XMPPException.XMPPErrorException
|
||||||
*/
|
*/
|
||||||
public boolean contactSupportsOmemo(BareJid contact)
|
public boolean contactSupportsOmemo(BareJid contact)
|
||||||
throws InterruptedException, PubSubException.NotALeafNodeException, XMPPException.XMPPErrorException,
|
throws InterruptedException, PubSubException.NotALeafNodeException, XMPPException.XMPPErrorException,
|
||||||
|
@ -529,6 +529,8 @@ public final class OmemoManager extends Manager {
|
||||||
* Return the fingerprint of our identity key.
|
* Return the fingerprint of our identity key.
|
||||||
*
|
*
|
||||||
* @return fingerprint
|
* @return fingerprint
|
||||||
|
* @throws SmackException.NotLoggedInException if we don't know our bareJid yet.
|
||||||
|
* @throws CorruptedOmemoKeyException if our identityKey is corrupted.
|
||||||
*/
|
*/
|
||||||
public OmemoFingerprint getOwnFingerprint()
|
public OmemoFingerprint getOwnFingerprint()
|
||||||
throws SmackException.NotLoggedInException, CorruptedOmemoKeyException
|
throws SmackException.NotLoggedInException, CorruptedOmemoKeyException
|
||||||
|
@ -542,6 +544,17 @@ public final class OmemoManager extends Manager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the fingerprint of a contacts device.
|
||||||
|
* @param device contacts OmemoDevice
|
||||||
|
* @return fingerprint
|
||||||
|
* @throws CannotEstablishOmemoSessionException if we have no session yet, and are unable to create one.
|
||||||
|
* @throws SmackException.NotLoggedInException
|
||||||
|
* @throws CorruptedOmemoKeyException if the copy of the fingerprint we have is corrupted.
|
||||||
|
* @throws SmackException.NotConnectedException
|
||||||
|
* @throws InterruptedException
|
||||||
|
* @throws SmackException.NoResponseException
|
||||||
|
*/
|
||||||
public OmemoFingerprint getFingerprint(OmemoDevice device)
|
public OmemoFingerprint getFingerprint(OmemoDevice device)
|
||||||
throws CannotEstablishOmemoSessionException, SmackException.NotLoggedInException,
|
throws CannotEstablishOmemoSessionException, SmackException.NotLoggedInException,
|
||||||
CorruptedOmemoKeyException, SmackException.NotConnectedException, InterruptedException,
|
CorruptedOmemoKeyException, SmackException.NotConnectedException, InterruptedException,
|
||||||
|
@ -643,7 +656,7 @@ public final class OmemoManager extends Manager {
|
||||||
* @throws XMPPException.XMPPErrorException XMPP error
|
* @throws XMPPException.XMPPErrorException XMPP error
|
||||||
* @throws SmackException.NotConnectedException XMPP error
|
* @throws SmackException.NotConnectedException XMPP error
|
||||||
* @throws SmackException.NoResponseException XMPP error
|
* @throws SmackException.NoResponseException XMPP error
|
||||||
* @throws PubSubException.NotALeafNodeException if the bundle node on the server is a CollectionNode
|
* @throws SmackException.NotLoggedInException
|
||||||
*/
|
*/
|
||||||
public void rotateSignedPreKey()
|
public void rotateSignedPreKey()
|
||||||
throws CorruptedOmemoKeyException, SmackException.NotLoggedInException, XMPPException.XMPPErrorException,
|
throws CorruptedOmemoKeyException, SmackException.NotLoggedInException, XMPPException.XMPPErrorException,
|
||||||
|
|
|
@ -117,20 +117,8 @@ public abstract class OmemoService<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey,
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new OmemoService object. This should only happen once.
|
* Create a new OmemoService object. This should only happen once.
|
||||||
* When the service gets created, it tries a placeholder crypto function in order to test, if all necessary
|
|
||||||
* algorithms are available on the system.
|
|
||||||
*
|
|
||||||
* @throws NoSuchPaddingException When no Cipher could be instantiated.
|
|
||||||
* @throws NoSuchAlgorithmException when no Cipher could be instantiated.
|
|
||||||
* @throws NoSuchProviderException when BouncyCastle could not be found.
|
|
||||||
* @throws InvalidAlgorithmParameterException when the Cipher could not be initialized
|
|
||||||
* @throws InvalidKeyException when the generated key is invalid
|
|
||||||
* @throws UnsupportedEncodingException when UTF8 is unavailable
|
|
||||||
* @throws BadPaddingException when cipher.doFinal gets wrong padding
|
|
||||||
* @throws IllegalBlockSizeException when cipher.doFinal gets wrong Block size.
|
|
||||||
*/
|
*/
|
||||||
protected OmemoService() {
|
protected OmemoService() {
|
||||||
// TODO
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -528,6 +528,8 @@ public abstract class OmemoStore<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey, T_
|
||||||
*
|
*
|
||||||
* @param userDevice our OmemoDevice.
|
* @param userDevice our OmemoDevice.
|
||||||
* @return fingerprint of our identityKeyPair
|
* @return fingerprint of our identityKeyPair
|
||||||
|
*
|
||||||
|
* @throws CorruptedOmemoKeyException if the identityKey of userDevice is corrupted.
|
||||||
*/
|
*/
|
||||||
public OmemoFingerprint getFingerprint(OmemoDevice userDevice)
|
public OmemoFingerprint getFingerprint(OmemoDevice userDevice)
|
||||||
throws CorruptedOmemoKeyException
|
throws CorruptedOmemoKeyException
|
||||||
|
|
|
@ -1,143 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Copyright 2017 Paul Schaub
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.jivesoftware.smackx.omemo.internal;
|
|
||||||
|
|
||||||
import org.jivesoftware.smackx.omemo.trust.OmemoFingerprint;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class that contains information about a decrypted message (eg. which key was used, if it was a carbon...).
|
|
||||||
*
|
|
||||||
* @author Paul Schaub
|
|
||||||
*/
|
|
||||||
public class OmemoMessageInformation {
|
|
||||||
private boolean isOmemoMessage;
|
|
||||||
private OmemoFingerprint senderFingerprint;
|
|
||||||
private OmemoDevice senderDevice;
|
|
||||||
private CARBON carbon = CARBON.NONE;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Empty constructor.
|
|
||||||
*/
|
|
||||||
// TODO Move this class into smackx.omemo and make this constructor package protected. -Flow
|
|
||||||
public OmemoMessageInformation() {
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a new OmemoMessageInformation object. Its assumed, that this is about an OMEMO message.
|
|
||||||
*
|
|
||||||
* @param senderFingerprint fingerprint of the identityKey of the sender device
|
|
||||||
* @param senderDevice device that sent the message
|
|
||||||
* @param carbon Carbon type
|
|
||||||
*/
|
|
||||||
public OmemoMessageInformation(OmemoFingerprint senderFingerprint, OmemoDevice senderDevice, CARBON carbon) {
|
|
||||||
this.senderFingerprint = senderFingerprint;
|
|
||||||
this.senderDevice = senderDevice;
|
|
||||||
this.carbon = carbon;
|
|
||||||
this.isOmemoMessage = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a new OmemoMessageInformation.
|
|
||||||
*
|
|
||||||
* @param senderFingerprint fingerprint of the identityKey of the sender device
|
|
||||||
* @param senderDevice device that sent the message
|
|
||||||
* @param carbon Carbon type
|
|
||||||
* @param omemo is this an omemo message?
|
|
||||||
*/
|
|
||||||
public OmemoMessageInformation(OmemoFingerprint senderFingerprint, OmemoDevice senderDevice, CARBON carbon, boolean omemo) {
|
|
||||||
this(senderFingerprint, senderDevice, carbon);
|
|
||||||
this.isOmemoMessage = omemo;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the sender devices identityKey.
|
|
||||||
*
|
|
||||||
* @return identityKey
|
|
||||||
*/
|
|
||||||
public OmemoFingerprint getSenderFingerprint() {
|
|
||||||
return senderFingerprint;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the sender devices identityKey.
|
|
||||||
*
|
|
||||||
* @param senderFingerprint fingerprint of the senders identityKey.
|
|
||||||
*/
|
|
||||||
public void setSenderFingerprint(OmemoFingerprint senderFingerprint) {
|
|
||||||
this.senderFingerprint = senderFingerprint;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the sender device.
|
|
||||||
*
|
|
||||||
* @return sender device
|
|
||||||
*/
|
|
||||||
public OmemoDevice getSenderDevice() {
|
|
||||||
return senderDevice;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return true, if this is (was) an OMEMO message.
|
|
||||||
* @return true if omemo
|
|
||||||
*/
|
|
||||||
public boolean isOmemoMessage() {
|
|
||||||
return this.isOmemoMessage;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the sender device.
|
|
||||||
*
|
|
||||||
* @param senderDevice sender device
|
|
||||||
*/
|
|
||||||
public void setSenderDevice(OmemoDevice senderDevice) {
|
|
||||||
this.senderDevice = senderDevice;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the carbon type.
|
|
||||||
*
|
|
||||||
* @return carbon type
|
|
||||||
*/
|
|
||||||
public CARBON getCarbon() {
|
|
||||||
return carbon;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the carbon type.
|
|
||||||
*
|
|
||||||
* @param carbon carbon type
|
|
||||||
*/
|
|
||||||
public void setCarbon(CARBON carbon) {
|
|
||||||
this.carbon = carbon;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Types of Carbon Messages.
|
|
||||||
*/
|
|
||||||
public enum CARBON {
|
|
||||||
NONE, //No carbon
|
|
||||||
SENT, //Sent carbon
|
|
||||||
RECV //Received Carbon
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return (senderDevice != null ? senderDevice.toString() : "") + " " + carbon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -263,6 +263,8 @@ public class OmemoMessageBuilder<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey, T_
|
||||||
/**
|
/**
|
||||||
* Generate a new AES key used to encrypt the message.
|
* Generate a new AES key used to encrypt the message.
|
||||||
*
|
*
|
||||||
|
* @param keyType Key Type
|
||||||
|
* @param keyLength Key Length in bit
|
||||||
* @return new AES key
|
* @return new AES key
|
||||||
* @throws NoSuchAlgorithmException
|
* @throws NoSuchAlgorithmException
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
* Copyright 2017 Paul Schaub
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
package org.jivesoftware.smackx.omemo;
|
|
||||||
|
|
||||||
import static org.junit.Assert.assertEquals;
|
|
||||||
import static org.junit.Assert.assertNull;
|
|
||||||
|
|
||||||
import org.jivesoftware.smackx.omemo.internal.OmemoDevice;
|
|
||||||
import org.jivesoftware.smackx.omemo.internal.OmemoMessageInformation;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
import org.jxmpp.jid.impl.JidCreate;
|
|
||||||
import org.jxmpp.stringprep.XmppStringprepException;
|
|
||||||
|
|
||||||
public class OmemoMessageInformationTest {
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void setterGetterTest() throws XmppStringprepException {
|
|
||||||
OmemoMessageInformation information = new OmemoMessageInformation();
|
|
||||||
assertEquals(information.getCarbon(), OmemoMessageInformation.CARBON.NONE);
|
|
||||||
information.setCarbon(OmemoMessageInformation.CARBON.RECV);
|
|
||||||
assertEquals(OmemoMessageInformation.CARBON.RECV, information.getCarbon());
|
|
||||||
|
|
||||||
assertNull(information.getSenderDevice());
|
|
||||||
OmemoDevice device = new OmemoDevice(JidCreate.bareFrom("test@a.bc"), 14);
|
|
||||||
information.setSenderDevice(device);
|
|
||||||
assertEquals(device, information.getSenderDevice());
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in a new issue