ACSMDownloader/include/rmsdk/cossl.h
2021-05-13 09:39:51 +02:00

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