#ifndef CMS_PKI_PKCS12_H_INCLUDED
#define  CMS_PKI_PKCS12_H_INCLUDED

#include <iostream>
#include <vector>

#include "pki/ipkcs12.h"
#include "../common/common.h"
#include "../stdafx.h"

#include "pki.h"
#include "../utils/tools.h"

class PKCS12Csp : public IPKCS12 {
public:
	PKCS12Csp();
	PKCS12Csp(CRYPT_DATA_BLOB &cdBlob);
	~PKCS12Csp();

	//Methods
	void read(Handle<std::string> in);
	void write(Handle<std::string> out);

	CRYPT_DATA_BLOB getPkcs12Context();

	Handle<std::string> getProviderName();

protected:
	CRYPT_DATA_BLOB bDataBlob;
};

#endif //!CMS_PKI_PKCS12_H_INCLUDED
