Okay so I have two options for how I would derive two keys for AES encryption and HMAC they are as follows:
Run BCrypt on a users passphrase and then use the bouncy castle implementation of HKDF in java to extend the key from 31-bytes to 64-bytes before then splitting the result into two 32-byte keys.
Run Bcrypt twice on a users passphrase with a different salt and then use the bouncy castle implementation of HKDF in java to extend both keys from 31-bytes to 32-bytes.
My question is which way is better? (more secure)
Note: If you do have a answer please leave your reasoning in a way that is easy to understand.