E2EE iOS SDK Integration Guide
E2EE iOS SDK Integration Guide
Overview of E2EE
End-to-End Encryption (E2EE) adds an extra layer of security to your communications by encrypting the data transmitted between the server and client. The process begins with a key exchange where the client and server share keys for encrypting and decrypting messages. This exchange acts like a handshake and ensures that all subsequent communications are encrypted. Only the intended server and client are able to decrypt the messages.
Prerequisites
- IncdOnboarding variant including "-e2ee", eg. version "5.23.0-s-e2ee"
Integration
- If integrating through Cocoapods then no further actions are required.
- If manually integrating:
AddOpenSSL.xcframework
to your project (should be Embedded & signed).
In build settings for keyLD_RUNPATH_SEARCH_PATHS
add path@executable_path/Frameworks
.
Steps to Enable E2EE in the SDK
1. Set Up a Custom Server for E2EE
Initialize the Welcome SDK with a custom API URL for E2EE as follows:
IncdOnboardingManager.shared.initIncdOnboarding(
url: url, // URL for regular non-encrypted API requests
e2eeURL: e2eeURL // URL for E2EE API requests
apiKey: apiKey)
2. Enable E2EE via IncdOnboardingSessionConfiguration:
let sessionConfig = IncdOnboardingSessionConfiguration(e2eEncryptionEnabled: true, ...)
3. Start Onboarding
Start Onboarding with the configuration created at the previous step.
Updated about 1 month ago