aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-09-10 13:40:51 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2014-09-10 13:40:51 +0200
commitf18a8a20acf3695d8941b2180a7714271ebddd51 (patch)
treef09bc2905366aa177f29a96c0a68621a11ab3ba2 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
parentd61d846b7277a89eb1b7c625ddf5e002f55b79ba (diff)
downloadopen-keychain-f18a8a20acf3695d8941b2180a7714271ebddd51.tar.gz
open-keychain-f18a8a20acf3695d8941b2180a7714271ebddd51.tar.bz2
open-keychain-f18a8a20acf3695d8941b2180a7714271ebddd51.zip
Add newly discussed design decisions for passphrase cache service
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
index 736d46dc9..0ac1812f3 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
@@ -56,6 +56,15 @@ import java.util.Date;
* This service runs in its own process, but is available to all other processes as the main
* passphrase cache. Use the static methods addCachedPassphrase and getCachedPassphrase for
* convenience.
+ *
+ * Design decisions:
+ * - Cache passphrases based on master key ids, but try to unlock before using the subkey id
+ * (to be compatible with stripped keys)
+ * - Cache based on master key id so that there is not need to enter a passphrase twice for sign and
+ * decrypt (if these are two different subkeys)
+ * - Assume that all passphrases cached here are valid passphrases
+ * - Do not handle if a keyring contains subkeys with different passphrases. This is not considered
+ * supported and has not been seen in other OpenPGP implementations
*/
public class PassphraseCacheService extends Service {