How do I store keychain items securely?

Storing keychain items securely in Swift involves utilizing the Keychain Services API, which provides a way to store sensitive information, such as passwords and user credentials, in an encrypted format. Here’s how you can securely store keychain items using Swift.

Example of Storing Keychain Items Securely

import Security func savePassword(service: String, username: String, password: String) { let passwordData = password.data(using: .utf8)! let query: [String: Any] = [ kSecClass as String: kSecClassGenericPassword, kSecAttrService as String: service, kSecAttrAccount as String: username, kSecValueData as String: passwordData ] SecItemDelete(query as CFDictionary) // Delete any existing items let status = SecItemAdd(query as CFDictionary, nil) if status == errSecSuccess { print("Password saved successfully!") } else { print("Error saving password: \(status)") } } // Usage savePassword(service: "com.example.myapp", username: "user@example.com", password: "mySecurePassword123")

keychain secure storage Swift Keychain Services sensitive information