mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-04-28 11:47:48 +02:00
extended identity for local destination
This commit is contained in:
parent
9b8460cffa
commit
2bc1ba1a9c
10 changed files with 59 additions and 40 deletions
28
Identity.cpp
28
Identity.cpp
|
@ -77,6 +77,20 @@ namespace data
|
|||
return *this;
|
||||
}
|
||||
|
||||
IdentityEx& IdentityEx::operator=(const Identity& standard)
|
||||
{
|
||||
m_StandardIdentity = standard;
|
||||
m_IdentHash = m_StandardIdentity.Hash ();
|
||||
|
||||
delete m_Verifier;
|
||||
m_Verifier = nullptr;
|
||||
delete[] m_ExtendedBuffer;
|
||||
m_ExtendedBuffer = nullptr;
|
||||
m_ExtendedLen = 0;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
size_t IdentityEx::FromBuffer (const uint8_t * buf, size_t len)
|
||||
{
|
||||
delete m_Verifier;
|
||||
|
@ -99,7 +113,15 @@ namespace data
|
|||
return GetFullLen ();
|
||||
}
|
||||
|
||||
size_t IdentityEx::GetSigningPublicKeyLen ()
|
||||
size_t IdentityEx::ToBuffer (uint8_t * buf, size_t len) const
|
||||
{
|
||||
memcpy (buf, &m_StandardIdentity, DEFAULT_IDENTITY_SIZE);
|
||||
if (m_ExtendedLen > 0 && m_ExtendedBuffer)
|
||||
memcpy (buf + DEFAULT_IDENTITY_SIZE, m_ExtendedBuffer, m_ExtendedLen);
|
||||
return GetFullLen ();
|
||||
}
|
||||
|
||||
size_t IdentityEx::GetSigningPublicKeyLen () const
|
||||
{
|
||||
if (!m_Verifier)
|
||||
CreateVerifier ();
|
||||
|
@ -108,7 +130,7 @@ namespace data
|
|||
return 128;
|
||||
}
|
||||
|
||||
size_t IdentityEx::GetSignatureLen ()
|
||||
size_t IdentityEx::GetSignatureLen () const
|
||||
{
|
||||
if (!m_Verifier)
|
||||
CreateVerifier ();
|
||||
|
@ -125,7 +147,7 @@ namespace data
|
|||
return false;
|
||||
}
|
||||
|
||||
void IdentityEx::CreateVerifier ()
|
||||
void IdentityEx::CreateVerifier () const
|
||||
{
|
||||
switch (m_StandardIdentity.certificate.type)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue