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.

Security

The SDK uses CryptoKit for all cryptographic operations, ensuring industry-standard security:

Prerequisites

Starting with SDK version 5.37, E2EE functionality is built into the standard IncdOnboarding SDK and no longer requires the OpenSSL framework. No additional setup or separate variant is required.

What Changed

Steps to Enable E2EE in the SDK

1. Set Up a Custom Server for E2EE

Initialize the IncdOnboarding 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 3 months ago