llarp::service::Identity

Public Functions

Name
void RegenerateKeys()
bool BEncode(llarp_buffer_t * buf) const
void EnsureKeys(fs::path fpath, bool needBackup)
bool KeyExchange(path_dh_func dh, SharedSecret & sharedkey, const ServiceInfo & other, const KeyExchangeNonce & N) const
bool DecodeKey(const llarp_buffer_t & key, llarp_buffer_t * buf)
std::optional< EncryptedIntroSet > EncryptAndSignIntroSet(const IntroSet & i, llarp_time_t now) const
bool Sign(Signature & sig, const llarp_buffer_t & buf) const
void Clear()
zero out all secret key members

Public Attributes

Name
SecretKey enckey
SecretKey signkey
PrivateKey derivedSignKey
PQKeyPair pq
uint64_t version
VanityNonce vanity
ServiceInfo pub

Public Functions Documentation

function RegenerateKeys

void RegenerateKeys()

function BEncode

bool BEncode(
    llarp_buffer_t * buf
) const

function EnsureKeys

void EnsureKeys(
    fs::path fpath,
    bool needBackup
)

Parameters:

  • needBackup determines whether existing keys will be cycled

function KeyExchange

bool KeyExchange(
    path_dh_func dh,
    SharedSecret & sharedkey,
    const ServiceInfo & other,
    const KeyExchangeNonce & N
) const

function DecodeKey

bool DecodeKey(
    const llarp_buffer_t & key,
    llarp_buffer_t * buf
)

function EncryptAndSignIntroSet

std::optional< EncryptedIntroSet > EncryptAndSignIntroSet(
    const IntroSet & i,
    llarp_time_t now
) const

function Sign

bool Sign(
    Signature & sig,
    const llarp_buffer_t & buf
) const

function Clear

void Clear()

zero out all secret key members

Public Attributes Documentation

variable enckey

SecretKey enckey;

variable signkey

SecretKey signkey;

variable derivedSignKey

PrivateKey derivedSignKey;

variable pq

PQKeyPair pq;

variable version

uint64_t version = llarp::constants::proto_version;

variable vanity

VanityNonce vanity;

variable pub

ServiceInfo pub;

Updated on 2026-01-10 at 22:49:45 +0000