Ende-zu-Ende-Verschlüsselung
Dieses Thema enthält Informationen zur Verwendung der End-to-End-Verschlüsselung im Vonage Video-Client SDK für React Native:
Einen Überblick über die End-to-End-Verschlüsselung finden Sie unter dieses Thema.
Festlegen des Verschlüsselungsschlüssels
End-to-End-verschlüsselte Sitzungen werden mithilfe von Server-APIs erstellt (siehe Aktivieren der Verschlüsselung über die REST-API). Damit ein React Native-Client einer Ende-zu-Ende-verschlüsselten Sitzung beitritt, setzen Sie die encryptionSecret Stütze des OTSession Komponente:
<OTSession
apiKey="api-key"
sessionId="session-id"
token="token"
encryptionSecret="initial-encryption-secret"
>
<OTPublisher />
<OTSubscriber />
</OTSession>
Ein gültiges Geheimnis ist eine Zeichenfolge zwischen 8 und 256 Zeichen.
Sie können das Geheimnis ändern, indem Sie die Einstellung encryptionSecret prop auf eine Eigenschaft des React-Zustands und ändert ihren Wert:
<OTSession
apiKey="api-key"
sessionId="session-id"
token="token"
encryptionSecret={this.state.encryptionSecret}>
>
<OTPublisher />
<OTSubscriber />
</OTSession>
Ereignisse und Fehler
Ereignisse und Fehler sind wesentlich für die Verwaltung des benutzergesteuerten Verschlüsselungsverhaltens. Bei der Ende-zu-Ende-Verschlüsselung wird das Modell des gemeinsamen Geheimnisses verwendet: Es wird erwartet, dass alle Teilnehmer der Sitzung dasselbe Geheimnis verwenden, um ihre Medien zu verschlüsseln und die der anderen zu entschlüsseln.
Der OTSubscriber error() wird aufgerufen, wenn der Abonnent die Medien eines Streams aufgrund eines nicht übereinstimmenden (oder nicht gesetzten) Verschlüsselungsgeheimnisses nicht entschlüsseln kann:
<OTSubscriber
eventHandlers={{
error: event => {
// Show UI notification.
},
}}
>
Die OTSession error() Der Callback des Ereignishandlers wird aufgerufen, wenn der Client versucht, eine Verbindung zu einer durchgängig verschlüsselten Sitzung herzustellen, die mit einem ungültigen Verschlüsselungsgeheimnis (oder ohne Angabe eines Verschlüsselungsgeheimnisses) initialisiert wurde. Ein gültiger Schlüssel ist eine Zeichenkette mit einer Länge zwischen 8 und 256 Zeichen. Um eine optimale Benutzererfahrung zu gewährleisten, sollte die Anwendung einen ungültigen, vom Benutzer angegebenen Schlüssel abfangen, bevor die `OTSession` gesetzt wird. encryptionSecret prop. Im folgenden Beispiel wird eine Sitzung mit einem leeren (und somit ungültigen) Geheimnis initialisiert, was beim Verbindungsversuch zu einem Fehler führt:
<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>