aboutsummaryrefslogtreecommitdiffstats
path: root/crypto-common/src/main/kotlin/dev/msfjarvis/aps/data/crypto/CryptoException.kt
blob: 6a73d381def3ce9d77defdb75450be0c48b14de2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package dev.msfjarvis.aps.data.crypto

public sealed class CryptoException(message: String? = null) : Exception(message)

public sealed class KeyPairException(message: String? = null) : CryptoException(message) {
  public object PrivateKeyUnavailableException :
    KeyPairException("Key object does not have a private sub-key")
}

public sealed class KeyManagerException(message: String? = null) : CryptoException(message) {
  public object NoKeysAvailableException : KeyManagerException("No keys were found")
  public object KeyDirectoryUnavailableException :
    KeyManagerException("Key directory does not exist")
  public object KeyDeletionFailedException : KeyManagerException("Couldn't delete the key file")
  public class KeyNotFoundException(keyId: String) :
    KeyManagerException("No key found with id: $keyId")
  public class KeyAlreadyExistsException(keyId: String) :
    KeyManagerException("Pre-existing key was found for $keyId but 'replace' is set to false")
}