Skip to content

Releases: trifork/TIMEncryptedStorage-iOS

1.2.0

25 Feb 11:15
5197b5a
Compare
Choose a tag to compare

This release replaces errors which made assumptions about what happened in the keychain, without knowing for sure.
The TIMKeychain now reports the correct errors directly from the keychain.

The following error cases was removed:

  • TIMEncryptedStorageError.failedToStoreInKeychain
  • TIMEncryptedStorageError.failedToLoadDataInKeychain
  • TIMEncryptedStorageError.failedToStoreLongSecretViaBiometric
  • TIMEncryptedStorageError.failedToLoadLongSecretViaBiometric

And was replaced by:

  • TIMEncryptedStorageError.keychainFailed(TIMKeychainError)
public enum TIMKeychainError : Error, LocalizedError {
    /// Failed to store data
    case failedToStoreData

    /// Failed to load data
    case failedToLoadData

    /// Authentication failed for data retrieve (e.g. TouchID/FaceID)
    case authenticationFailedForData
}

1.1.0

17 Feb 19:01
56fd133
Compare
Choose a tag to compare

⚠️ This update contains breaking changes and fixes important security issues!

  • The configure function now takes an encryption method.
  • Previously the framework has used AES ECB (by accident!) instead of CBC, by using a wrong value in a bit mask. This is now fixed.
  • The CBC encryption now uses a random initialization vector instead of null. The IV is stored together with the encrypted data as a combined set of data.
  • TIMEncryptedStorage now supports GCM for iOS 13 and newer. You should always use GCM instead of CBC, but because of the iOS version limitations TIMEncryptedStorage still supports the CBC.

❗❗❗ Data encrypted with previous versions cannot be decrypted with version 1.1.0 due to the above changes!

1.0.0

09 Nov 09:09
Compare
Choose a tag to compare

Initial release 🥳