T_IdKeyPair
- IdentityKeyPair classT_IdKey
- IdentityKey classT_PreKey
- PreKey classT_SigPreKey
- SignedPreKey classT_Sess
- Session classT_ECPub
- Elliptic Curve PublicKey classT_Bundle
- Bundle classpublic abstract class OmemoKeyUtil<T_IdKeyPair,T_IdKey,T_PreKey,T_SigPreKey,T_Sess,T_ECPub,T_Bundle>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
class |
OmemoKeyUtil.Bundle
Bundle related methods.
|
Modifier and Type | Field and Description |
---|---|
OmemoKeyUtil.Bundle |
BUNDLE |
Constructor and Description |
---|
OmemoKeyUtil() |
Modifier and Type | Method and Description |
---|---|
static int |
addInBounds(int value,
int added)
Add integers modulo MAX_VALUE.
|
abstract T_Bundle |
bundleFromOmemoBundle(OmemoBundleElement bundle,
OmemoDevice contact,
int keyId)
Build a crypto-lib specific PreKeyBundle (T_Bundle) using a PreKey from the OmemoBundleElement 'bundle'.
|
abstract T_ECPub |
ellipticCurvePublicKeyFromBytes(byte[] data)
Deserialize an elliptic curve public key from bytes.
|
abstract T_IdKeyPair |
generateOmemoIdentityKeyPair()
Generate a new IdentityKeyPair.
|
abstract java.util.TreeMap<java.lang.Integer,T_PreKey> |
generateOmemoPreKeys(int startId,
int count)
Generate 'count' new PreKeys beginning with id 'startId'.
|
abstract T_SigPreKey |
generateOmemoSignedPreKey(T_IdKeyPair identityKeyPair,
int signedPreKeyId)
Generate a new signed preKey.
|
abstract OmemoFingerprint |
getFingerprintOfIdentityKey(T_IdKey identityKey)
Return the fingerprint of an identityKey.
|
abstract OmemoFingerprint |
getFingerprintOfIdentityKeyPair(T_IdKeyPair identityKeyPair)
Returns the fingerprint of the public key of an identityKeyPair.
|
abstract byte[] |
identityKeyForBundle(T_IdKey identityKey)
Prepare an identityKey for transport in an OmemoBundleElement (serialize it).
|
abstract T_IdKey |
identityKeyFromBytes(byte[] data)
Deserialize an identityKey from a byte array.
|
abstract T_IdKey |
identityKeyFromPair(T_IdKeyPair pair)
Extract the public identityKey from an identityKeyPair.
|
abstract T_IdKeyPair |
identityKeyPairFromBytes(byte[] data)
Deserialize an identityKeyPair from a byte array.
|
abstract byte[] |
identityKeyPairToBytes(T_IdKeyPair identityKeyPair)
serialize an identityKeyPair into bytes.
|
abstract byte[] |
identityKeyToBytes(T_IdKey identityKey)
Serialize an identityKey into bytes.
|
abstract byte[] |
preKeyForBundle(T_PreKey preKey)
Prepare a preKey for transport in an OmemoBundleElement.
|
abstract T_PreKey |
preKeyFromBytes(byte[] bytes)
Deserialize a preKey from a byte array.
|
T_ECPub |
preKeyPublicFromBytes(byte[] data)
Deserialize a public preKey from bytes.
|
abstract byte[] |
preKeyPublicKeyForBundle(T_ECPub preKey)
Prepare an elliptic curve preKey for transport in an OmemoBundleElement.
|
java.util.HashMap<java.lang.Integer,byte[]> |
preKeyPublicKeysForBundle(java.util.TreeMap<java.lang.Integer,T_PreKey> preKeyHashMap)
Prepare a whole bunche of preKeys for transport.
|
abstract byte[] |
preKeyToBytes(T_PreKey preKey)
Serialize a preKey into a byte array.
|
abstract T_Sess |
rawSessionFromBytes(byte[] data)
Deserialize a raw OMEMO Session from bytes.
|
abstract byte[] |
rawSessionToBytes(T_Sess session)
Serialize a raw OMEMO session into a byte array.
|
abstract T_SigPreKey |
signedPreKeyFromBytes(byte[] data)
Deserialize a signedPreKey from a byte array.
|
abstract int |
signedPreKeyIdFromKey(T_SigPreKey signedPreKey)
return the id of the given signedPreKey.
|
abstract byte[] |
signedPreKeyPublicForBundle(T_SigPreKey signedPreKey)
Prepare a public signedPreKey for transport in a bundle.
|
T_ECPub |
signedPreKeyPublicFromBytes(byte[] data)
Deserialize a public signedPreKey from bytes.
|
abstract byte[] |
signedPreKeySignatureFromKey(T_SigPreKey signedPreKey)
Extract the signature from a signedPreKey.
|
abstract byte[] |
signedPreKeyToBytes(T_SigPreKey sigPreKey)
Serialize a signedPreKey into a byte array.
|
public final OmemoKeyUtil.Bundle BUNDLE
public abstract T_IdKeyPair identityKeyPairFromBytes(byte[] data) throws CorruptedOmemoKeyException
data
- byte arrayCorruptedOmemoKeyException
- if the key is damaged of malformedpublic abstract T_IdKey identityKeyFromBytes(byte[] data) throws CorruptedOmemoKeyException
data
- byte arrayCorruptedOmemoKeyException
- if the key is damaged or malformedpublic abstract byte[] identityKeyToBytes(T_IdKey identityKey)
identityKey
- idKeypublic abstract T_ECPub ellipticCurvePublicKeyFromBytes(byte[] data) throws CorruptedOmemoKeyException
data
- bytesCorruptedOmemoKeyException
- if the key is damaged or malformedpublic T_ECPub preKeyPublicFromBytes(byte[] data) throws CorruptedOmemoKeyException
data
- preKey as bytesCorruptedOmemoKeyException
- if the key is damaged or malformedpublic abstract byte[] preKeyToBytes(T_PreKey preKey)
preKey
- preKeypublic abstract T_PreKey preKeyFromBytes(byte[] bytes) throws java.io.IOException
bytes
- byte arrayjava.io.IOException
- when something goes wrongpublic abstract java.util.TreeMap<java.lang.Integer,T_PreKey> generateOmemoPreKeys(int startId, int count)
startId
- start idcount
- how many keys do we want to generatepublic abstract T_SigPreKey generateOmemoSignedPreKey(T_IdKeyPair identityKeyPair, int signedPreKeyId) throws CorruptedOmemoKeyException
identityKeyPair
- identityKeyPair used to sign the preKeysignedPreKeyId
- id that the preKey will haveCorruptedOmemoKeyException
- when the identityKeyPair is invalidpublic T_ECPub signedPreKeyPublicFromBytes(byte[] data) throws CorruptedOmemoKeyException
data
- bytesCorruptedOmemoKeyException
- if the key is damaged or malformedpublic abstract T_SigPreKey signedPreKeyFromBytes(byte[] data) throws java.io.IOException
data
- byte arrayjava.io.IOException
- when something goes wrongpublic abstract byte[] signedPreKeyToBytes(T_SigPreKey sigPreKey)
sigPreKey
- signedPreKeypublic abstract T_Bundle bundleFromOmemoBundle(OmemoBundleElement bundle, OmemoDevice contact, int keyId) throws CorruptedOmemoKeyException
bundle
- OmemoBundleElementcontact
- Contact that the bundle belongs tokeyId
- id of the preKey that will be selected from the OmemoBundleElement and that the PreKeyBundle will containCorruptedOmemoKeyException
- if some key is damaged or malformedpublic abstract byte[] signedPreKeySignatureFromKey(T_SigPreKey signedPreKey)
signedPreKey
- signedPreKeypublic abstract T_IdKeyPair generateOmemoIdentityKeyPair()
public abstract int signedPreKeyIdFromKey(T_SigPreKey signedPreKey)
signedPreKey
- keypublic abstract byte[] identityKeyPairToBytes(T_IdKeyPair identityKeyPair)
identityKeyPair
- identityKeyPairpublic abstract T_IdKey identityKeyFromPair(T_IdKeyPair pair)
pair
- keyPairpublic abstract byte[] identityKeyForBundle(T_IdKey identityKey)
identityKey
- identityKey that will be transportedpublic abstract byte[] preKeyPublicKeyForBundle(T_ECPub preKey)
preKey
- keypublic abstract byte[] preKeyForBundle(T_PreKey preKey)
preKey
- preKeypublic java.util.HashMap<java.lang.Integer,byte[]> preKeyPublicKeysForBundle(java.util.TreeMap<java.lang.Integer,T_PreKey> preKeyHashMap)
preKeyHashMap
- HashMap of preKeyspublic abstract byte[] signedPreKeyPublicForBundle(T_SigPreKey signedPreKey)
signedPreKey
- signedPreKeypublic abstract OmemoFingerprint getFingerprintOfIdentityKey(T_IdKey identityKey)
identityKey
- identityKeypublic abstract OmemoFingerprint getFingerprintOfIdentityKeyPair(T_IdKeyPair identityKeyPair)
identityKeyPair
- IdentityKeyPair.public abstract T_Sess rawSessionFromBytes(byte[] data) throws java.io.IOException
data
- bytesjava.io.IOException
- when something goes wrongpublic abstract byte[] rawSessionToBytes(T_Sess session)
session
- raw sessionpublic static int addInBounds(int value, int added)
value
- base integeradded
- value that is added to the base value