184 lines
5.0 KiB
C++
184 lines
5.0 KiB
C++
/*
|
|
File automatically generated by SOAdvancedDissector.py
|
|
More information at http://indefero.soutade.fr/p/soadvanceddissector
|
|
*/
|
|
|
|
#ifndef _COSSL_H
|
|
#define _COSSL_H
|
|
|
|
#include <dpcrypt.h>
|
|
#include <dp.h>
|
|
|
|
|
|
namespace cossl {
|
|
|
|
class AESStreamCryptorImpl;
|
|
class AES128StreamCryptorImpl;
|
|
class AES256StreamCryptorImpl;
|
|
class CertificateImpl;
|
|
class CryptProviderImpl;
|
|
class CryptorImpl;
|
|
class IdentityImpl;
|
|
class RSAKeyImpl;
|
|
class SHA1HashImpl;
|
|
class SymKeyImpl;
|
|
|
|
|
|
class AESStreamCryptorImpl: public dpcrypt::StreamCryptor
|
|
{
|
|
public:
|
|
virtual ~AESStreamCryptorImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void initDecrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&);
|
|
virtual void decrypt(unsigned char const*, unsigned int, unsigned int*, unsigned char*, unsigned int);
|
|
virtual void finalize(unsigned char*, unsigned int);
|
|
virtual void setKeyLength() = 0;
|
|
|
|
};
|
|
|
|
class AES128StreamCryptorImpl: public cossl::AESStreamCryptorImpl
|
|
{
|
|
public:
|
|
AES128StreamCryptorImpl();
|
|
|
|
virtual ~AES128StreamCryptorImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void initDecrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&);
|
|
virtual void decrypt(unsigned char const*, unsigned int, unsigned int*, unsigned char*, unsigned int);
|
|
virtual void finalize(unsigned char*, unsigned int);
|
|
virtual void setKeyLength();
|
|
|
|
};
|
|
|
|
class AES256StreamCryptorImpl: public cossl::AESStreamCryptorImpl
|
|
{
|
|
public:
|
|
AES256StreamCryptorImpl();
|
|
|
|
virtual ~AES256StreamCryptorImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void initDecrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&);
|
|
virtual void decrypt(unsigned char const*, unsigned int, unsigned int*, unsigned char*, unsigned int);
|
|
virtual void finalize(unsigned char*, unsigned int);
|
|
virtual void setKeyLength();
|
|
|
|
};
|
|
|
|
class CertificateImpl: public dpcrypt::Certificate
|
|
{
|
|
public:
|
|
CertificateImpl(dp::Data const&);
|
|
CertificateImpl(x509_st*);
|
|
|
|
virtual ~CertificateImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void getCommonName();
|
|
virtual void getPublicKey();
|
|
virtual void serialize();
|
|
virtual void isValidForRole(int);
|
|
|
|
};
|
|
|
|
class CryptProviderImpl: public dpcrypt::CryptProvider
|
|
{
|
|
public:
|
|
CryptProviderImpl();
|
|
|
|
virtual ~CryptProviderImpl();
|
|
virtual void getRandomBytes(unsigned int);
|
|
virtual void createHash(int);
|
|
virtual void createKey(int, int, dp::Data const&);
|
|
virtual void generateKey(int);
|
|
virtual void generateKeyPair(int, dpcrypt::KeyPair*);
|
|
virtual void createCryptor(int);
|
|
virtual void createStreamCryptor(int);
|
|
virtual void createCertificate(dp::Data const&);
|
|
virtual void createIdentity(dp::Data const&, dp::String const&);
|
|
virtual void changePKCS12Password(dp::Data const&, dp::String const&, dp::String const&);
|
|
|
|
void getInstance();
|
|
|
|
};
|
|
|
|
class CryptorImpl: public dpcrypt::Cryptor
|
|
{
|
|
public:
|
|
CryptorImpl();
|
|
|
|
virtual ~CryptorImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void encrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&);
|
|
virtual void encrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&, dp::Data const&, bool);
|
|
virtual void decrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&);
|
|
virtual void decrypt(dp::ref<dpcrypt::Key> const&, dp::Data const&, dp::Data const&);
|
|
|
|
};
|
|
|
|
class IdentityImpl: public dpcrypt::Identity
|
|
{
|
|
public:
|
|
IdentityImpl(dp::Data const&, dp::String const&);
|
|
|
|
virtual ~IdentityImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void getEECert();
|
|
virtual void getPrivateKey();
|
|
|
|
void changePKCS12Password(dp::Data const&, dp::String const&, dp::String const&);
|
|
|
|
};
|
|
|
|
class RSAKeyImpl: public dpcrypt::Key
|
|
{
|
|
public:
|
|
RSAKeyImpl(int, dp::Data const&);
|
|
RSAKeyImpl(int, rsa_st*);
|
|
|
|
virtual ~RSAKeyImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void getKeyBitSize();
|
|
virtual void getKeyType();
|
|
virtual void serialize();
|
|
|
|
};
|
|
|
|
class SHA1HashImpl: public dpcrypt::Hash
|
|
{
|
|
public:
|
|
SHA1HashImpl();
|
|
|
|
virtual ~SHA1HashImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void update(dp::Data const&);
|
|
virtual void finalize();
|
|
|
|
};
|
|
|
|
class SymKeyImpl: public dpcrypt::Key
|
|
{
|
|
public:
|
|
SymKeyImpl(dp::Data const&);
|
|
|
|
virtual ~SymKeyImpl();
|
|
virtual void addRef();
|
|
virtual void release();
|
|
virtual void getKeyBitSize();
|
|
virtual void getKeyType();
|
|
virtual void serialize();
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // _COSSL_H
|