diff options
| author | Harsh Shandilya <me@msfjarvis.dev> | 2022-04-24 21:25:34 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-24 15:55:34 +0000 |
| commit | 62902ca80b2a0883d810518de8b1838f29a682eb (patch) | |
| tree | af1bd10f0bc8d6fc9b18659ed4279f1d237b15e2 /crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors | |
| parent | 599abd37e84486f254dddcbb894e77fbcb347d41 (diff) | |
| download | HardenedPass-62902ca80b2a0883d810518de8b1838f29a682eb.tar.gz HardenedPass-62902ca80b2a0883d810518de8b1838f29a682eb.zip | |
Reorganize crypto-common code and fix a couple minor bugs (#1868)
Diffstat (limited to 'crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors')
| -rw-r--r-- | crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors/CryptoException.kt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors/CryptoException.kt b/crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors/CryptoException.kt new file mode 100644 index 00000000..5e911c35 --- /dev/null +++ b/crypto-common/src/main/kotlin/dev/msfjarvis/aps/crypto/errors/CryptoException.kt @@ -0,0 +1,30 @@ +package dev.msfjarvis.aps.crypto.errors + +import dev.msfjarvis.aps.crypto.KeyManager + +public sealed class CryptoException(message: String? = null) : Exception(message) + +/** Sealed exception types for [KeyManager]. */ +public sealed class KeyManagerException(message: String? = null) : CryptoException(message) + +/** Store contains no keys. */ +public object NoKeysAvailableException : KeyManagerException("No keys were found") + +/** Key directory does not exist or cannot be accessed. */ +public object KeyDirectoryUnavailableException : + KeyManagerException("Key directory does not exist") + +/** Failed to delete given key. */ +public object KeyDeletionFailedException : KeyManagerException("Couldn't delete the key file") + +/** Failed to parse the key as a known type. */ +public object InvalidKeyException : + KeyManagerException("Given key cannot be parsed as a known key type") + +/** No key matching [keyId] could be found. */ +public class KeyNotFoundException(keyId: String) : + KeyManagerException("No key found with id: $keyId") + +/** Attempting to add another key for [keyId] without requesting a replace. */ +public class KeyAlreadyExistsException(keyId: String) : + KeyManagerException("Pre-existing key was found for $keyId") |
