UserPrivateKey
From DOC
This class encapsulates a password-based encrypted java.security.PrivateKey, which has been encrypted with a password-based encryption algorithm. The SecretKey used to encrypt the PrivateKey is not saved, since it can be regenerated given the pbeKeyAlgorithm, salt, iterationCount (which are stored) and the original password.
When a user is authenticated by the KeyLoginModule, the user's PrivateKey is placed as a transient variable in the UserPrivateKey, which is itself then added to the private credentials of the javax.security.auth.Subject for use in the application.

