Interface OpenPgpKeyStore

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void deletePublicKeyRing​(BareJid owner, org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
      Remove a PGPPublicKeyRing which contains the key described by fingerprint from the PGPPublicKeyRingCollection of owner.
      void deleteSecretKeyRing​(BareJid owner, org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
      Remove a PGPSecretKeyRing which contains the key described by fingerprint from the PGPSecretKeyRingCollection of owner.
      org.pgpainless.key.collection.PGPKeyRing generateKeyRing​(BareJid owner)
      Generate a new PGPKeyRing for owner.
      java.util.Map<org.pgpainless.key.OpenPgpV4Fingerprint,​java.util.Date> getPublicKeyFetchDates​(BareJid contact)
      Return the last date on which keys of contact were fetched from PubSub.
      org.bouncycastle.openpgp.PGPPublicKeyRing getPublicKeyRing​(BareJid owner, org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
      Return the PGPPublicKeyRing of owner which contains the key described by fingerprint.
      org.bouncycastle.openpgp.PGPPublicKeyRingCollection getPublicKeysOf​(BareJid owner)
      Return the PGPPublicKeyRingCollection containing all public keys of owner that are locally available.
      org.bouncycastle.openpgp.PGPSecretKeyRing getSecretKeyRing​(BareJid owner, org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
      Return the PGPSecretKeyRing of owner which contains the key described by fingerprint.
      org.bouncycastle.openpgp.PGPSecretKeyRingCollection getSecretKeysOf​(BareJid owner)
      Return the PGPSecretKeyRingCollection containing all secret keys of owner which are locally available.
      void importPublicKey​(BareJid owner, org.bouncycastle.openpgp.PGPPublicKeyRing publicKeys)
      Import a PGPPublicKeyRing of owner.
      void importSecretKey​(BareJid owner, org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys)
      Import a PGPSecretKeyRing of owner.
      void setPublicKeyFetchDates​(BareJid contact, java.util.Map<org.pgpainless.key.OpenPgpV4Fingerprint,​java.util.Date> dates)
      Set the last date on which keys of contact were fetched from PubSub.
    • Method Detail

      • getPublicKeysOf

        org.bouncycastle.openpgp.PGPPublicKeyRingCollection getPublicKeysOf​(BareJid owner)
                                                                     throws java.io.IOException,
                                                                            org.bouncycastle.openpgp.PGPException
        Return the PGPPublicKeyRingCollection containing all public keys of owner that are locally available. This method might return null.
        Parameters:
        owner - BareJid of the user we want to get keys from.
        Returns:
        PGPPublicKeyRingCollection of the user.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • getSecretKeysOf

        org.bouncycastle.openpgp.PGPSecretKeyRingCollection getSecretKeysOf​(BareJid owner)
                                                                     throws java.io.IOException,
                                                                            org.bouncycastle.openpgp.PGPException
        Return the PGPSecretKeyRingCollection containing all secret keys of owner which are locally available. This method might return null.
        Parameters:
        owner - BareJid of the user we want to get keys from.
        Returns:
        PGPSecretKeyRingCollection of the user.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • getPublicKeyRing

        org.bouncycastle.openpgp.PGPPublicKeyRing getPublicKeyRing​(BareJid owner,
                                                                   org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
                                                            throws java.io.IOException,
                                                                   org.bouncycastle.openpgp.PGPException
        Return the PGPPublicKeyRing of owner which contains the key described by fingerprint. This method might return null.
        Parameters:
        owner - BareJid of the keys owner
        fingerprint - OpenPgpV4Fingerprint of a key contained in the key ring
        Returns:
        PGPPublicKeyRing which contains the key described by fingerprint.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • getSecretKeyRing

        org.bouncycastle.openpgp.PGPSecretKeyRing getSecretKeyRing​(BareJid owner,
                                                                   org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
                                                            throws java.io.IOException,
                                                                   org.bouncycastle.openpgp.PGPException
        Return the PGPSecretKeyRing of owner which contains the key described by fingerprint. This method might return null.
        Parameters:
        owner - BareJid of the keys owner
        fingerprint - OpenPgpV4Fingerprint of a key contained in the key ring
        Returns:
        PGPSecretKeyRing which contains the key described by fingerprint.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • deletePublicKeyRing

        void deletePublicKeyRing​(BareJid owner,
                                 org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
                          throws java.io.IOException,
                                 org.bouncycastle.openpgp.PGPException
        Remove a PGPPublicKeyRing which contains the key described by fingerprint from the PGPPublicKeyRingCollection of owner.
        Parameters:
        owner - owner of the key ring
        fingerprint - fingerprint of the key whose key ring will be removed.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • deleteSecretKeyRing

        void deleteSecretKeyRing​(BareJid owner,
                                 org.pgpainless.key.OpenPgpV4Fingerprint fingerprint)
                          throws java.io.IOException,
                                 org.bouncycastle.openpgp.PGPException
        Remove a PGPSecretKeyRing which contains the key described by fingerprint from the PGPSecretKeyRingCollection of owner.
        Parameters:
        owner - owner of the key ring
        fingerprint - fingerprint of the key whose key ring will be removed.
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
      • generateKeyRing

        org.pgpainless.key.collection.PGPKeyRing generateKeyRing​(BareJid owner)
                                                          throws org.bouncycastle.openpgp.PGPException,
                                                                 java.security.NoSuchAlgorithmException,
                                                                 java.security.NoSuchProviderException,
                                                                 java.security.InvalidAlgorithmParameterException
        Generate a new PGPKeyRing for owner. The key will have a user-id containing the users BareJid (eg. "xmpp:juliet@capulet.lit"). This method MUST NOT return null.
        Parameters:
        owner - owner of the key ring.
        Returns:
        key ring
        Throws:
        org.bouncycastle.openpgp.PGPException - PGP is brittle
        java.security.NoSuchAlgorithmException - in case there is no Provider registered for the used OpenPGP algorithms.
        java.security.NoSuchProviderException - in case there is no suitable Provider registered.
        java.security.InvalidAlgorithmParameterException - in case an invalid algorithms configuration is used.
      • importSecretKey

        void importSecretKey​(BareJid owner,
                             org.bouncycastle.openpgp.PGPSecretKeyRing secretKeys)
                      throws java.io.IOException,
                             org.bouncycastle.openpgp.PGPException,
                             MissingUserIdOnKeyException
        Import a PGPSecretKeyRing of owner. In case the key ring is already available locally, the keys are skipped.
        Parameters:
        owner - owner of the keys
        secretKeys - secret keys
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
        MissingUserIdOnKeyException - in case the secret keys are lacking a user-id with the owners jid.
      • importPublicKey

        void importPublicKey​(BareJid owner,
                             org.bouncycastle.openpgp.PGPPublicKeyRing publicKeys)
                      throws java.io.IOException,
                             org.bouncycastle.openpgp.PGPException,
                             MissingUserIdOnKeyException
        Import a PGPPublicKeyRing of owner. In case the key ring is already available locally, the keys are skipped.
        Parameters:
        owner - owner of the keys
        publicKeys - public keys
        Throws:
        java.io.IOException - IO is dangerous
        org.bouncycastle.openpgp.PGPException - PGP is brittle
        MissingUserIdOnKeyException - in case the public keys are lacking a user-id with the owners jid.
      • getPublicKeyFetchDates

        java.util.Map<org.pgpainless.key.OpenPgpV4Fingerprint,​java.util.Date> getPublicKeyFetchDates​(BareJid contact)
                                                                                                    throws java.io.IOException
        Return the last date on which keys of contact were fetched from PubSub. This method MUST NOT return null.
        Parameters:
        contact - contact in which we are interested.
        Returns:
        dates of last key fetching.
        Throws:
        java.io.IOException - IO is dangerous
      • setPublicKeyFetchDates

        void setPublicKeyFetchDates​(BareJid contact,
                                    java.util.Map<org.pgpainless.key.OpenPgpV4Fingerprint,​java.util.Date> dates)
                             throws java.io.IOException
        Set the last date on which keys of contact were fetched from PubSub.
        Parameters:
        contact - contact in which we are interested.
        dates - dates of last key fetching.
        Throws:
        java.io.IOException - IO is dangerous