interface AuthenticationProvider
(source)
Module for securing messages communications. It creates required parameters for peers handshake execution. All session keys information is located here, which are used for message encryption/decryption
abstract fun authenticate(handshakeParams: HandshakeInitParameters): AuthHeader
Creates authentication header to initialize handshake process. As a result it creates an authentication header to include to udp message. |
|
abstract fun finalizeHandshake(senderNodeId: Bytes, authHeader: AuthHeader): Unit
Verifies, that incoming authentication header is valid via decoding authorization response and checking nonce signature. In case if everything is valid, it creates and stores session key |
|
abstract fun findSessionKey(nodeId: String): SessionKey?
Provides session key by node identifier |
|
abstract fun setSessionKey(nodeId: String, sessionKey: SessionKey): Unit
Persists session key by node identifier |
class DefaultAuthenticationProvider : AuthenticationProvider |