mirror of
https://github.com/pgpainless/pgpainless.git
synced 2025-12-08 21:31:08 +01:00
Revert PassphraseProvider API change
This commit is contained in:
parent
cf638da130
commit
481dfac455
10 changed files with 31 additions and 31 deletions
|
|
@ -21,7 +21,7 @@ import org.pgpainless.util.Passphrase
|
|||
*/
|
||||
class CachingSecretKeyRingProtector : SecretKeyRingProtector, SecretKeyPassphraseProvider {
|
||||
|
||||
private val cache: MutableMap<Long, Passphrase>
|
||||
private val cache: MutableMap<Long?, Passphrase>
|
||||
private val protector: SecretKeyRingProtector
|
||||
private val provider: SecretKeyPassphraseProvider?
|
||||
|
||||
|
|
@ -152,12 +152,12 @@ class CachingSecretKeyRingProtector : SecretKeyRingProtector, SecretKeyPassphras
|
|||
*/
|
||||
fun forgetPassphrase(key: PGPPublicKey) = apply { forgetPassphrase(key.keyID) }
|
||||
|
||||
override fun getPassphraseFor(keyId: Long): Passphrase? {
|
||||
override fun getPassphraseFor(keyId: Long?): Passphrase? {
|
||||
return if (hasPassphrase(keyId)) cache[keyId]
|
||||
else provider?.getPassphraseFor(keyId)?.also { cache[keyId] = it }
|
||||
}
|
||||
|
||||
override fun hasPassphrase(keyId: Long) = cache[keyId]?.isValid ?: false
|
||||
override fun hasPassphrase(keyId: Long?) = cache[keyId]?.isValid ?: false
|
||||
|
||||
override fun hasPassphraseFor(keyId: Long) = hasPassphrase(keyId)
|
||||
|
||||
|
|
|
|||
|
|
@ -38,12 +38,12 @@ class PasswordBasedSecretKeyRingProtector : BaseSecretKeyRingProtector {
|
|||
): PasswordBasedSecretKeyRingProtector {
|
||||
return object : SecretKeyPassphraseProvider {
|
||||
|
||||
override fun getPassphraseFor(keyId: Long): Passphrase? {
|
||||
override fun getPassphraseFor(keyId: Long?): Passphrase? {
|
||||
return if (hasPassphrase(keyId)) passphrase else null
|
||||
}
|
||||
|
||||
override fun hasPassphrase(keyId: Long): Boolean {
|
||||
return keyRing.getPublicKey(keyId) != null
|
||||
override fun hasPassphrase(keyId: Long?): Boolean {
|
||||
return keyId != null && keyRing.getPublicKey(keyId) != null
|
||||
}
|
||||
}
|
||||
.let { PasswordBasedSecretKeyRingProtector(it) }
|
||||
|
|
@ -59,11 +59,11 @@ class PasswordBasedSecretKeyRingProtector : BaseSecretKeyRingProtector {
|
|||
passphrase: Passphrase
|
||||
): PasswordBasedSecretKeyRingProtector {
|
||||
return object : SecretKeyPassphraseProvider {
|
||||
override fun getPassphraseFor(keyId: Long): Passphrase? {
|
||||
override fun getPassphraseFor(keyId: Long?): Passphrase? {
|
||||
return if (hasPassphrase(keyId)) passphrase else null
|
||||
}
|
||||
|
||||
override fun hasPassphrase(keyId: Long): Boolean {
|
||||
override fun hasPassphrase(keyId: Long?): Boolean {
|
||||
return keyId == singleKeyId
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ import org.pgpainless.util.Passphrase
|
|||
*
|
||||
* TODO: Make this null-safe and throw an exception instead?
|
||||
*/
|
||||
class MapBasedPassphraseProvider(val map: Map<Long, Passphrase>) : SecretKeyPassphraseProvider {
|
||||
class MapBasedPassphraseProvider(val map: Map<Long?, Passphrase>) : SecretKeyPassphraseProvider {
|
||||
|
||||
override fun getPassphraseFor(keyId: Long): Passphrase? = map[keyId]
|
||||
override fun getPassphraseFor(keyId: Long?): Passphrase? = map[keyId]
|
||||
|
||||
override fun hasPassphrase(keyId: Long): Boolean = map.containsKey(keyId)
|
||||
override fun hasPassphrase(keyId: Long?): Boolean = map.containsKey(keyId)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ interface SecretKeyPassphraseProvider {
|
|||
* @param keyId if of the secret key
|
||||
* @return passphrase or null, if no passphrase record has been found.
|
||||
*/
|
||||
fun getPassphraseFor(keyId: Long): Passphrase?
|
||||
fun getPassphraseFor(keyId: Long?): Passphrase?
|
||||
|
||||
fun hasPassphrase(keyId: Long): Boolean
|
||||
fun hasPassphrase(keyId: Long?): Boolean
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.pgpainless.util.Passphrase
|
|||
/** Implementation of the [SecretKeyPassphraseProvider] that holds a single [Passphrase]. */
|
||||
class SolitaryPassphraseProvider(val passphrase: Passphrase?) : SecretKeyPassphraseProvider {
|
||||
|
||||
override fun getPassphraseFor(keyId: Long): Passphrase? = passphrase
|
||||
override fun getPassphraseFor(keyId: Long?): Passphrase? = passphrase
|
||||
|
||||
override fun hasPassphrase(keyId: Long): Boolean = true
|
||||
override fun hasPassphrase(keyId: Long?): Boolean = true
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue