Criptografia de ponta a ponta
Este tópico traz detalhes sobre como usar a criptografia de ponta a ponta no Client SDK do cliente Vonage Video para React Native:
Para obter uma visão geral da criptografia de ponta a ponta, consulte esse assunto.
Configurando o segredo de criptografia
As sessões com criptografia de ponta a ponta são criadas por meio de APIs do servidor (consulte Ativando a criptografia por meio da API REST). Para que um cliente React Native participe de uma sessão com criptografia de ponta a ponta, defina o encryptionSecret adereço do OTSession componente:
<OTSession
apiKey="api-key"
sessionId="session-id"
token="token"
encryptionSecret="initial-encryption-secret"
>
<OTPublisher />
<OTSubscriber />
</OTSession>
Um segredo válido é uma sequência de caracteres com comprimento entre 8 e 256 caracteres.
Você pode alterar o segredo definindo o encryptionSecret atribuir um valor a uma propriedade do estado do React e alterar esse valor:
<OTSession
apiKey="api-key"
sessionId="session-id"
token="token"
encryptionSecret={this.state.encryptionSecret}>
>
<OTPublisher />
<OTSubscriber />
</OTSession>
Eventos e erros
Eventos e erros são essenciais para gerenciar o comportamento da criptografia orientada pelo usuário. A criptografia de ponta a ponta utiliza o modelo de segredo compartilhado: espera-se que todos os participantes da sessão utilizem o mesmo segredo para criptografar seus dados e descriptografar os dados dos demais participantes.
O OTSubscriber error() A função de retorno do manipulador de eventos é invocada quando o assinante não consegue decodificar a mídia de um fluxo devido a um segredo de criptografia incompatível (ou não definido):
<OTSubscriber
eventHandlers={{
error: event => {
// Show UI notification.
},
}}
>
A OTSession error() O callback do manipulador de eventos é acionado se o cliente tentar se conectar a uma sessão criptografada de ponta a ponta que tenha sido inicializada com um segredo de criptografia inválido (ou sem a especificação de um segredo de criptografia). Um segredo válido é uma sequência de caracteres com 8 a 256 caracteres. Para garantir a melhor experiência do usuário, o aplicativo deve detectar um segredo inválido fornecido pelo usuário antes de definir a OTSession encryptionSecret prop. No exemplo a seguir, uma sessão é inicializada com um segredo vazio (e, portanto, inválido), o que gera um erro ao tentar se conectar:
<OTSession
apiKey="api-key"
sessionId="session-id"
token="token"
encryptionSecret=""
eventHanders={{
error: event => {
// An error event is dispatched if you set an invalid encryption secret
}
}}
>
<OTPublisher />
<OTSubscriber />
</OTSession>