Class OXSecretKeyBackupIntegrationTest

    • Constructor Detail

      • OXSecretKeyBackupIntegrationTest

        public OXSecretKeyBackupIntegrationTest​(SmackIntegrationTestEnvironment environment)
                                         throws org.jivesoftware.smack.XMPPException.XMPPErrorException,
                                                TestNotPossibleException,
                                                org.jivesoftware.smack.SmackException.NotConnectedException,
                                                java.lang.InterruptedException,
                                                org.jivesoftware.smack.SmackException.NoResponseException
        This integration test tests the basic secret key backup and restore functionality as described in XEP-0373 §5. In order to simulate two different devices, we are using two FileBasedOpenPgpStore implementations which point to different directories. First, Alice generates a fresh OpenPGP key pair. She then creates a backup of the key in her private PEP node. Now the OpenPgpStore implementation is replaced by another instance to simulate a different device. Then the secret key backup is restored from PubSub and the imported secret key is compared to the one in the original store. Afterwards the private PEP node is deleted from PubSub and the storage directories are emptied.
        Parameters:
        environment - TODO javadoc me please
        Throws:
        org.jivesoftware.smack.XMPPException.XMPPErrorException - if there was an XMPP error returned.
        TestNotPossibleException - if the test is not possible.
        org.jivesoftware.smack.SmackException.NotConnectedException - if the XMPP connection is not connected.
        java.lang.InterruptedException - if the calling thread was interrupted.
        org.jivesoftware.smack.SmackException.NoResponseException - if there was no response from the remote entity.
        See Also:
        XEP-0373 §5: Synchronizing the Secret Key with a Private PEP Node
    • Method Detail

      • cleanStore

        @AfterClass
        @BeforeClass
        public static void cleanStore()
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • test

        @SmackIntegrationTest(section="5")
        public void test()
                  throws java.security.InvalidAlgorithmParameterException,
                         java.security.NoSuchAlgorithmException,
                         java.security.NoSuchProviderException,
                         java.io.IOException,
                         java.lang.InterruptedException,
                         org.jivesoftware.smackx.pubsub.PubSubException.NotALeafNodeException,
                         org.jivesoftware.smack.SmackException.NoResponseException,
                         org.jivesoftware.smack.SmackException.NotConnectedException,
                         org.jivesoftware.smack.XMPPException.XMPPErrorException,
                         org.jivesoftware.smack.SmackException.NotLoggedInException,
                         org.jivesoftware.smack.SmackException.FeatureNotSupportedException,
                         org.jivesoftware.smackx.ox.exception.MissingUserIdOnKeyException,
                         org.jivesoftware.smackx.ox.exception.NoBackupFoundException,
                         org.jivesoftware.smackx.ox.exception.InvalidBackupCodeException,
                         org.bouncycastle.openpgp.PGPException,
                         org.jivesoftware.smackx.ox.exception.MissingOpenPgpKeyException
        Throws:
        java.security.InvalidAlgorithmParameterException
        java.security.NoSuchAlgorithmException
        java.security.NoSuchProviderException
        java.io.IOException
        java.lang.InterruptedException
        org.jivesoftware.smackx.pubsub.PubSubException.NotALeafNodeException
        org.jivesoftware.smack.SmackException.NoResponseException
        org.jivesoftware.smack.SmackException.NotConnectedException
        org.jivesoftware.smack.XMPPException.XMPPErrorException
        org.jivesoftware.smack.SmackException.NotLoggedInException
        org.jivesoftware.smack.SmackException.FeatureNotSupportedException
        org.jivesoftware.smackx.ox.exception.MissingUserIdOnKeyException
        org.jivesoftware.smackx.ox.exception.NoBackupFoundException
        org.jivesoftware.smackx.ox.exception.InvalidBackupCodeException
        org.bouncycastle.openpgp.PGPException
        org.jivesoftware.smackx.ox.exception.MissingOpenPgpKeyException