Released iOS SDK 3.22
We have released version 3.22 of our SDK for iOS.
Added
Device groups
Added support for the device groups feature.
For configuration details, see the Device groups documentation.
Missing authentication method error code
Added error code serverErrorMissingAuthMethod, which indicates that the authentication method required for the operation is missing.
Changed
Secure credential handling
Changed the activation and authentication APIs to support secure credential handling for Payment Services Directive 2 (PSD2) compliance.
PIN, activation code and recovery code parameters now require NSMutableString instead of String or NSString. This enforces credential handling that allows for secure memory overwriting immediately after use.
The following parameters now accept NSMutableString:
AuthMethod.pin(value:)startActivationWithCode(_:)RecoveryMethod.backupRecoveryCode(_:)
Passing a Swift String or NSString literal to these parameters results in a compiler error after upgrading.
For migration guidance, data classification and memory management, see the Security best practices documentation.
Encryption algorithms and keys
Improved security for compliance with NSM/NIST:
- End-to-end encryption algorithms changed to X25519 and AES-GCM.
- Increased salt encryption key length to 32 and changed algorithm to AES-CTR.
Old elliptic curve keys do not work with the 3.22 API. Set the publicKey property of EncapConfig to the X25519 public key.
Removed
Offline authentication
Removed the offline authentication feature.
Offline authentication error codes
Removed error codes:
clientErrorOfflineVersionNotSupportedclientErrorOfflineParsingFailedserverErrorClientOnlyDisallowed