Secure storage

You can use secure storage to persist sensitive data (such as login credentials) in an encrypted form.

Secure storage takes care of a chicken-and-egg problem of "needing to get a password to encrypt a password" and organizes data in a hierarchical form. It provides a central secure repository for the application.

Secure storage is intended to store data that is relatively small in size. There is no hard cap limit at this time on the data size, but it is advisable to keep size of an entry under a kilobyte. If you do need to encrypt a large size object, consider creating a random key and using it with Java PBE encryption to encrypt your data. You can then store the key used to encrypt the object in secure storage. Later you can obtain the key from secure storage to decrypt the data.

The secure storage can be extended by supplying custom password provider modules and custom encryption algorithms. Multiple secure storages can be created and maintained at any time using different customizations.

This collection of topics describes how your code can utilize the secure storage. It assumes familiarity with the concepts described in the user documentation.