devp2p / 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

Creates authentication header to initialize handshake process. As a result it creates an authentication header to include to udp message.

abstract fun authenticate(handshakeParams: HandshakeInitParameters): AuthHeader

finalizeHandshake

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 finalizeHandshake(senderNodeId: Bytes, authHeader: AuthHeader): Unit

findSessionKey

Provides session key by node identifier

abstract fun findSessionKey(nodeId: String): SessionKey?

setSessionKey

Persists session key by node identifier

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

Inheritors

DefaultAuthenticationProvider

class DefaultAuthenticationProvider : AuthenticationProvider