Function

Anonymous
swift
03/12/2025 1:00 PM
1.1 KB
36
Indexable
    private func encrypted(_ request: URLRequest) -> URLRequest {
        guard let publicKeyBase64 = keychainStorage.restoreServerPublicKey()?.publicKeyBase64,
              let publicKey = SecKey.makePublicKey(from: publicKeyBase64),
              let message = request.httpBody else {
            Logger.error("Couldn't encrypt reqest")
            return request
        }

        let encryptor = DefaultEncryptor(publicKey: publicKey)
        guard let encrypted = encryptor.encrypt(message: message) else {
            Logger.error("Couldn't encrypt reqest")
            return request
        }

        var request = request
        request.configure(.xEncryptionKey(encrypted.header.base64EncodedString()))
        request.configure(.contentType(MimeType.Application.json))
        request.httpBody = encrypted.data

        return request
    }
Editor is loading...
Leave a Comment