144 lines
3.6 KiB
C++
144 lines
3.6 KiB
C++
/*
|
|
File automatically generated by SOAdvancedDissector.py
|
|
More information at http://indefero.soutade.fr/p/soadvanceddissector
|
|
*/
|
|
|
|
#ifndef _DPCRYPT_H
|
|
#define _DPCRYPT_H
|
|
|
|
#include <dp.h>
|
|
|
|
|
|
namespace dpcrypt {
|
|
|
|
class Certificate;
|
|
class CryptProvider;
|
|
class Cryptor;
|
|
class Hash;
|
|
class Identity;
|
|
class Key;
|
|
class KeyPair;
|
|
class Role;
|
|
class StreamCryptor;
|
|
|
|
|
|
class Certificate: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~Certificate();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void getCommonName() = 0;
|
|
virtual void getPublicKey() = 0;
|
|
virtual void serialize() = 0;
|
|
virtual void isValidForRole(int) = 0;
|
|
|
|
};
|
|
|
|
class CryptProvider: public dp::Unknown
|
|
{
|
|
public:
|
|
virtual ~CryptProvider();
|
|
virtual void* getInterfaceID();
|
|
virtual void getRandomBytes(unsigned int) = 0;
|
|
virtual void createHash(int) = 0;
|
|
virtual void createKey(int, int, dp::Data const&) = 0;
|
|
virtual void generateKey(int) = 0;
|
|
virtual void generateKeyPair(int, dpcrypt::KeyPair*) = 0;
|
|
virtual void createCryptor(int) = 0;
|
|
virtual void createStreamCryptor(int) = 0;
|
|
virtual void createCertificate(dp::Data const&) = 0;
|
|
virtual void createIdentity(dp::Data const&, dp::String const&) = 0;
|
|
virtual void changePKCS12Password(dp::Data const&, dp::String const&, dp::String const&) = 0;
|
|
|
|
void getProvider();
|
|
void setProvider(dpcrypt::CryptProvider*);
|
|
|
|
};
|
|
|
|
class Cryptor: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~Cryptor();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void encrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&) = 0;
|
|
virtual void encrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&, dp::Data const&, bool) = 0;
|
|
virtual void decrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&) = 0;
|
|
virtual void decrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&, dp::Data const&) = 0;
|
|
|
|
};
|
|
|
|
class Hash: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~Hash();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void update(dp::Data const&) = 0;
|
|
virtual void finalize() = 0;
|
|
|
|
};
|
|
|
|
class Identity: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~Identity();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void getEECert() = 0;
|
|
virtual void getPrivateKey() = 0;
|
|
|
|
};
|
|
|
|
class Key: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~Key();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void getKeyBitSize() = 0;
|
|
virtual void getKeyType() = 0;
|
|
virtual void serialize() = 0;
|
|
|
|
};
|
|
|
|
class KeyPair
|
|
{
|
|
public:
|
|
KeyPair();
|
|
|
|
~KeyPair();
|
|
|
|
};
|
|
|
|
class Role
|
|
{
|
|
public:
|
|
};
|
|
|
|
class StreamCryptor: public dp::RefCounted
|
|
{
|
|
public:
|
|
virtual ~StreamCryptor();
|
|
virtual void* getInterfaceID();
|
|
virtual void addRef() = 0;
|
|
virtual void release() = 0;
|
|
virtual void initDecrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&) = 0;
|
|
virtual void decrypt(unsigned char const*, unsigned int, unsigned int*, unsigned char*, unsigned int) = 0;
|
|
virtual void finalize(unsigned char*, unsigned int) = 0;
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // _DPCRYPT_H
|