58 lines
2.1 KiB
Swift
58 lines
2.1 KiB
Swift
//
|
|
// NativeCryptoError.swift
|
|
// native_crypto_ios
|
|
//
|
|
// Created by Hugo Pointcheval on 25/05/2022.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum NativeCryptoError : LocalizedError {
|
|
/// When an operation is not supported
|
|
case notSupported(reason: String? = nil)
|
|
/// When the key is invalid
|
|
case invalidKey(reason: String? = nil)
|
|
/// When the key length is invalid
|
|
case invalidKeySize(reason: String? = nil)
|
|
/// When operation parameter is invalid
|
|
case invalidParameter(reason: String? = nil)
|
|
/// When an authentication process fails
|
|
case authenticationError(reason: String? = nil)
|
|
/// When a input/output process (like file manipulation) fails
|
|
case ioError(reason: String? = nil)
|
|
/// When cipher initialization fails
|
|
case cipherError(reason: String? = nil)
|
|
/// When a digest process fails
|
|
case digestError(reason: String? = nil)
|
|
/// When a key derivation process fails
|
|
case kdfError(reason: String? = nil)
|
|
/// When any other expection is thrown
|
|
case unknownError(reason: String? = nil)
|
|
|
|
var errorDescription: String? {
|
|
switch self {
|
|
case .notSupported(reason: let reason):
|
|
return reason ?? "This operation is not supported."
|
|
case .invalidKey(reason: let reason):
|
|
return reason ?? "Invalid key."
|
|
case .invalidKeySize(reason: let reason):
|
|
return reason ?? "Invalid key size."
|
|
case .invalidParameter(reason: let reason):
|
|
return reason ?? "Invalid parameter."
|
|
case .authenticationError(reason: let reason):
|
|
return reason ?? "Authentication fails."
|
|
case .ioError(reason: let reason):
|
|
return reason ?? "IO operation fails."
|
|
case .cipherError(reason: let reason):
|
|
return reason ?? "Cipher initialization fails."
|
|
case .digestError(reason: let reason):
|
|
return reason ?? "Digest fails."
|
|
case .kdfError(reason: let reason):
|
|
return reason ?? "Key derivation fails."
|
|
case .unknownError(reason: let reason):
|
|
return reason ?? "An unknown error occurred during the operation."
|
|
}
|
|
}
|
|
|
|
}
|