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