Function

 avatar
unknown
swift
14 days ago
855 B
13
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