Interface PasswordProvider
-
- All Superinterfaces:
CryptoProvider
- All Known Implementing Classes:
CachedPasswordProvider
,CmdLinePasswordProvider
,PopupGUIPasswordProvider
public interface PasswordProvider extends CryptoProvider
Instances of this interface provide passwords to decrypt files.Instances are typically not called directly, instead are used by a
CryptoSession
along with other provider instances to provide a balanced breakfast.Multiple passwords can be returned for each request with the assumption that the consumer of the values can test and validate each one to find the correct value. Conversely, it would not be appropriate to use this to get a password for a login service that may lock the requester out after a small number of failed attempts.
TODO: add negative password result that can be persisted / cached so user isn't spammed with requests for an unknown password during batch / recursive operations.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.formats.gfilesystem.crypto.CryptoProvider
CryptoProvider.Session
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Iterator<PasswordValue>
getPasswordsFor(FSRL fsrl, java.lang.String prompt, CryptoProvider.Session session)
Returns a sequence of passwords (ordered by quality) that may apply to the specified file.
-
-
-
Method Detail
-
getPasswordsFor
java.util.Iterator<PasswordValue> getPasswordsFor(FSRL fsrl, java.lang.String prompt, CryptoProvider.Session session)
Returns a sequence of passwords (ordered by quality) that may apply to the specified file.- Parameters:
fsrl
-FSRL
path to the password protected fileprompt
- optional prompt that may be displayed to a usersession
- a place to hold state values that persist across related queries- Returns:
Iterator
of possible passwords
-
-