62 lines
1.5 KiB
C++
62 lines
1.5 KiB
C++
|
|
#include "../../include/cipher/XCryptoPublicKey.h"
|
|
|
|
|
|
XCryptoPublicKey::XCryptoPublicKey()
|
|
{
|
|
}
|
|
|
|
XCryptoPublicKey::~XCryptoPublicKey()
|
|
{
|
|
}
|
|
|
|
bool XCryptoPublicKey::GeneratePublicKey()
|
|
{
|
|
if( m_Local.Initialize() == false )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool XCryptoPublicKey::SetRemotePublicKey( const void* pKey, size_t nSize )
|
|
{
|
|
if( m_Remote.Initialize( pKey, nSize ) == false )
|
|
{
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
bool XCryptoPublicKey::GetLocalPublicKey( void* pBuff, size_t nBuffSize, size_t* pKeySize ) const
|
|
{
|
|
return m_Local.GetPublicKey( pBuff, nBuffSize, pKeySize );
|
|
}
|
|
|
|
bool XCryptoPublicKey::SetSecretKey( const XAES_128_CBC_KEY& Key )
|
|
{
|
|
return m_AES.Initialize( Key );
|
|
}
|
|
|
|
bool XCryptoPublicKey::EncryptForRemote( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize )
|
|
{
|
|
return m_Remote.EncryptbyPublicKey( pSrc, nSrcSize, pDest, nDestSize, pEnSize );
|
|
}
|
|
|
|
bool XCryptoPublicKey::DecryptForLocal( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize )
|
|
{
|
|
return m_Local.DecryptbyPrivateKey( pSrc, nSrcSize, pDest, nDestSize, pDeSize );
|
|
}
|
|
|
|
bool XCryptoPublicKey::EncryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pEnSize )
|
|
{
|
|
return m_AES.Encrypt( pSrc, nSrcSize, pDest, nDestSize, pEnSize );
|
|
}
|
|
|
|
bool XCryptoPublicKey::DecryptForSecret( const void* pSrc, size_t nSrcSize, void* pDest, size_t nDestSize, size_t* pDeSize )
|
|
{
|
|
return m_AES.Decrypt( pSrc, nSrcSize, pDest, nDestSize, pDeSize );
|
|
}
|