tuweni / org.apache.tuweni.devp2p.v5 / AuthenticationProvider

AuthenticationProvider

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

Functions

authenticate

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.

finalizeHandshake

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

findSessionKey

abstract fun findSessionKey(nodeId: String): SessionKey?

Provides session key by node identifier

setSessionKey

abstract fun setSessionKey(nodeId: String, sessionKey: SessionKey): Unit

Persists session key by node identifier

Inheritors

DefaultAuthenticationProvider

class DefaultAuthenticationProvider : AuthenticationProvider