Setting the encryption secret

Las sesiones cifradas de extremo a extremo se crean mediante las API del servidor (véase Activación del cifrado mediante la función API REST).

Antes de que el cliente publique o se suscriba, llame a la función [OTSession setEncryptionSecret:error:] método:

Un secreto válido es una cadena de entre 8 y 256 caracteres. Puede cambiar el secreto llamando a la función Session.setEncryptionSecret() método de nuevo.

Si se introduce un secreto no válido, se producirá un error InvalidEncryptionSecret error.

Events and errors

Los eventos y errores son esenciales para gestionar el comportamiento del cifrado dirigido por el usuario. El cifrado de extremo a extremo utiliza el modelo de secreto compartido: se espera que todos los participantes en la sesión utilicen el mismo secreto para cifrar sus medios y descifrar los de los demás.

Si el cliente intenta conectarse a una sesión cifrada de extremo a extremo y no establece el secreto de cifrado antes de conectarse, se producirá un error con el código establecido en EncryptionSecretMissing:

Si un usuario intenta publicar en una sesión cifrada de extremo a extremo sin haber especificado un secreto de cifrado, al llamar a la función [OTSession publish:error:] produce un error cuyo código es OTPublisherEncryptionSecretMissing. Para obtener la mejor experiencia de usuario, la aplicación debe validar un secreto proporcionado por el usuario antes de publicarlo:

Si un abonado no puede descodificar los medios de un flujo debido a un secreto de cifrado incorrecto, el [OTSubscriberKitDelegate subscriber:didFailWithError:] con un error cuyo código es ErrorCode.EncryptionSecretMismatch. Es importante comunicar al usuario que el contenido multimedia no se recibe debido a un error de cifrado y no a un fallo de conexión o a un problema de audio/vídeo:

Si un abonado encuentra un error interno al descifrar un paquete, el [OTSubscriberKitDelegate subscriber:didFailWithError:] con un error cuyo código es OTSubscriberDecryptionInternalError.