[aerogear-dev] Question around encryption for iOS push certificate passphrase

Bruno Oliveira bruno at abstractj.org
Wed Feb 5 13:41:44 EST 2014


You need tho reconstruct that key again with the pieces from your database, so your code would look like:

@Test
    public void testPasswordValidationWithRandomSaltProvided() throws Exception {
        Pbkdf2 pbkdf2 = AeroGearCrypto.pbkdf2();
        byte[] salt = new Random().randomBytes();
        byte[] IV = new Random().randomBytes();
        int iterations = 100000;

        //Encrypt step
        SecretKey secretKey = pbkdf2.generateSecretKey(PASSWORD, salt, iterations);
        CryptoBox box1 = new CryptoBox(secretKey.getEncoded());
        String passphrase = "My bonnie lies over the ocean";
        byte[] ciphertext = box1.encrypt(IV, passphrase.getBytes());

        //Decrypt step
        SecretKey recoveredKey = pbkdf2.generateSecretKey(PASSWORD, salt, iterations);
        CryptoBox box2 = new CryptoBox(recoveredKey.getEncoded());
        byte[] plaintext = box2.decrypt(IV, ciphertext);
        System.out.println(RAW.encode(plaintext));

    }

--  
abstractj

On February 5, 2014 at 3:59:06 PM, Matthias Wessendorf (matzew at apache.org) wrote:
> > But, now, somewhere later in in the program, I need to do the decryption  
> to get the actual passphrase for the stored Apple-certificate.  
> However, I don't see how to create the CryptoBox here, as I should  
> not stash the private/secret key, nor do I have access to the previous  
> CryptoBox object
>  
> https://github.com/matzew/psswd-salting/blob/master/src/test/java/net/wessendorf/salt/SecretKeyTest.java#L64-L85  
>  
>  
> Looks like I am missing something here




More information about the aerogear-dev mailing list