LibreOffice Module oox (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
oox::crypto::AgileEngine Class Referencefinal

#include <AgileEngine.hxx>

Inheritance diagram for oox::crypto::AgileEngine:
[legend]
Collaboration diagram for oox::crypto::AgileEngine:
[legend]

Public Member Functions

 AgileEngine ()
 
AgileEncryptionInfogetInfo ()
 
void setPreset (AgileEncryptionPreset ePreset)
 
void decryptEncryptionKey (OUString const &rPassword)
 
bool decryptAndCheckVerifierHash (OUString const &rPassword)
 
bool generateEncryptionKey (OUString const &rPassword) override
 
bool readEncryptionInfo (css::uno::Reference< css::io::XInputStream > &rxInputStream) override
 
bool decrypt (BinaryXInputStream &aInputStream, BinaryXOutputStream &aOutputStream) override
 
bool checkDataIntegrity () override
 
bool decryptHmacKey ()
 
bool decryptHmacValue ()
 
void writeEncryptionInfo (BinaryXOutputStream &rStream) override
 
void encrypt (const css::uno::Reference< css::io::XInputStream > &rxInputStream, css::uno::Reference< css::io::XOutputStream > &rxOutputStream, sal_uInt32 nSize) override
 
bool setupEncryption (OUString const &rPassword) override
 
bool generateAndEncryptVerifierHash (OUString const &rPassword)
 
bool encryptHmacKey ()
 
bool encryptHmacValue ()
 
bool encryptEncryptionKey (OUString const &rPassword)
 
void setupEncryptionParameters (AgileEncryptionParameters const &rAgileEncryptionParameters)
 
bool setupEncryptionKey (OUString const &rPassword)
 
- Public Member Functions inherited from oox::crypto::CryptoEngine
 CryptoEngine ()
 
virtual ~CryptoEngine ()
 
virtual bool readEncryptionInfo (css::uno::Reference< css::io::XInputStream > &rxInputStream)=0
 
virtual bool generateEncryptionKey (const OUString &rPassword)=0
 
virtual bool decrypt (BinaryXInputStream &aInputStream, BinaryXOutputStream &aOutputStream)=0
 
virtual void writeEncryptionInfo (BinaryXOutputStream &rStream)=0
 
virtual bool setupEncryption (const OUString &rPassword)=0
 
virtual void encrypt (const css::uno::Reference< css::io::XInputStream > &rxInputStream, css::uno::Reference< css::io::XOutputStream > &rxOutputStream, sal_uInt32 nSize)=0
 
virtual bool checkDataIntegrity ()=0
 

Private Member Functions

void calculateHashFinal (const OUString &rPassword, std::vector< sal_uInt8 > &aHashFinal)
 
void calculateBlock (std::vector< sal_uInt8 > const &rBlock, std::vector< sal_uInt8 > &rHashFinal, std::vector< sal_uInt8 > &rInput, std::vector< sal_uInt8 > &rOutput)
 
void encryptBlock (std::vector< sal_uInt8 > const &rBlock, std::vector< sal_uInt8 > &rHashFinal, std::vector< sal_uInt8 > &rInput, std::vector< sal_uInt8 > &rOutput)
 

Static Private Member Functions

static Crypto::CryptoType cryptoType (const AgileEncryptionInfo &rInfo)
 

Private Attributes

AgileEncryptionInfo mInfo
 
AgileEncryptionPreset meEncryptionPreset
 

Additional Inherited Members

- Protected Attributes inherited from oox::crypto::CryptoEngine
std::vector< sal_uInt8mKey
 

Detailed Description

Definition at line 76 of file AgileEngine.hxx.

Constructor & Destructor Documentation

◆ AgileEngine()

oox::crypto::AgileEngine::AgileEngine ( )

Definition at line 227 of file AgileEngine.cxx.

References oox::crypto::AES_256_SHA512.

Member Function Documentation

◆ calculateBlock()

void oox::crypto::AgileEngine::calculateBlock ( std::vector< sal_uInt8 > const &  rBlock,
std::vector< sal_uInt8 > &  rHashFinal,
std::vector< sal_uInt8 > &  rInput,
std::vector< sal_uInt8 > &  rOutput 
)
private

◆ calculateHashFinal()

void oox::crypto::AgileEngine::calculateHashFinal ( const OUString &  rPassword,
std::vector< sal_uInt8 > &  aHashFinal 
)
private

◆ checkDataIntegrity()

bool oox::crypto::AgileEngine::checkDataIntegrity ( )
overridevirtual

◆ cryptoType()

Crypto::CryptoType oox::crypto::AgileEngine::cryptoType ( const AgileEncryptionInfo rInfo)
staticprivate

◆ decrypt()

bool oox::crypto::AgileEngine::decrypt ( BinaryXInputStream aInputStream,
BinaryXOutputStream aOutputStream 
)
overridevirtual

◆ decryptAndCheckVerifierHash()

bool oox::crypto::AgileEngine::decryptAndCheckVerifierHash ( OUString const &  rPassword)

◆ decryptEncryptionKey()

void oox::crypto::AgileEngine::decryptEncryptionKey ( OUString const &  rPassword)

◆ decryptHmacKey()

bool oox::crypto::AgileEngine::decryptHmacKey ( )

◆ decryptHmacValue()

bool oox::crypto::AgileEngine::decryptHmacValue ( )

◆ encrypt()

void oox::crypto::AgileEngine::encrypt ( const css::uno::Reference< css::io::XInputStream > &  rxInputStream,
css::uno::Reference< css::io::XOutputStream > &  rxOutputStream,
sal_uInt32  nSize 
)
overridevirtual

◆ encryptBlock()

void oox::crypto::AgileEngine::encryptBlock ( std::vector< sal_uInt8 > const &  rBlock,
std::vector< sal_uInt8 > &  rHashFinal,
std::vector< sal_uInt8 > &  rInput,
std::vector< sal_uInt8 > &  rOutput 
)
private

◆ encryptEncryptionKey()

bool oox::crypto::AgileEngine::encryptEncryptionKey ( OUString const &  rPassword)

◆ encryptHmacKey()

bool oox::crypto::AgileEngine::encryptHmacKey ( )

◆ encryptHmacValue()

bool oox::crypto::AgileEngine::encryptHmacValue ( )

◆ generateAndEncryptVerifierHash()

bool oox::crypto::AgileEngine::generateAndEncryptVerifierHash ( OUString const &  rPassword)

◆ generateEncryptionKey()

bool oox::crypto::AgileEngine::generateEncryptionKey ( OUString const &  rPassword)
overridevirtual

◆ getInfo()

AgileEncryptionInfo & oox::crypto::AgileEngine::getInfo ( )
inline

Definition at line 101 of file AgileEngine.hxx.

References mInfo.

◆ readEncryptionInfo()

bool oox::crypto::AgileEngine::readEncryptionInfo ( css::uno::Reference< css::io::XInputStream > &  rxInputStream)
overridevirtual

◆ setPreset()

void oox::crypto::AgileEngine::setPreset ( AgileEncryptionPreset  ePreset)
inline

Definition at line 103 of file AgileEngine.hxx.

◆ setupEncryption()

bool oox::crypto::AgileEngine::setupEncryption ( OUString const &  rPassword)
overridevirtual

◆ setupEncryptionKey()

bool oox::crypto::AgileEngine::setupEncryptionKey ( OUString const &  rPassword)

◆ setupEncryptionParameters()

void oox::crypto::AgileEngine::setupEncryptionParameters ( AgileEncryptionParameters const &  rAgileEncryptionParameters)

◆ writeEncryptionInfo()

void oox::crypto::AgileEngine::writeEncryptionInfo ( BinaryXOutputStream rStream)
overridevirtual

Member Data Documentation

◆ meEncryptionPreset

AgileEncryptionPreset oox::crypto::AgileEngine::meEncryptionPreset
private

Definition at line 80 of file AgileEngine.hxx.

Referenced by setupEncryption().

◆ mInfo

AgileEncryptionInfo oox::crypto::AgileEngine::mInfo
private

The documentation for this class was generated from the following files: