Class SignalOmemoKeyUtil

java.lang.Object
org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
org.jivesoftware.smackx.omemo.signal.SignalOmemoKeyUtil

public class SignalOmemoKeyUtil extends org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
Concrete implementation of the KeyUtil for an implementation using the Signal library.
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil

    org.jivesoftware.smackx.omemo.util.OmemoKeyUtil.Bundle
  • Field Summary

    Fields inherited from class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil

    BUNDLE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.whispersystems.libsignal.state.PreKeyBundle
    bundleFromOmemoBundle(org.jivesoftware.smackx.omemo.element.OmemoBundleElement bundle, org.jivesoftware.smackx.omemo.internal.OmemoDevice contact, int preKeyId)
     
    org.whispersystems.libsignal.ecc.ECPublicKey
     
    org.whispersystems.libsignal.IdentityKeyPair
     
    TreeMap<Integer,org.whispersystems.libsignal.state.PreKeyRecord>
    generateOmemoPreKeys(int currentPreKeyId, int count)
     
    org.whispersystems.libsignal.state.SignedPreKeyRecord
    generateOmemoSignedPreKey(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair, int currentPreKeyId)
     
    org.jivesoftware.smackx.omemo.trust.OmemoFingerprint
    getFingerprintOfIdentityKey(org.whispersystems.libsignal.IdentityKey identityKey)
     
    org.jivesoftware.smackx.omemo.trust.OmemoFingerprint
    getFingerprintOfIdentityKeyPair(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
     
    byte[]
    identityKeyForBundle(org.whispersystems.libsignal.IdentityKey identityKey)
     
    org.whispersystems.libsignal.IdentityKey
    identityKeyFromBytes(byte[] data)
     
    org.whispersystems.libsignal.IdentityKey
    identityKeyFromPair(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
     
    org.whispersystems.libsignal.IdentityKeyPair
     
    byte[]
    identityKeyPairToBytes(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
     
    byte[]
    identityKeyToBytes(org.whispersystems.libsignal.IdentityKey identityKey)
     
    byte[]
    preKeyForBundle(org.whispersystems.libsignal.state.PreKeyRecord preKeyRecord)
     
    org.whispersystems.libsignal.state.PreKeyRecord
    preKeyFromBytes(byte[] bytes)
     
    byte[]
    preKeyPublicKeyForBundle(org.whispersystems.libsignal.ecc.ECPublicKey preKey)
     
    byte[]
    preKeyToBytes(org.whispersystems.libsignal.state.PreKeyRecord preKeyRecord)
     
    org.whispersystems.libsignal.state.SessionRecord
    rawSessionFromBytes(byte[] data)
     
    byte[]
    rawSessionToBytes(org.whispersystems.libsignal.state.SessionRecord session)
     
    org.whispersystems.libsignal.state.SignedPreKeyRecord
    signedPreKeyFromBytes(byte[] data)
     
    int
    signedPreKeyIdFromKey(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
     
    byte[]
    signedPreKeyPublicForBundle(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
     
    byte[]
    signedPreKeySignatureFromKey(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
     
    byte[]
    signedPreKeyToBytes(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKeyRecord)
     

    Methods inherited from class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil

    addInBounds, preKeyPublicFromBytes, preKeyPublicKeysForBundle, signedPreKeyPublicFromBytes

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • SignalOmemoKeyUtil

      public SignalOmemoKeyUtil()
  • Method Details

    • generateOmemoIdentityKeyPair

      public org.whispersystems.libsignal.IdentityKeyPair generateOmemoIdentityKeyPair()
      Specified by:
      generateOmemoIdentityKeyPair in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • generateOmemoPreKeys

      public TreeMap<Integer,org.whispersystems.libsignal.state.PreKeyRecord> generateOmemoPreKeys(int currentPreKeyId, int count)
      Specified by:
      generateOmemoPreKeys in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • generateOmemoSignedPreKey

      public org.whispersystems.libsignal.state.SignedPreKeyRecord generateOmemoSignedPreKey(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair, int currentPreKeyId) throws org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
      Specified by:
      generateOmemoSignedPreKey in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
    • signedPreKeyFromBytes

      public org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKeyFromBytes(byte[] data) throws IOException
      Specified by:
      signedPreKeyFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      IOException
    • signedPreKeyToBytes

      public byte[] signedPreKeyToBytes(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKeyRecord)
      Specified by:
      signedPreKeyToBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • rawSessionFromBytes

      public org.whispersystems.libsignal.state.SessionRecord rawSessionFromBytes(byte[] data) throws IOException
      Specified by:
      rawSessionFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      IOException
    • rawSessionToBytes

      public byte[] rawSessionToBytes(org.whispersystems.libsignal.state.SessionRecord session)
      Specified by:
      rawSessionToBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • identityKeyPairFromBytes

      public org.whispersystems.libsignal.IdentityKeyPair identityKeyPairFromBytes(byte[] data) throws org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
      Specified by:
      identityKeyPairFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
    • identityKeyFromBytes

      public org.whispersystems.libsignal.IdentityKey identityKeyFromBytes(byte[] data) throws org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
      Specified by:
      identityKeyFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
    • ellipticCurvePublicKeyFromBytes

      public org.whispersystems.libsignal.ecc.ECPublicKey ellipticCurvePublicKeyFromBytes(byte[] data) throws org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
      Specified by:
      ellipticCurvePublicKeyFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
    • preKeyToBytes

      public byte[] preKeyToBytes(org.whispersystems.libsignal.state.PreKeyRecord preKeyRecord)
      Specified by:
      preKeyToBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • preKeyFromBytes

      public org.whispersystems.libsignal.state.PreKeyRecord preKeyFromBytes(byte[] bytes) throws IOException
      Specified by:
      preKeyFromBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      IOException
    • bundleFromOmemoBundle

      public org.whispersystems.libsignal.state.PreKeyBundle bundleFromOmemoBundle(org.jivesoftware.smackx.omemo.element.OmemoBundleElement bundle, org.jivesoftware.smackx.omemo.internal.OmemoDevice contact, int preKeyId) throws org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
      Specified by:
      bundleFromOmemoBundle in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
      Throws:
      org.jivesoftware.smackx.omemo.exceptions.CorruptedOmemoKeyException
    • signedPreKeySignatureFromKey

      public byte[] signedPreKeySignatureFromKey(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
      Specified by:
      signedPreKeySignatureFromKey in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • signedPreKeyIdFromKey

      public int signedPreKeyIdFromKey(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
      Specified by:
      signedPreKeyIdFromKey in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • identityKeyPairToBytes

      public byte[] identityKeyPairToBytes(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
      Specified by:
      identityKeyPairToBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • identityKeyFromPair

      public org.whispersystems.libsignal.IdentityKey identityKeyFromPair(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
      Specified by:
      identityKeyFromPair in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • identityKeyForBundle

      public byte[] identityKeyForBundle(org.whispersystems.libsignal.IdentityKey identityKey)
      Specified by:
      identityKeyForBundle in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • identityKeyToBytes

      public byte[] identityKeyToBytes(org.whispersystems.libsignal.IdentityKey identityKey)
      Specified by:
      identityKeyToBytes in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • preKeyPublicKeyForBundle

      public byte[] preKeyPublicKeyForBundle(org.whispersystems.libsignal.ecc.ECPublicKey preKey)
      Specified by:
      preKeyPublicKeyForBundle in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • preKeyForBundle

      public byte[] preKeyForBundle(org.whispersystems.libsignal.state.PreKeyRecord preKeyRecord)
      Specified by:
      preKeyForBundle in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • signedPreKeyPublicForBundle

      public byte[] signedPreKeyPublicForBundle(org.whispersystems.libsignal.state.SignedPreKeyRecord signedPreKey)
      Specified by:
      signedPreKeyPublicForBundle in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • getFingerprintOfIdentityKey

      public org.jivesoftware.smackx.omemo.trust.OmemoFingerprint getFingerprintOfIdentityKey(org.whispersystems.libsignal.IdentityKey identityKey)
      Specified by:
      getFingerprintOfIdentityKey in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>
    • getFingerprintOfIdentityKeyPair

      public org.jivesoftware.smackx.omemo.trust.OmemoFingerprint getFingerprintOfIdentityKeyPair(org.whispersystems.libsignal.IdentityKeyPair identityKeyPair)
      Specified by:
      getFingerprintOfIdentityKeyPair in class org.jivesoftware.smackx.omemo.util.OmemoKeyUtil<org.whispersystems.libsignal.IdentityKeyPair,org.whispersystems.libsignal.IdentityKey,org.whispersystems.libsignal.state.PreKeyRecord,org.whispersystems.libsignal.state.SignedPreKeyRecord,org.whispersystems.libsignal.state.SessionRecord,org.whispersystems.libsignal.ecc.ECPublicKey,org.whispersystems.libsignal.state.PreKeyBundle>